summaryrefslogtreecommitdiff
path: root/services/robotests
AgeCommit message (Collapse)Author
2021-02-21Merge ab/7061308 into stage.Xin Li
Bug: 180401296 Merged-In: I4bf82035631ccff6d5a6144d6d9b1d203b076851 Change-Id: I1b5f3a672a55eaabba0f5389bab110b395553559
2021-02-16[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: Ic44d662936d1ff0cae7fbe915932b37aa4e4869a Merged-in: I6e9103c3275cb2e6df5dc586588eccd7d2ab6b06
2020-12-17DO NOT MERGE Correctly reset cross-profile app-op am: f764d9e98fAlex Kershaw
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13236705 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Iea45f7508d51a3a2f2a7be513549b2d8d34e1bb9
2020-12-17DO NOT MERGE Correctly reset cross-profile app-opAlex Kershaw
Delegate the resetting of the INTERACT_ACROSS_PROFILES app-op to DevicePolicyManager, which knows whether it should be pre-granted and knows to apply it equally across all users in the profile group. Further unit tests for DevicePolicyManagerInternal will be added in b/175440570 when we have the better infra for that. The CrossProfileAppsServiceImpl changes look more complex than they are. They consist of the following: - Inclusive language changes to 'allowlist' - Static imports of permissions to improve readability - Previously, the setInteractAcrossProfilesAppOp method would set the app-op for every user within the profile group of the 'calling user'. However, given that we are now exposing this as a server-side internal API where we need to pass in a user ID (from AppOpsService), we don't necessarily have the guarantee that the 'calling user' is in the same profile group. So we split it up: the client-side API and AIDL API still set the app-op for the calling profile group, whereas the internal API sets the app-op for every user within the profile group of the provided user. The changes simply abstract away references to the 'calling user ID'. Fixes: 166561076 Bug: 175440570 Test: atest services/robotests/src/com/android/server/pm/CrossProfileAppsServiceImplRoboTest.java --verbose -c Test: manual Change-Id: I2181fe66022aaf6c3e6d784c0569d2f41ab66537 (cherry picked from commit d004f41188ba39afd2c75e4e7dede6b755a9d752)
2020-12-11Merge "Location OWNERS updates"Soonil Nagarkar
2020-12-09Location OWNERS updatesSoonil Nagarkar
Change-Id: I0c3debf00a28d4ca930582fb23bd34159ef1ddd4
2020-12-08Merge changes from topic "dec5" am: c2793cf12bJeff Sharkey
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1519384 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ifdc390f5ae046c515a30158f3f55b831be147547
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-12-02Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855Xin Li
Bug: 172690556 Merged-In: I78222391b83a4add8e964340ec08bb8a1306e1c6 Change-Id: I28bbf40820674675ccf765c912aa8140d3f74ab2
2020-10-13Migrate away from deprecated Truth APIs.Alexander Dorokhine
This is a transitional step towards truth 1.0.1, where these APIs have been completely removed. Bug: 168765701 Test: m checkbuild Exempt-From-Owner-Approval: Cherry-pick of no-op refactor into another branch Merged-In: I26ab5ab82bb939bbd9553c05387ac8641eb468b4 Change-Id: I26ab5ab82bb939bbd9553c05387ac8641eb468b4 (cherry picked from commit 4697f76edd28cc9363c5ca099a6f9c311c1aee50)
2020-08-31Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)Xin Li
Bug: 166295507 Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27 Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-07-22Add explicit dep on services.backupAnton Hansson
android_robolectric_test is having some implicit deps removed from it, so add in what we depend on directly. Test: m RunFrameworksServicesRoboTests Change-Id: Ice2abeb3f4d031cfe15ce919b750d6de59316c1f Merged-In: Ice2abeb3f4d031cfe15ce919b750d6de59316c1f
2020-07-20Add explicit dep on services.backup am: 7e7fc7201e am: 4dec74e565Anton Hansson
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12194862 Change-Id: I7c1deba93540b55c030b855d6e946f1f748d0a49
2020-07-20Add explicit dep on services.backupAnton Hansson
android_robolectric_test is having some implicit deps removed from it, so add in what we depend on directly. Test: m RunFrameworksServicesRoboTests Change-Id: Ice2abeb3f4d031cfe15ce919b750d6de59316c1f
2020-07-07Fix state deletion for transient backup issues.Tobias Thierer
Since Android 10, backupPm() includes sendDataToTransport(), which was not previously the case. This means that error handling logic that deletes the backup state file (causing initialize_device() on the next attempt, which deletes any existing backup) will now also be triggered upon errors during sendDataToTransport(), which wasn't previously (Android <= 9) the case. This has the potential of making an existing temporary outage much worse: 1. A few devices might run into temporary issues, e.g. a B&R server returning HTTP 503 Service Unavailable (treated as a TransientHttpStatusException instanceof NetworkException, which is mapped to TRANSPORT_ERROR during handleTransportStatus(), which results in a TaskException with stateCompromised==false but which backupPm() wraps in another TaskException that forces stateCompromised=true). 2. On their next backup attempt, those devices throw away any existing backup and start from scratch (initialize_device()), increasing the load on the server. 3. This leads to a positive-feedback loop where more devices than before run into HTTP 503 Service Unavailable. 4. As a result, masses of devices delete their backups and then hammer the B&R server with attempts to upload new backups. 5. Backups are unavailable to any users who would otherwise rely on them during this outage. To improve on this dangerous situation, this CL changes the code to force stateCompromised=true only for TaskExceptions thrown specifically during extractPmAgentData(), and (as before) for all AgentExceptions. Note that the code is still quite brittle. It still seems like we are probably forcing stateCompromised=true in too many situations, but it's hard to say so this CL is being conservative about the changes. Changing back to the old behavior could be done through a local change around KeyValueBackupTask.java:676; a future CL may do this to have a safety hatch in case we want to cherry-pick this CL into an upcoming Android release late in the release cycle. [1] https://android.googlesource.com/platform/frameworks/base/+/refs/heads/pie-dev/services/backup/java/com/android/server/backup/internal/PerformBackupTask.java#1035 [2] https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/services/backup/java/com/android/server/backup/keyvalue/KeyValueBackupTask.java#1040 [3] https://source.corp.google.com/piper///depot/google3/java/com/google/android/gmscore/integ/modules/backup/transport/src/com/google/android/gms/backup/transport/GmsBackupTransport.java;l=770;rcl=281845876 Bug: 144030477 Test: Checked that the following passes after this CL, but testRunTask_whenTransportReturnsErrorForPm_updatesFilesAndCleansUp() fails if I revert the state of KeyValueBackupTask.java to before this CL: ROBOTEST_FILTER=KeyValueBackupTaskTest make \ RunBackupFrameworksServicesRoboTests Change-Id: I6c622c55fbd804ec0a12e0bea7ade1308f7a3877 (cherry picked from commit 819ed81faaa295d9e1096f13f599cb43d48cda88)
2020-06-26Pass in callsite of SurfaceControl constructor explicitly (1/3)Jorim Jaggi
Creating a new Throwable (and filling in the stack trace) can take up to 150us. Since we do this on the critical path when sending over SurfaceControl via binder multiple times, this is too much. Instead, add an option to pass in callsite manually. Bug: 159056748 Change-Id: I46c339c15a07192d61c4c546e46f260684a47120 Merged-In: I46c339c15a07192d61c4c546e46f260684a47120 Exempt-From-Owner-Approval: Large scale refactor
2020-05-29Merge "Use killUid instead of killApplication to kill app" into rvc-devTreeHugger Robot
2020-05-29Use killUid instead of killApplication to kill appKholoud Mohamed
When the cross profile app op gets revoked, we need to kill the app then send an app op changed broadcast to the app. The problem with using killApplication is that it is async and does not guarantee that the app is killed before the broadcast is sent. It also fixes an unrelated issue when CrossProfileApps#clearInteractAcrossProfilesAppOps is called from managed provisioning which is non system process, this causes a security exception if killApplication is used. Fixes: 156995567 Fixes: 157318765 Test: atest ManagedProfileCrossProfileTest Test: atest ManagedProfileProvisioningTest Change-Id: Iceedd57baeb64daccef072bc787b1e1cb1bfe814
2020-05-21Merge "Prevent DPCs from requesting INTERACT_ACROSS_PROFILES" into rvc-devTreeHugger Robot
2020-05-19Prevent DPCs from requesting INTERACT_ACROSS_PROFILESAlex Kershaw
Fixes: 156745686 Test: atest com.android.cts.devicepolicy.CrossProfileAppsPermissionHostSideTest#testCanRequestInteractAcrossProfiles_profileOwner_returnsFalse Test: atest services/robotests/src/com/android/server/pm/CrossProfileAppsServiceImplRoboTest.java --verbose Change-Id: Ia72573991ecccd9a9d01285ba55059e7f9ea14b0
2020-05-15Kill app if cross profile app op gets revokedkholoud mohamed
Kill the app in both profiles if user/admin revokes the cross profile app op permission, this is to ensure that any cross profile bound services gets unbound as soon as the app op is revoked. Fixes: 154693902 Test: atest ManagedProfileCrossProfileTest Test: atest FrameworksServicesTests:com.android.server.pm.CrossProfileAppsServiceImplTest Test: atest CrossProfileAppsServiceImplRoboTest Change-Id: Iaa3b9196468149c1cec51e9101989f1877374cc5
2020-04-24Skip backup/restore of wallpaper packageRuslan Tkhakokhov
Do not backup or restore wallpaper package when 'backup_skip_user_facing_data' is set. See https://b.corp.google.com/issues/153940088#comment2 for context. Bug: 153940088 Test: 1. atest UserBackupManagerServiceTest 2. atest PerformUnifiedRestoreTaskTest 3. atest CtsBackupTestCases 4. atest CtsBackupHostTestCases 5. Manual: 1) adb shell settings secure put backup_skip_user_facing_data 1 2) adb shell bmgr backupnow com.android.wallpaperbackup -> verify skipped 3) adb shell bmgr restore 1 com.android.wallpaperbackup -> verify skipped 4) adb shell settings secure put backup_skip_user_facing_data 0 -> verify com.android.wallpaperbackup is backed up / restored Change-Id: Iedd0c4030a635e294a04d35bd525ca852c929b92
2020-04-17Enforce BACKUP permission for BackupManager#excludeKeysFromRestore()Nikhar Agrawal
Bug: 153415469 Test: atest UserBackupManagerServiceTest Change-Id: I3d3c0e518a2e9b3805da02f4b0850c428cb8ff0e
2020-04-06Remove platform-signed apps from configurable cross profile appskholoud mohamed
Most apps that declare the INTERACT_ACROSS_PROFILES permission do not have it granted, but get the app-op instead. We do not normally want platform-signed apps that are actually given the permission to appear in the user-configurable section in Settings, so we remove them from the return value of canUserAttemptToConfigureInteractAcrossProfiles in this CL. Note that OEM can choose to allow some platform-signed apps to be user-configurable by including them in their OEM whitelist file. This CL respects that and allows these apps to be configured by the user, despite being granted the permission. If the user rejects the app-op, PermissionChecker correctly returns false. Bug: 149742043 Test: atest CrossProfileAppsServiceImplRoboTest Change-Id: I693338507eec9cdc0ba10a3584e994a58d2d113c
2020-03-27Merge "Move gnss files to server/location/gnss" into rvc-devSasha Kuznetsov
2020-03-26Move gnss files to server/location/gnssSasha Kuznetsov
Test: build and run cuttlefish Bug: 150810542 Change-Id: I0b83ba5850249e3111b80fcb774dee8121d0a048 Merged-In: I7d966b3e26f1d5e5aadf0085d0d0bfe51b9dfc1a
2020-03-25Add hidden API to clear all cross-profile app-opsAlex Kershaw
Reset the INTERACT_ACROSS_PROFILES app-op for all apps on the device when creating a new work profile. This ensures that user grants for previous work profiles (perhaps with a different admin) are not saved and also not restored with backup-and-restore. Also, clear the shared preference storing which oem-whitelisted apps the user has granted. This ensures that the user sees them all again during work profile provisioning. Fixes: 151145623 Test: atest com.android.managedprovisioning.task.CreateManagedProfileTaskRoboTest Change-Id: I5f5c5aea1c36bd17a74c02e1b6fa9b4047f15003
2020-03-23Add new hidden API in CrossProfileApps and other minor changeskholoud mohamed
* Added a new hidden API canUserAttemptToConfigureInteractAcrossProfiles to be used in settings. * Changed canRequestToInteractAcrossProfiles to return true when app is not whitelisted by the admin or installed in the other profile, this enables the app to navigate the user to the cross profile settings page were more information about why they can't grant the permission will be provided. Bug: 149742043 Test: atest CrossProfileAppsServiceImplRoboTest Test: atest CrossProfileAppsPermissionHostSideTest Test: CrossProfileAppsTest Change-Id: I9c7734d7ab0c7436d84a27604146ff539e1cb26a
2020-03-18Add userId to log messages - DO NOT MERGEAl Sutton
Add the user ID so it's easier to see which user log messages refer to. There's a bit of churn around conditionals in this to ensure that the code complies with the style guidelines. Fixes: 148376687 Test: make RunBackupFrameworksServicesRoboTests Change-Id: I3ca92d21492fae4b89cb73fb39db1a490c796f5d
2020-03-17Update references to ike stubsAnton Hansson
Bug: 147768409 Test: m Change-Id: Idf801c304458908f0a8ef36bfa5a7a7546e6bf48 Merged-In: Idf801c304458908f0a8ef36bfa5a7a7546e6bf48
2020-03-13Update references to ike stubsAnton Hansson
Bug: 147768409 Test: m Change-Id: Idf801c304458908f0a8ef36bfa5a7a7546e6bf48
2020-02-25Do not statically link ike-stubsevitayan
Stub jars should not be in statically linked except for inside other stub jars. Bug: 145995723 Test: build, flash and reboot Test: FrameworksIkeTests, FrameworksNetTests Change-Id: I503616de0143cc39dd189ae689de3e8d77c345da Merged-In: I503616de0143cc39dd189ae689de3e8d77c345da (cherry picked from commit 5fc0bbaae70508ebb9355387403d91e23fa64e73)
2020-02-21Do not statically link ike-stubsevitayan
Stub jars should not be in statically linked except for inside other stub jars. Bug: 145995723 Test: build, flash and reboot Test: FrameworksIkeTests, FrameworksNetTests Change-Id: I503616de0143cc39dd189ae689de3e8d77c345da
2020-02-21Revert "Add feature flag for "no data" backup calls"Al Sutton
This reverts commit 27c64a3bed785f1bd4bda4896b4df0807d0804d2. Reason for revert: The GMSCore code to handle the flag will be part of DP2 and so we can remove the flag ahead of the cut. GMSCore CL Status; https://cl-status.corp.google.com/#/summary/gmscore_prod/291378558 GMSCore Calendar; http://go/gms-schedule Bug: 147481066 Test: m -j RunBackupFrameworksServicesRoboTests Change-Id: I4159e064e739c6f366063c7fadd7cca40a7f07d9
2020-02-19ParsingPackage/ParsedPackage test code migrationWinson
Part of the Parsing/ParsedPackage split into core/server. Moves core tests that are should now be in services, and cleans up/migrates test code. Import changes, moving classes into the server, and general small cleanup. This is the final commit in the Parsing/ParsedPackage split. Bug: 135203078 Test: enumerated in first commit of change ID Ib4fe51d729a56bfb0ea1316e577358ba0dfceccf Change-Id: I694da372feda070815e05b450807a18d71ec9b9d
2020-02-14Add feature id to location dumpsys.Wei Wang
Sample dumpsys output: Reciever[961e275 listener UpdateRecord[passive android SensorNotification (1000 foreground) Request[POWER_NONE passive fastest=+30m0s0ms] null] monitoring location: true] At 2020-02-14 01:09:12: + passive request from android with feature SensorNotification at interval 1800 seconds Bug: 129416976 Test: atest CtsLocationFineTestCases Change-Id: I15dcc00aac61e47651e41fd95e08d7cdbc553b25
2020-02-11Merge "Give new permission to set cross-profile app-op to ManagedProvisioning"Alex Kershaw
2020-02-11Give new permission to set cross-profile app-op to ManagedProvisioningAlex Kershaw
This is required for the provisioning cross-profile consent screen which is used to take some apps off INTERACT_ACROSS_USERS. Hidden API CrossProfileApps#setInteractAcrossProfilesAppOp is changed from requiring the broad app-op permissions to requiring CONFIGURE_INTERACT_ACROSS_PROFILES. It then clears identity before calling into AppOpsManager. For convenience, we also allow apps (such as Settings) with the broader app-op permissions to continue to call this method; in that case, we simply don't clear the identity and let AppOpsManager check the permissions (so we allow AppOpsManager to set the requirements if you don't have the new CONFIGURE_INTERACT_ACROSS_PROFILES). The CL also adds 'withCleanCallingIdentity' support to CrossProfileAppsServiceImpl and moves over existing calls. Bug: 136249261 Bug: 140728653 Test: atest --verbose com.android.managedprovisioning.provisioning.crossprofile.CrossProfileConsentActivityRoboTest Change-Id: Ibd304563dd1ef5f16784e3502be5ef1ec4675b63
2020-02-11Revert^2 "Add GnssAntennaInfo framework APIs" + added fixesSasha Kuznetsov
fef9247572bdb84b91f469ed9b7cc3995bf41609 Test: End to end test: run "atest GnssAntennaInfoRegistrationTest" on cuttlefish and watch "adb logcat | grep -i GnssAntennaInfo". Other tests: atest GnssAntennaInfoTest, atest GnssAntennaInfoProviderTest, atest GnssManagerServiceTest, atest VtsHalGnssV2_1TargetTest, atest LocationManagerFineTest. Bug: 124556515 Change-Id: Ie1a8a60b9d7b9b95335bc84118639e33e0784ca1
2020-02-11Merge "Revert "Add GnssAntennaInfo framework APIs""Yu-Han Yang
2020-02-11Revert "Add GnssAntennaInfo framework APIs"Yu-Han Yang
Revert "Add GnssAntennaInfo tests" Revert submission 10111057-pco_pcv Reason for revert: Build breakage Reverted Changes: I70e4014dd:Add GnssAntennaInfo framework APIs I072958ecb:Add GnssAntennaInfo tests Ia63a1f502:Add GnssAntennaInfo to HAL Change-Id: I1934b1061737b417bb903f592c8f51cc65523747
2020-02-11Merge "Add GnssAntennaInfo framework APIs"Sasha Kuznetsov
2020-02-10Add GnssAntennaInfo framework APIsSasha Kuznetsov
Test: End to end test: run "atest GnssAntennaInfoRegistrationTest" on cuttlefish and watch "adb logcat | grep -i GnssAntennaInfo". Other tests: atest GnssAntennaInfoTest, atest GnssAntennaInfoProviderTest, atest GnssManagerServiceTest, atest VtsHalGnssV2_1TargetTest, atest LocationManagerFineTest. Bug:124556515 Change-Id: I70e4014dd3959b0570c35bd2aa8bb839ef167d70
2020-02-10Get blocked restore keys directly from UserBMSRuslan Tkhakokhov
Bug: 145126096 Test: atest KeyValueRestoreExclusionHostSideTest atest PerformUnifiedRestoreHostSideTest atest UserBackupPreferencesTest Currently PerformUnifiedRestoreTask gets the list of blocked restore keys at construction. However, at that point the list might not be fully constructed yet. We should get the keys through the getter avaialble in UserBMS when we need them. Change-Id: I62ad34138ba7a893e66d6af05d2e242c9c964a44
2020-01-23Merge "Add feature flag for "no data" backup calls"Al Sutton
2020-01-22Add feature flag for "no data" backup callsAl Sutton
This will allow us to turn off the new functionality while the transport implementations are updated. Bug: 147481066 Test: m -j RunBackupFrameworksServicesRoboTests Change-Id: I8c0019ff80d94dd8d94299a7b03b78e3081f2b8e
2020-01-22Reset unset app-ops when the admin sets cross-profile packages.Alex Kershaw
When the admin unsets cross-profile packages, reset the INTERACT_ACROSS_PROFILES app-op back to the default if it is no longer configurable by the user. Other minor changes: - Remove the explicit app-op permission check from setInteractAcrossProfilesAppOp, since AppOpManager performs that check when required. - Fix the broadcasting logic in CrossProfileAppsServiceImpl to correctly set the component and flags. Bug: 136249261 Bug: 148010178 Test: atest CtsDevicePolicyManagerTestCases:com.android.cts.devicepolicy.ManagedProfileCrossProfileTest Change-Id: Ib8b5f331fb92fc475bc95ad039adf93fac04da37
2020-01-21Merge "Add a checks for _ACROSS_PROFILES apppop or permission."Alex Kershaw
2020-01-21Add a checks for _ACROSS_PROFILES apppop or permission.kholoud mohamed
Use hasPermissionOrAppOpForPreflight to check for INTERACT_ACROSS_PROFILES permission or appop rather than only checking for the permission. BUG: 140728653 BUG: 136249261 Test: atest CrossProfileAppsPermissionHostSideTest Test: atest CrossProfileAppsHostSideTest Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest Test: atest ContextCrossProfileHostTest Change-Id: I81d428d47afd54f294ef9bb44133004762840d09
2020-01-21Notify transports of empty K/V backupsAl Sutton
In order to allow transports to know when a K/V backup would have been performed, but was not due to no data changes being reported, we need to introduce some code to find the K/V backup participants, remove any which are backed up in this sweep or are currently failing to back up due to an error, and then inform the transport of the remaing set. This CL introduces the code to do that. We use a state file to determine if a package backed up without an error on the last run, if the backup fails we remove the file for that package. When all packages with changed data have been backed up we get a list of all packages which have the file set (i.e. were successful), remove the set of packages backed up on this run, and inform the transport the rest had no data changes. Bug:147481066 Test: m -j RunBackupFrameworksServicesRoboTests Change-Id: I5c9f94c925096faf7b65307c0be1a7aba48c1cfb