summaryrefslogtreecommitdiff
path: root/apct-tests/perftests/core
AgeCommit message (Collapse)Author
2021-05-14Add perf test for SystemFonts.getAvailableFontsSeigo Nonaka
Bug: 188201287 Test: atest SystemFontsPerfTest Change-Id: Id08a53e980a012a682e95e7b41d363aae31c1232
2021-05-05Use internal lock for ResourcesManagerPatrik Torstensson
- Create a new package private method for applyNewResourceDirs that takes the lock internally in the resources manager class - Move all locking to use the internal lock object Bug: 186411938 Test: on device and local build Change-Id: Idb49c76ceca51ed656fd47b82fad0afca1b2740b
2021-04-21Update test font name in TypefaceCreatePerfTestSeigo Nonaka
Bug: 185549642 Test: atest TypefaceCreatePerfTest Change-Id: I3f0bdfe3553f6c7835c158c9e3766462709181e1
2021-04-15Update native font API to read updated font files.Seigo Nonaka
Bug: 184974821 Test: atest NativeSystemFontTest Change-Id: Ia7fdf6155e07445d7f16edb88fd2a7293e63080c
2021-04-01Fix parallelNoCache perf testPatrick Baumann
This change catches exceptions while parsing and ensures that we add something to the queue being analyzed, else we block until timeout for each failure for each iteration leading to test timeouts on devices with APKs that won't parse (some for expected reasons). Fixes: 179430570 Test: atest PackageParsingPerfTest Change-Id: I5287c48a8fa54cd44cf8b7433f8bb2536a3743b3
2021-03-03Update test font file nameSeigo Nonaka
Bug: 181724588 Test: atest TypefaceCreatePerfTest Change-Id: I9ce6fc3e171214a0177ee2579a0004e167b62ba5
2021-02-26Swallow parsing errors in parsing perf testsPatrick Baumann
This change swallows expected exceptions such as ignored overlays in the package parsing perf tests. Test: atest PackageParsingPerfTest Fixes: 179430570 Fixes: 179430077 Change-Id: Iab09d5b8ae426f2208e1fad1987dd811ab911fa6
2021-02-21[LSC] Add LOCAL_LICENSE_KINDS to frameworks/baseBob Badour
Added SPDX-license-identifier-Apache-2.0 to: apct-tests/perftests/autofill/Android.bp apct-tests/perftests/blobstore/Android.bp apct-tests/perftests/core/Android.bp apct-tests/perftests/core/apps/overlay/Android.bp apct-tests/perftests/core/apps/reources_manager/Android.bp apct-tests/perftests/core/jni/Android.bp apct-tests/perftests/multiuser/Android.bp apct-tests/perftests/multiuser/apps/dummyapp/Android.bp apct-tests/perftests/packagemanager/Android.bp apct-tests/perftests/packagemanager/apps/query-all/Android.bp apct-tests/perftests/textclassifier/Android.bp apct-tests/perftests/utils/Android.bp apct-tests/perftests/windowmanager/Android.bp apex/Android.bp apex/blobstore/framework/Android.bp apex/blobstore/service/Android.bp apex/jobscheduler/framework/Android.bp apex/jobscheduler/service/Android.bp apex/media/Android.bp apex/media/aidl/Android.bp apex/media/framework/Android.bp cmds/am/Android.bp cmds/app_process/Android.bp cmds/appops/Android.bp cmds/appwidget/Android.bp cmds/backup/Android.bp cmds/bmgr/Android.bp cmds/bootanimation/Android.bp cmds/bu/Android.bp cmds/content/Android.bp cmds/dpm/Android.bp cmds/hid/Android.bp cmds/hid/jni/Android.bp cmds/idmap2/Android.bp cmds/ime/Android.bp cmds/incident/Android.bp cmds/incident_helper/Android.bp cmds/incidentd/Android.bp cmds/input/Android.bp cmds/interrupter/Android.bp cmds/locksettings/Android.bp cmds/pm/Android.bp cmds/requestsync/Android.bp cmds/screencap/Android.bp cmds/sm/Android.bp cmds/svc/Android.bp cmds/telecom/Android.bp cmds/uiautomator/Android.bp cmds/uiautomator/cmds/uiautomator/Android.bp cmds/uiautomator/instrumentation/Android.bp cmds/uiautomator/library/Android.bp cmds/vr/Android.bp cmds/wm/Android.bp config/Android.bp core/java/android/service/wallpaper/Android.bp core/jni/Android.bp core/sysprop/Android.bp core/tests/BroadcastRadioTests/Android.bp core/tests/ConnectivityManagerTest/Android.bp core/tests/PackageInstallerSessions/Android.bp core/tests/PlatformCompatFramework/Android.bp core/tests/bandwidthtests/Android.bp core/tests/benchmarks/Android.bp core/tests/bluetoothtests/Android.bp core/tests/bugreports/Android.bp core/tests/coretests/Android.bp core/tests/coretests/BinderDeathRecipientHelperApp/Android.bp core/tests/coretests/BinderProxyCountingTestApp/Android.bp core/tests/coretests/BinderProxyCountingTestService/Android.bp core/tests/coretests/BstatsTestApp/Android.bp core/tests/coretests/DisabledTestApp/Android.bp core/tests/coretests/EnabledTestApp/Android.bp core/tests/coretests/aidl/Android.bp core/tests/coretests/apks/Android.bp core/tests/coretests/apks/install/Android.bp core/tests/coretests/apks/install_bad_dex/Android.bp core/tests/coretests/apks/install_complete_package_info/Android.bp core/tests/coretests/apks/install_decl_perm/Android.bp core/tests/coretests/apks/install_jni_lib/Android.bp core/tests/coretests/apks/install_jni_lib_open_from_apk/Android.bp core/tests/coretests/apks/install_loc_auto/Android.bp core/tests/coretests/apks/install_loc_internal/Android.bp core/tests/coretests/apks/install_loc_sdcard/Android.bp core/tests/coretests/apks/install_loc_unspecified/Android.bp core/tests/coretests/apks/install_use_perm_good/Android.bp core/tests/coretests/apks/install_uses_feature/Android.bp core/tests/coretests/apks/install_verifier_bad/Android.bp core/tests/coretests/apks/install_verifier_good/Android.bp core/tests/coretests/apks/keyset/Android.bp core/tests/coretests/apks/locales/Android.bp core/tests/coretests/apks/overlay_config/Android.bp core/tests/coretests/apks/version/Android.bp core/tests/coretests/apks/version_nosys/Android.bp core/tests/featureflagtests/Android.bp core/tests/hdmitests/Android.bp core/tests/hosttests/test-apps/AutoLocTestApp/Android.bp core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v1/Android.bp core/tests/hosttests/test-apps/AutoLocVersionedTestApp_v2/Android.bp core/tests/hosttests/test-apps/ExternalLocAllPermsTestApp/Android.bp core/tests/hosttests/test-apps/ExternalLocPermsFLTestApp/Android.bp core/tests/hosttests/test-apps/ExternalLocTestApp/Android.bp core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v1/Android.bp core/tests/hosttests/test-apps/ExternalLocVersionedTestApp_v2/Android.bp core/tests/hosttests/test-apps/ExternalSharedPerms/Android.bp core/tests/hosttests/test-apps/ExternalSharedPermsBT/Android.bp core/tests/hosttests/test-apps/ExternalSharedPermsDiffKey/Android.bp core/tests/hosttests/test-apps/ExternalSharedPermsFL/Android.bp core/tests/hosttests/test-apps/InternalLocTestApp/Android.bp core/tests/hosttests/test-apps/MultiDexLegacyTestServicesTests/Android.bp core/tests/hosttests/test-apps/NoLocTestApp/Android.bp core/tests/hosttests/test-apps/NoLocVersionedTestApp_v1/Android.bp core/tests/hosttests/test-apps/NoLocVersionedTestApp_v2/Android.bp core/tests/hosttests/test-apps/SharedUid/32/Android.bp core/tests/hosttests/test-apps/SharedUid/32/jni/Android.bp core/tests/hosttests/test-apps/SharedUid/64/Android.bp core/tests/hosttests/test-apps/SharedUid/64/jni/Android.bp core/tests/hosttests/test-apps/SharedUid/dual/Android.bp core/tests/hosttests/test-apps/SharedUid/dual/jni/Android.bp core/tests/hosttests/test-apps/SharedUid/java_only/Android.bp core/tests/hosttests/test-apps/SimpleTestApp/Android.bp core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v1_ext/Android.bp core/tests/hosttests/test-apps/UpdateExtToIntLocTestApp_v2_int/Android.bp core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v1_ext/Android.bp core/tests/hosttests/test-apps/UpdateExternalLocTestApp_v2_none/Android.bp core/tests/hosttests/test-apps/VersatileTestApp_Auto/Android.bp core/tests/hosttests/test-apps/VersatileTestApp_External/Android.bp core/tests/hosttests/test-apps/VersatileTestApp_Internal/Android.bp core/tests/hosttests/test-apps/VersatileTestApp_None/Android.bp core/tests/mockingcoretests/Android.bp core/tests/notificationtests/Android.bp core/tests/overlaytests/device/Android.bp core/tests/overlaytests/device/test-apps/AppOverlayOne/Android.bp core/tests/overlaytests/device/test-apps/AppOverlayTwo/Android.bp core/tests/overlaytests/device/test-apps/FrameworkOverlay/Android.bp core/tests/overlaytests/host/Android.bp core/tests/overlaytests/remount/Android.bp core/tests/overlaytests/remount/test-apps/Overlay/Android.bp core/tests/overlaytests/remount/test-apps/SharedLibrary/Android.bp core/tests/overlaytests/remount/test-apps/SharedLibraryOverlay/Android.bp core/tests/overlaytests/remount/test-apps/Target/Android.bp core/tests/packagemanagertests/Android.bp core/tests/privacytests/Android.bp core/tests/screenshothelpertests/Android.bp core/tests/systemproperties/Android.bp core/tests/utillib/Android.bp core/tests/utiltests/Android.bp core/tests/utiltests/jni/Android.bp core/tests/uwbtests/Android.bp core/xsd/Android.bp core/xsd/vts/Android.bp data/etc/Android.bp data/etc/car/Android.bp data/fonts/Android.bp data/keyboards/Android.mk drm/jni/Android.bp errorprone/Android.bp graphics/proto/Android.bp keystore/Android.bp keystore/tests/Android.bp libs/WindowManager/Jetpack/Android.bp libs/WindowManager/Shell/Android.bp libs/WindowManager/Shell/tests/Android.bp libs/androidfw/Android.bp libs/androidfw/fuzz/resourcefile_fuzzer/Android.bp libs/hostgraphics/Android.bp libs/incident/Android.bp libs/input/Android.bp libs/input/tests/Android.bp libs/protoutil/Android.bp libs/services/Android.bp libs/storage/Android.bp libs/usb/tests/AccessoryChat/Android.bp libs/usb/tests/AccessoryChat/accessorychat/Android.bp location/lib/Android.bp location/tests/Android.bp location/tests/locationtests/Android.bp lowpan/tests/Android.bp media/Android.bp media/java/Android.bp media/java/android/media/tv/tunerresourcemanager/Android.bp media/jni/Android.bp media/jni/audioeffect/Android.bp media/jni/soundpool/Android.bp media/jni/soundpool/tests/Android.bp media/lib/remotedisplay/Android.bp media/lib/signer/Android.bp media/lib/tvremote/Android.bp media/lib/tvremote/tests/Android.bp media/mca/filterfw/Android.bp media/mca/filterfw/native/Android.bp media/mca/filterpacks/Android.bp media/mca/samples/CameraEffectsRecordingSample/Android.bp media/mca/tests/Android.bp media/native/midi/Android.bp media/packages/BluetoothMidiService/Android.bp media/packages/BluetoothMidiService/tests/unit/Android.bp media/tests/AudioPolicyTest/Android.bp media/tests/CameraBrowser/Android.bp media/tests/EffectsTest/Android.bp media/tests/MediaDump/Android.bp media/tests/MediaFrameworkTest/Android.bp media/tests/MediaRouter/Android.bp media/tests/MtpTests/Android.bp media/tests/ScoAudioTest/Android.bp media/tests/SoundPoolTest/Android.bp media/tests/TunerTest/Android.bp media/tests/audiotests/Android.bp media/tests/players/Android.bp mime/Android.bp native/android/Android.bp native/graphics/jni/Android.bp native/webview/loader/Android.bp nfc-extras/Android.bp nfc-extras/tests/Android.bp packages/AppPredictionLib/Android.bp packages/BackupEncryption/Android.bp packages/BackupEncryption/test/robolectric-integration/Android.bp packages/BackupEncryption/test/robolectric/Android.bp packages/BackupEncryption/test/unittest/Android.bp packages/BackupRestoreConfirmation/Android.bp packages/CarSystemUI/Android.bp packages/CarrierDefaultApp/Android.bp packages/CarrierDefaultApp/tests/unit/Android.bp packages/CompanionDeviceManager/Android.bp packages/Connectivity/framework/Android.bp packages/Connectivity/service/Android.bp packages/CtsShim/Android.bp packages/CtsShim/build/Android.bp packages/CtsShim/build/jni/Android.bp packages/DynamicSystemInstallationService/Android.bp packages/DynamicSystemInstallationService/tests/Android.bp packages/EasterEgg/Android.bp packages/EncryptedLocalTransport/Android.bp packages/ExtShared/Android.bp packages/ExternalStorageProvider/Android.bp packages/ExternalStorageProvider/tests/Android.bp packages/FakeOemFeatures/Android.bp packages/FusedLocation/Android.bp packages/InputDevices/Android.bp packages/LocalTransport/Android.bp packages/PackageInstaller/Android.bp packages/PrintRecommendationService/Android.bp packages/PrintSpooler/Android.bp packages/PrintSpooler/jni/Android.bp packages/PrintSpooler/tests/outofprocess/Android.bp packages/SettingsLib/ActionBarShadow/Android.bp packages/SettingsLib/ActionButtonsPreference/Android.bp packages/SettingsLib/AdaptiveIcon/Android.bp packages/SettingsLib/Android.bp packages/SettingsLib/AppPreference/Android.bp packages/SettingsLib/BarChartPreference/Android.bp packages/SettingsLib/DisplayDensityUtils/Android.bp packages/SettingsLib/EntityHeaderWidgets/Android.bp packages/SettingsLib/HelpUtils/Android.bp packages/SettingsLib/LayoutPreference/Android.bp packages/SettingsLib/ProgressBar/Android.bp packages/SettingsLib/RadioButtonPreference/Android.bp packages/SettingsLib/RestrictedLockUtils/Android.bp packages/SettingsLib/SchedulesProvider/Android.bp packages/SettingsLib/SearchProvider/Android.bp packages/SettingsLib/SearchWidget/Android.bp packages/SettingsLib/SettingsSpinner/Android.bp packages/SettingsLib/SettingsTheme/Android.bp packages/SettingsLib/Tile/Android.bp packages/SettingsLib/Utils/Android.bp packages/SettingsLib/search/Android.bp packages/SettingsLib/tests/integ/Android.bp packages/SettingsLib/tests/robotests/Android.bp packages/SettingsProvider/Android.bp packages/SharedStorageBackup/Android.bp packages/Shell/Android.bp packages/Shell/tests/Android.bp packages/SimAppDialog/Android.bp packages/SoundPicker/Android.bp packages/StatementService/Android.bp packages/SystemUI/Android.bp packages/SystemUI/plugin/Android.bp packages/SystemUI/plugin/ExamplePlugin/Android.bp packages/SystemUI/plugin_core/Android.bp packages/SystemUI/shared/Android.bp packages/VpnDialogs/Android.bp packages/WAPPushManager/Android.bp packages/WAPPushManager/tests/Android.bp packages/WallpaperBackup/Android.bp packages/WallpaperCropper/Android.bp packages/overlays/Android.mk packages/overlays/tests/Android.bp packages/services/PacProcessor/Android.bp packages/services/PacProcessor/jni/Android.bp packages/services/Proxy/Android.bp proto/Android.bp rs/jni/Android.mk samples/demo/haptic-assessment/Android.bp sax/tests/saxtests/Android.bp services/Android.bp services/accessibility/Android.bp services/appprediction/Android.bp services/appwidget/Android.bp services/autofill/Android.bp services/backup/Android.bp services/backup/backuplib/Android.bp services/companion/Android.bp services/contentcapture/Android.bp services/contentsuggestions/Android.bp services/core/Android.bp services/core/java/com/android/server/vcn/Android.bp services/core/jni/Android.bp services/core/xsd/Android.bp services/core/xsd/vts/Android.bp services/coverage/Android.bp services/devicepolicy/Android.bp services/incremental/Android.bp services/midi/Android.bp services/net/Android.bp services/people/Android.bp services/print/Android.bp services/profcollect/Android.bp services/restrictions/Android.bp services/robotests/Android.bp services/robotests/backup/Android.bp services/systemcaptions/Android.bp services/tests/PackageManagerComponentOverrideTests/Android.bp services/tests/PackageManagerServiceTests/host/Android.bp services/tests/PackageManagerServiceTests/host/test-apps/Android.bp services/tests/mockingservicestests/Android.bp services/tests/rescueparty/Android.bp services/tests/servicestests/Android.bp services/tests/servicestests/aidl/Android.bp services/tests/servicestests/apks/Android.bp services/tests/servicestests/apks/install-split-base/Android.bp services/tests/servicestests/apks/install-split-feature-a/Android.bp services/tests/servicestests/apks/install_intent_filters/Android.bp services/tests/servicestests/apks/install_uses_sdk/Android.bp services/tests/servicestests/test-apps/ConnTestApp/Android.bp services/tests/servicestests/test-apps/JobTestApp/Android.bp services/tests/servicestests/test-apps/PackageParserApp/Android.bp services/tests/servicestests/test-apps/PackageParsingTestManifests/Android.bp services/tests/servicestests/test-apps/SimpleServiceTestApp/Android.bp services/tests/servicestests/test-apps/SuspendTestApp/Android.bp services/tests/shortcutmanagerutils/Android.bp services/tests/uiservicestests/Android.bp services/tests/wmtests/Android.bp services/usage/Android.bp services/usb/Android.bp services/voiceinteraction/Android.bp services/wifi/Android.bp startop/apps/test/Android.bp startop/iorap/Android.bp startop/iorap/functional_tests/Android.bp startop/iorap/stress/Android.bp startop/iorap/tests/Android.bp startop/view_compiler/Android.bp startop/view_compiler/dex_builder_test/Android.bp test-base/hiddenapi/Android.bp test-mock/Android.bp test-runner/tests/Android.bp tests/AccessibilityEventsLogger/Android.bp tests/AccessoryDisplay/common/Android.bp tests/AccessoryDisplay/sink/Android.bp tests/AccessoryDisplay/source/Android.bp tests/ActivityManagerPerfTests/stub-app/Android.bp tests/ActivityManagerPerfTests/test-app/Android.bp tests/ActivityManagerPerfTests/tests/Android.bp tests/ActivityManagerPerfTests/utils/Android.bp tests/ActivityTests/Android.bp tests/ActivityViewTest/Android.bp tests/AmSlam/Android.bp tests/ApkVerityTest/Android.bp tests/ApkVerityTest/ApkVerityTestApp/Android.bp tests/ApkVerityTest/block_device_writer/Android.bp tests/AppLaunch/Android.bp tests/AppLaunchWear/Android.bp tests/AppResourcesLoaders/Android.bp tests/AppResourcesLoaders/Overlay/Android.bp tests/Assist/Android.bp tests/AutoVerify/app1/Android.bp tests/AutoVerify/app2/Android.bp tests/AutoVerify/app3/Android.bp tests/AutoVerify/app4/Android.bp tests/BackgroundDexOptServiceIntegrationTests/Android.bp tests/BandwidthTests/Android.bp tests/BatteryWaster/Android.bp tests/BiDiTests/Android.bp tests/BlobStoreTestUtils/Android.bp tests/BootImageProfileTest/Android.bp tests/BrowserPowerTest/Android.bp tests/Camera2Tests/SmartCamera/SimpleCamera/jni/Android.bp tests/CameraPrewarmTest/Android.bp tests/Codegen/Android.bp tests/Compatibility/Android.bp tests/CoreTests/android/Android.bp tests/DataIdleTest/Android.bp tests/DozeTest/Android.bp tests/DpiTest/Android.bp tests/DynamicCodeLoggerIntegrationTests/Android.mk tests/FeatureSplit/base/Android.bp tests/FeatureSplit/feature1/Android.bp tests/FeatureSplit/feature2/Android.bp tests/FixVibrateSetting/Android.bp tests/FlickerTests/Android.bp tests/FlickerTests/test-apps/Android.bp tests/FlickerTests/test-apps/flickerapp/Android.bp tests/FrameworkPerf/Android.bp tests/GamePerformance/Android.bp tests/GridLayoutTest/Android.bp tests/HierarchyViewerTest/Android.bp tests/HugeBackup/Android.bp tests/HwAccelerationTest/Android.bp tests/Internal/Android.bp tests/JankBench/Android.bp tests/JobSchedulerPerfTests/Android.bp tests/JobSchedulerTestApp/Android.bp tests/LargeAssetTest/Android.bp tests/LegacyAssistant/Android.bp tests/LocalizationTest/Android.bp tests/LocationTracker/Android.bp tests/LotsOfApps/Android.bp tests/LowStorageTest/Android.bp tests/ManagedProfileLifecycleStressTest/Android.bp tests/ManagedProfileLifecycleStressTest/app/DummyDPC/Android.bp tests/MemoryUsage/Android.bp tests/MirrorSurfaceTest/Android.bp tests/NativeProcessesMemoryTest/Android.bp tests/NetworkSecurityConfigTest/Android.bp tests/NullHomeTest/Android.bp tests/OdmApps/Android.bp tests/OdmApps/app/Android.bp tests/OdmApps/priv-app/Android.bp tests/OneMedia/Android.bp tests/PackageWatchdog/Android.bp tests/PlatformCompatGating/Android.bp tests/PlatformCompatGating/test-rules/Android.bp tests/ProtoInputStreamTests/Android.bp tests/RemoteDisplayProvider/Android.bp tests/RenderThreadTest/Android.bp tests/RollbackTest/Android.bp tests/SerialChat/Android.bp tests/ServiceCrashTest/Android.bp tests/SharedLibrary/client/Android.bp tests/SharedLibrary/lib/Android.bp tests/ShowWhenLockedApp/Android.bp tests/SmokeTest/Android.bp tests/SmokeTest/tests/Android.bp tests/SmokeTestApps/Android.bp tests/SoundTriggerTestApp/Android.bp tests/Split/Android.bp tests/StagedInstallTest/Android.bp tests/StatusBar/Android.bp tests/SurfaceComposition/Android.bp tests/SurfaceControlViewHostTest/Android.bp tests/SystemMemoryTest/device/Android.bp tests/SystemMemoryTest/host/Android.bp tests/SystemUIDemoModeController/Android.bp tests/TaskOrganizerTest/Android.bp tests/TelephonyCommonTests/Android.bp tests/TouchLatency/Android.bp tests/TransformTest/Android.bp tests/TtsTests/Android.bp tests/UiBench/Android.bp tests/UsageReportingTest/Android.bp tests/UsageStatsPerfTests/Android.bp tests/UsageStatsTest/Android.bp tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.bp tests/UsbHostExternalManagmentTest/AoapTestHost/Android.bp tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.bp tests/UsbManagerTests/Android.bp tests/UsbManagerTests/lib/Android.bp tests/UsbTests/Android.bp tests/UsesFeature2Test/Android.bp tests/VectorDrawableTest/Android.bp tests/VoiceEnrollment/Android.bp tests/VoiceInteraction/Android.bp tests/WallpaperTest/Android.bp tests/WindowAnimationJank/Android.bp tests/WindowInsetsTests/Android.bp tests/appwidgets/AppWidgetHostTest/Android.bp tests/appwidgets/AppWidgetProviderTest/Android.bp tests/backup/Android.mk tests/benchmarks/Android.bp tests/libs-permissions/Android.bp tests/net/Android.bp tests/net/common/Android.bp tests/net/deflake/Android.bp tests/net/integration/Android.bp tests/net/jni/Android.bp tests/net/smoketest/Android.bp tests/notification/Android.bp tests/permission/Android.bp tests/privapp-permissions/Android.bp tests/testables/Android.bp tests/testables/tests/Android.bp tests/utils/StubIME/Android.bp tests/utils/hostutils/Android.bp tests/utils/testutils/Android.bp tests/vcn/Android.bp tools/aapt/Android.bp tools/aapt2/Android.bp tools/aapt2/integration-tests/AutoVersionTest/Android.bp tools/aapt2/integration-tests/BasicTest/Android.bp tools/aapt2/integration-tests/MergeOnlyTest/LeafLib/Android.mk tools/aapt2/integration-tests/MergeOnlyTest/LocalLib/Android.mk tools/aapt2/integration-tests/NamespaceTest/LibOne/Android.mk tools/aapt2/integration-tests/NamespaceTest/LibTwo/Android.mk tools/aapt2/integration-tests/StaticLibTest/App/Android.bp tools/aapt2/integration-tests/StaticLibTest/LibOne/Android.bp tools/aapt2/integration-tests/StaticLibTest/LibTwo/Android.bp tools/aapt2/integration-tests/SymlinkTest/Android.bp tools/bit/Android.bp tools/codegen/Android.bp tools/dump-coverage/Android.bp tools/incident_report/Android.bp tools/incident_section_gen/Android.bp tools/lock_agent/Android.bp tools/locked_region_code_injection/Android.bp tools/obbtool/Android.bp tools/powermodel/Android.bp tools/preload-check/Android.bp tools/preload-check/device/Android.bp tools/preload/loadclass/Android.bp tools/processors/staledataclass/Android.bp tools/processors/view_inspector/Android.bp tools/protologtool/Android.bp tools/sdkparcelables/Android.bp tools/split-select/Android.bp tools/streaming_proto/Android.bp tools/validatekeymaps/Android.bp wifi/java/Android.bp wifi/tests/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to: libs/hwui/Android.bp native/webview/plat_support/Android.bp obex/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD SPDX-license-identifier-CC-BY SPDX-license-identifier-CPL-1.0 SPDX-license-identifier-GPL SPDX-license-identifier-GPL-2.0 SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS SPDX-license-identifier-W3C legacy_unencumbered to: Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD legacy_unencumbered to: core/java/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-CPL-1.0 to: test-base/Android.bp test-runner/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL to: core/res/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-GPL-2.0 to: libs/usb/Android.bp libs/usb/tests/accessorytest/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT to: tools/preload/Android.bp Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS to: api/Android.bp boot/Android.bp cmds/device_config/Android.bp cmds/settings/Android.bp core/api/Android.bp core/tests/coretests/certs/Android.bp core/tests/overlaytests/remount/test-apps/certs/Android.bp core/tests/overlaytests/remount/test-apps/overlaid_apex/Android.bp core/tests/overlaytests/remount/test-apps/overlay_apex/Android.bp libs/tracingproxy/Android.bp services/startop/Android.bp test-legacy/Android.mk tests/ApkVerityTest/testdata/Android.bp tests/TransitionTests/Android.bp Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: Ib9737d8fb5ef5b90a2c14fe71f1a571079edcf02 Merged-In: Ib9737d8fb5ef5b90a2c14fe71f1a571079edcf02
2021-02-09Merge "Add overlayPaths to ApplicationInfo" into sc-devTreeHugger Robot
2021-02-08Merge "Add resource owners" am: d25ad6a116 am: 80382deadc am: 5195eb9abeJeff Sharkey
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1580196 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I8ac2127766ab9f24ab3110c08a94ebba25b4d00f
2021-02-08Add resource ownersTodd Kennedy
Change-Id: I182d6b167ed33fa0d817e70c7811aa6a22840a69
2021-02-08Add overlayPaths to ApplicationInfoRyan Mitchell
RROs have historically been APK packages. We now have the ability to generate RROs on-the-fly. These "fabricated" RROs are not APKs. ApplicationInfo#resourceDirs documentation states that it only contains paths to packages. To prevent changing the behavior of resourceDirs until we can deprecate and remove it, a new overlayPaths field has been added to ApplicationInfo. This new field contains APK overlay paths as well as non-APK overlay paths. Bug: 172471315 Test: boot enable/disable overlays and examine overlays working as well as package manager dumpsys Change-Id: I78c5eeef73b7d8bada61edc0f64a12a3cdc1ce16
2021-02-04Merge "Update OWNERS file for font files in FrameworksCoreTests" am: ↵Seigo Nonaka
eff415e780 am: a4e2684bb5 am: 1bba2cdafa Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1548869 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I271582e3e246a35da9274d8ecee669fd307e76c9
2021-02-03Update OWNERS file for font files in FrameworksCoreTestsSeigo Nonaka
Bug: N/A Test: N/A Change-Id: Iaf764a2fcff1348f2e9a4c51dab9c7e6c5a8c4d0
2021-02-02Pass in split permissions to ParsingPackageUtils.Hai Zhang
Similar to passing in display metrics. We can use ActivityThread.currentApplication() as the context for getting PermissionManager in system server process because it will be created early in ActivityThread.attach() before any custom logic can run, but it becomes a problem for apps because they can run their own logic by overriding Application.attachBaseContext() and do things there before ActivityThread.currentApplication() becomes non-null. So pass in the split permissions explicitly as an external dependency for ParsingPackageUtils, and move the getPackageArchiveInfo() implementation from PackageManager to ApplicationPackageManager to utilize the context there. PackageParser2 can get the split permissions internally because it's only used in system server. Fixes: 178155985 Test: manual Change-Id: I8213cf752e16b08328ad1150b2639da18c5d0e83 (cherry picked from commit 7b8974d375c74ff228d71b1f038f48cfb46c6d7c)
2021-01-28Merge "Create owners" am: 008819a578 am: 595c08e82e am: ab29544623Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1563992 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I1da5a046182d9b6903934db709daf4e30459c610
2021-01-28Create ownersTodd Kennedy
Change-Id: I970b5a32d2da06645d66d0062f8c2fa87924a204
2021-01-12Bulk apply PendingIntent.FLAG_MUTABLE_UNAUDITED.Ashwini Oruganti
We've been working hard to require PendingIntents explicitly declare if they allow their contents to be mutated or not, and to finish landing that work this change applies the new FLAG_MUTABLE_UNAUDITED flag to all remaining code locations until they can be manually inspected. Bug: 160794467 Test: manual Change-Id: I8d7ec64ac89755c14b5959bb6ef0bce203c92bf0
2020-12-30MTP: bring up MTP perf tests in CrystalballJames Wei
Moved from MtpServicePerfTests to CorePerfTests for Benchmark Instrument Bug: 172498127 Test: atest CorePerfTests Change-Id: I05c38d431bee6f30982313d01ed957f24f0cb2f4
2020-12-08resolve merge conflicts of 358f0d4fc8c248498cf113c41e043877a14e89a1 to masterJeff Sharkey
Bug: 174932174 Test: I solemnly swear I tested this conflict resolution. Exempt-From-Owner-Approval: refactoring with team leads buy-in Change-Id: I9262a08ffc1ccede8e519d0eed90ed2bfcf0232c
2020-12-08Improve OWNERS coverage across frameworks/base/.Jeff Sharkey
As general background, OWNERS files expedite code reviews by helping code authors quickly find relevant reviewers, and they also ensure that stakeholders are involved in code changes in their areas. Some teams under frameworks/base/ have been using OWNERS files successfully for many years, and we're ready to expand them to cover more areas. Here's the historical coverage statistics for the last two years of changes before these new OWNERS changes land: -- 56% of changes are fully covered by OWNERS -- 17% of changes are partially covered by OWNERS -- 25% of changes have no OWNERS coverage Working closely with team leads, we've now identified clear OWNERS on a per-package basis, and we're using "include" directives whenever possible to to simplify future maintenance. With this extensive effort, we've now improved our coverage as follows: -- 98% of changes are fully covered by OWNERS -- 1% of changes are partially covered by OWNERS -- 1% of changes have no OWNERS coverage This specific change is automatically generated by a script that identifies relevant "include" directives. Bug: 174932174 Test: manual Exempt-From-Owner-Approval: refactoring with team leads buy-in Merged-In: I3480ddf2fe7ba3dfb922b459d4da01fa17a2c813 Change-Id: I3480ddf2fe7ba3dfb922b459d4da01fa17a2c813
2020-11-20Add perf test for Typeface serialization.Kohsuke Yatoh
Bug: 172891184 Test: atest TypefaceSerializationPerfTest Change-Id: I3a0c8ba26350d6ca51a93a458e73362ac23c566f
2020-11-14Merge "Consistent handling of modified UTF-8."TreeHugger Robot
2020-11-13Consistent handling of modified UTF-8.Jeff Sharkey
A recent set of patches had mismatched handling of UTF-8 vs modified UTF-8; this change converges all paths towards using modified UTF-8 to match the DataInput/Output API contract. New tests verify that underlying raw data is compatible between the upstream and local implementations. Bug: 171832118 Test: atest FrameworksCoreTests:android.util.CharsetUtilsTest Test: atest FrameworksCoreTests:android.util.XmlTest Test: atest FrameworksCoreTests:android.util.BinaryXmlTest Test: atest FrameworksCoreTests:com.android.internal.util.FastDataTest Change-Id: I49423edc867839fb6626cd8bd361abe7bc512633
2020-11-12Merge "Add benchmarks for ViewRootImpl InputStage"TreeHugger Robot
2020-11-10Merge changes from topic "nov7"Jeff Sharkey
* changes: Custom binary XML wire protocol. Progress towards efficient XML serialization. More efficient alternatives to ByteBuffer. CharsetUtils alternatives that avoid allocations.
2020-11-10Custom binary XML wire protocol.Jeff Sharkey
We've identified that XML writing and reading uses roughly 1.5% of all system_server CPU, and can generate many temporary objects. Building on the recent TypedXmlSerializer/PullParser interfaces, this change introduces new BinaryXmlSerializer/PullParser implementations that store data using a custom binary wire protocol. Benchmarking of a typical packages.xml has shown this new binary approach can write 4.3x faster and read 8.5x faster, while using 2.4x less disk space: timeWrite_Fast_mean: 27946635 timeWrite_Binary_mean: 6519341 timeRead_Fast_mean: 59562531 timeRead_Binary_mean: 7020185 A major factor in choosing to invest in this new wire protocol is that it enables the long-tail of over 100 unique XML schemas used across the OS internals to be transparently upgraded to gain these benefits with only minimal changes, reducing the risks associated with rewriting those schemas. Finally, since the wire protocol is essentially a serialized event stream, it's trivial to transparently convert this new protocol into human-readable XML and vice-versa. The tests in this change demonstrate this translation working correctly, and future changes will introduce new shell tools to aid development work. Bug: 171832118 Test: atest FrameworksCoreTests:android.util.XmlTest Test: atest FrameworksCoreTests:android.util.BinaryXmlTest Test: atest CorePerfTests:android.util.XmlPerfTest Change-Id: Ib9390701f09562dca952b3786622675b9c68a462
2020-11-10More efficient alternatives to ByteBuffer.Jeff Sharkey
Some upcoming binary XML work needs to efficiently read and write raw bytes, and we initially started using ByteBuffer. However, that design had additional overhead since we were performing bounds checks twice (once to fill/drain buffers, then again to parse data). In addition, the upstream ByteBuffer makes per-byte method invocations internally, instead of going directly the the buffer. This change introduces FastDataInput/Output as local implementations of DataInput/Output which are focused on performance. They also handle fill/drain from an underlying Input/OutputStream, and the included benchmarks show reading 3x faster and writing 2x faster: timeRead_Upstream_mean: 5543730 timeRead_Local_mean: 1698602 timeWrite_Upstream_mean: 3731119 timeWrite_Local_mean: 1885983 We also use the new CharsetUtils methods to write UTF-8 values directly without additional allocations whenever possible. This requires using a non-movable buffer to avoid JNI overhead to gain the 30% benchmarked performance wins. Bug: 171832118 Test: atest CorePerfTests:com.android.internal.util.FastDataPerfTest Test: atest FrameworksCoreTests:com.android.internal.util.FastDataTest Change-Id: If28ee381adb528d03cc9851d78236d985b6ede16
2020-11-11Add benchmarks for ViewRootImpl InputStagearthurhung
Add the benchmark for processing InputEvent in ViewRootImpl. * the cost of processing KeyEvent * the cost of processing MotionEvent * the cost of processing KeyEvent with IME x (handle preIME or not) * the cost of processing MotionEvent with IME x (handle preIME or not) Test: atest InputStageBenchmark Bug: 162193693 Change-Id: I64f6b2e8ec3e841461553dbc6c9f4c0dfdd8ef86
2020-11-09CharsetUtils alternatives that avoid allocations.Jeff Sharkey
Internally String.getBytes() calls libcore.util.CharsetUtils methods for a handful of common charsets, but that path requires new memory allocations for every call. This change introduces alternative versions of those methods which attempt to encode data directly into an already-allocated memory region. If the destination is to small, callers can detect and pivot back to calling String.getBytes(). The included benchmarks reveal these raw performance improvements, in addition to the reduced GC load which is harder to measure: timeLocal_LargeBuffer[simple]_mean: 424 timeLocal_SmallBuffer[simple]_mean: 511 timeUpstream[simple]_mean: 800 timeLocal_LargeBuffer[complex]_mean: 977 timeLocal_SmallBuffer[complex]_mean: 1266 timeUpstream[complex]_mean: 1468 Bug: 171832118 Test: atest CorePerfTests:android.util.CharsetUtilsPerfTest Test: atest FrameworksCoreTests:android.util.CharsetUtilsTest Change-Id: Iac1151e7cb8e88bf82339cada64b0936e1a7578b
2020-11-09Merge "Switch APCT VibratorPerfTest to use Jetpack Benchmark"TreeHugger Robot
2020-11-06Switch APCT VibratorPerfTest to use Jetpack BenchmarkLais Andrade
Bug: 170370918 Test: atest CorePerfTests:VibratorPerfTest Change-Id: I79d3877987553f873dc295978440baac299c9062
2020-11-05Double speed of Parcel.writeString().Jeff Sharkey
Previous logic was using GetStringUTFChars() and GetStringCritical(), which resulted in making a new temporary heap allocation and an extra memcpy(). The new approach in this CL bypasses those operations by asking the JNI helpers to copy directly into the Parcel buffer. This does mean that the contract for writing strings (prefixed with length) is now duplicated in Parcel.cpp and android_os_Parcel.cpp, so we leave docs to ensure future maintainers keep them in sync. Benchmarking shows that this change improves performance by ~36% for UTF-8 strings and ~52% for UTF-16 strings: Before: timeWriteString8[simple]_mean: 1323 timeWriteString8[complex]_mean: 2103 timeWriteString16[simple]_mean: 1427 timeWriteString16[complex]_mean: 1368 After: timeWriteString8[simple]_mean: 846 timeWriteString8[complex]_mean: 1671 timeWriteString16[simple]_mean: 685 timeWriteString16[complex]_mean: 748 Bug: 172562452 Test: atest CorePerfTests:android.os.ParcelStringPerfTest Change-Id: Ibacce2547ecc7a050b698cee8aa5b4e3bc45956f
2020-11-03Merge "Add VariableFont perf test"TreeHugger Robot
2020-10-29Add VariableFont perf testSeigo Nonaka
Bug: N/A Test: atest VariableFontPerfTest Change-Id: I3cb54ebe0ea5e77c31e5c817378a8fc1514f95b7
2020-10-29Reduce the number used for perf testSeigo Nonaka
likely 30K char causes OOM during perf test. Reduced to 3K. Bug: 168845780 Test: N/A Change-Id: I32f3c1791ec27f8f83011158a592c2a1d01e16b8
2020-10-22Merge "Add Benchmark for PackageManager.getResourcesForApplication"TreeHugger Robot
2020-10-22Add Benchmark for PackageManager.getResourcesForApplicationFelka Chang
Add the benchmark for anwsering the performance issue. * the cost of the createContextAsUser * the comparsion between *AsUser and createContextAsUser Test: atest CorePerfTests:android.content.pm.PackageManagerBenchmark Bug: 171370490 Change-Id: I7da6d4127520c1132c6050472a0c1ba462ab03d3
2020-10-16Simple alternative to String.format().Jeff Sharkey
This purposefully supports only a small handful of substitutions to improve execution speed. Benchmarking reveals this optimized alternative performs 6.5x faster for a typical format string. Add Preconditions overloads that accept varargs to avoid string formatting overhead in successful case. Bug: 170978902 Test: atest FrameworksCoreTests:android.text.TextUtilsTest Test: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little && atest CorePerfTests:android.text.TextUtilsPerfTest Change-Id: I3fae4dc95cfc98a61c4a7f07ca0781c4a2ee3be9
2020-10-02Fix canvas crash in CanvasDrawTextTestSeigo Nonaka
Call drawText in begin/end recording section. Bug: 168846481 Test: atest CanvasDrawTextTest Change-Id: I512f7a7b3de44236e567f80281a2fd9fbb61be9a
2020-09-25Merge changes from topic "sep23"Jeff Sharkey
* changes: Improve performance of small CursorWindows. Benchmarks to measure CursorWindow overheads.
2020-09-23Benchmarks to measure CursorWindow overheads.Jeff Sharkey
We have some ideas on how to improve the efficiency of CursorWindow transport for smaller data sets, but we want to get some benchmarking in place to better characterize our upcoming changes. These tests move a small, medium, and large cursor across process boundaries, exercising the typical ContentProvider.query() flow. Bug: 169251528 Test: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little && atest CorePerfTests:android.database.CrossProcessCursorPerfTest Change-Id: Ia9e6a3195324db93a02d224e8b5108d397e3bb41
2020-09-21Include fonts as non asset file for CorePerfTestsWinson
Android.bp migration broke this as the external folder should no longer be referenced directly. See b/169071405 for request for assets_dir filegroup support to avoid openNonAsset. Bug: 168845570 Test: atest android.graphics.perftests.TypefaceCreatePerfTest Change-Id: If1ee2cadbff02ac85c60dea49de50da2e98c1b39
2020-09-14Merge changes from topic "sep11"Jeff Sharkey
* changes: Remove advisory registerNativeAllocation(). Hand-rolled linked list for Parcel performance.
2020-09-09Fix up PackageSetting pkg and path documentationWinson
Renames baseCodePath -> baseApkPath and codePath -> path to better reflect their actual meanings. Their respective JavaDoc has also been consolidated and updated. Also explains why the pkg field can be null, as this has been the cause of a significant number of bugs. Also hides it behind a getter to preempt any mutation issues. Doesn't refactor existing usages. This can be done inline with other changes that touch that code. Bug: 164218844 Bug: 164488334 Test: atest com.android.server.pm Change-Id: Ia254e7cebb0ab86165e5ec42e8f8bfcf8673884b
2020-08-25Hand-rolled linked list for Parcel performance.Jeff Sharkey
While recently looking at pprof data, we noticed that Parcel.obtain() and recycle() were some of the most heavily used methods inside the system process. On the surface, this makes sense because these methods are typically invoked at least twice for every Binder call. Internally these methods had been maintaining a pool of cached Parcel objects to avoid GC pressure, but unfortunately it was using an array which resulted in O(n) scanning under heavy load, increasing lock contention encountered by all Binder calls. This change greatly reduces that contention by using a hand-rolled linked list approach, mirroring android.os.Message. For a 1-thread benchmark, this new approach has almost 2x throughput, and for a 16-thread benchmark it has almost 8x throughput. As part of making this change we evaluated several approaches, including using pure-GC with no pooling, a single AtomicReference, and a pool of several AtomicReferences. To measure these we wrote ParcelPoolBenchmark which simulates various levels of Binder load using 1, 4 and 16 threads. Below are the relative benchmark results compared to the previous approach before this CL: 1 thread 4 threads 16 threads Pure GC 131.74% 32.76% 43.90% Single AR 95.22% 25.54% 13.66% Pooled AR 57.65% 16.21% 11.55% Linked list 52.66% 18.06% 12.55% On balance, the linked list approach performs well across the board, and we bias towards it over the two AtomicReference approaches since it performs slightly better on the single-threaded case, which is the most representative of typical Binder load across all processes. Bug: 165032569 Test: ./frameworks/base/libs/hwui/tests/scripts/prep_generic.sh little && atest CorePerfTests:android.os.ParcelObtainPerfTest Change-Id: I190b1c8f7fd59855c3c2d36032512279691e2c04
2020-08-24Fix lock contention in ResourcesManagerCharles Chen
1. Scope dowm synchronized block to mAdjustedDisplays put and get 2. Use SoftReference instead of WeakReference because display's weak reference is cleared after getAdjustedDisplay returned and the cache didn't take effects previously. fixes: 162445376 Test: ResourcesManagerPerfTest Before: getDisplayMetrics_median: 3413 getDisplayMetrics_mean: 3439 getDisplayMetrics_min: 3364 getDisplayMetrics_standardDeviation: 107 After: getDisplayMetrics_median: 3048 getDisplayMetrics_mean: 3096 getDisplayMetrics_min: 2999 getDisplayMetrics_standardDeviation: 134 Change-Id: I8a5c3ba960c8231aee78b0e7fb958bf6845d5bb5
2020-07-29Update CorePerfTests with collector libraries.Gopinath Elanchezhian
Update the atest configs to wait for CPU/IO threshold to stabilize and collect the perfetto trace files. Bug: b/162452689 Test: atest PrecomputedTextPerfTest#testCreate_NoStyled_Hyphenation Change-Id: Ib16c718f8322ebf7a9a958cbb6848a42de657a52
2020-07-27Fix UnsupportedOperationException in CutoutSpecificationBenchmarkChris Craik
Exception was due to an exception from trying to get the display from the app context, instead of an Activity context. java.lang.UnsupportedOperationException: Tried to obtain display from a Context not associated with one. In order to fix that and fix the display metrics factor, the CutoutSpecificationBenchmark only run for the resolution 1080x1920 and density is 3.5f. Test: atest CutoutSpecificationBenchmark Change-Id: I0be9d09a859c5b3a8c5abff11a3d06d809edf9ab
2020-07-16Switch APCT View tests to Jetpack BenchmarkChris Craik
Test: atest CutoutSpecificationBenchmark ViewShowHidePerfTest ViewPerfTest Change-Id: If34f0da1dff5fcc4668b6bf9f0cc3a6bc5ce04eb