summaryrefslogtreecommitdiff
path: root/services/backup
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
2021-02-01Update services/backup/OWNERSTobias Thierer
- Add millmore@. Note that this applies to B&R code across all git projects because other backup-related OWNERS files refer to this one (bug 159055442). Test: Treehugger Change-Id: Ic5d2f521ebd7731e47495ae43e7e0d45144d6e69
2020-12-11Fix DevicePolicyManager.isBackupServiceEnabled() breakage.Tobias Thierer
http://ag/12885739 introduced a enforceCallingPermission(BACKUP) check but callers of this API do not hold that permission. This CL fixes this by changing the check to enforceCallingOrSelfPermission(BACKUP), and clearing the binder identity in DevicePolicyManagerService, which makes the system server process the owner of that call. Bug: 158482162 Bug: 172466964 Test: atest com.android.cts.devicepolicy.{Device,Profile}OwnerTest#testBackupServiceEnabling Change-Id: I11d863229c4d62a058aaf37446a694b9c73ae5b8 Merged-In: I11d863229c4d62a058aaf37446a694b9c73ae5b8 (cherry picked from commit 630dec9eb496bc70db44c4f0b4196ea91e7df6cb)
2020-12-11BackupManagerService: Make new behavior conditional on ChangeId.Tobias Thierer
Base CL ag/12885739 introduced unconditional enforcement of the BACKUP permission for callers of BackupManagerService.isBackupServiceActive() in the service, but dropped the enforcement on the app process side (BackupManager). This CL makes the behavior change conditional on a compat ChangeId. Bug: 158482162 Test: Manually checked that an app similar to the code sample from http://b/158482162#comment1 can reproduce the behavior. This is true both before the base CL and after this CL, when the app targets an old SDK version (26). Test: Checked that both (a) before this CL, (b) after this CL where the change is manually enabled for the app via the below commands, the app runs into a SecurityException instead: $ adb shell am compat enable 158482162 com.example.tester $ adb shell dumpsys platform_compat | grep 158482162 ChangeId(158482162; name=IS_BACKUP_SERVICE_ACTIVE_ENFORCE_PERMISSION_IN_SERVICE; enableSinceTargetSdk=31; packageOverrides={com.example.tester=true}) Change-Id: I58e5d2a0b438296137fd76720636c8fdce740ded Merged-In: I58e5d2a0b438296137fd76720636c8fdce740ded (cherry picked from commit 7671f0d95c7e92a2342ed05a053a38d8aa16a17f)
2020-12-11Enforce BACKUP permission on Service end.Tobias Thierer
BackupManager runs in the client process, whereas BackupManagerService runs in the system server process. Therefore, apps permissions need should be enforced on the service side. Bug: 158482162 Test: Manually checked that a sample app encounters SecurityException after but not before this CL, when running code similar to the sample in http://b/158482162#comment1 to figure out whether isBackupServiceActive() for its own uid. Change-Id: I59693819542a80a065a9c88373393b0ba0dbef65 Merged-In: I59693819542a80a065a9c88373393b0ba0dbef65 (cherry picked from commit b2ab2c414fcac5f68edd8d790d3773f1f9330e3b)
2020-12-02Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855Xin Li
Bug: 172690556 Merged-In: I78222391b83a4add8e964340ec08bb8a1306e1c6 Change-Id: I28bbf40820674675ccf765c912aa8140d3f74ab2
2020-10-31Merge "Backup platform: Update OWNERS." am: 0be136593e am: 04af92eeba am: ↵Tobias Thierer
6acfa90ddd Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1479959 Change-Id: I9538bd821e9468a01bcb50aed3a95718cf2ba135
2020-10-29Backup platform: Update OWNERS.Tobias Thierer
Strictly speaking other owners for SettingsProvider/test/... should exist but there aren't any right now, so it's not worth keeping a per-file rule since I don't think that those can be combined with include. Bug: 159055442 Test: Treehugger Change-Id: I38c9c227e16c91f72ee0fc761670f82160e46ae2
2020-09-15Merge changes from topic "sep11" am: c0b288133a am: 69e6f07347 am: ↵Jeff Sharkey
741c0a78cc am: da7478b570 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1426195 Change-Id: I79488866c538bf9e76d0a6429e30262978f6fdab
2020-09-14Update language to comply with Android's inclusive language guidanceJeff Sharkey
See https://source.android.com/setup/contribute/respectful-code for reference Test: none Bug: 168334533 Exempt-From-Owner-Approval: docs updates Change-Id: If75259aab72329f9f8b0e1972a96370ca5134e2c
2020-08-31Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)Xin Li
Bug: 166295507 Merged-In: I3d92a6de21a938f6b352ec26dc23420c0fe02b27 Change-Id: Ifdb80563ef042738778ebb8a7581a97c4e3d96e2
2020-07-27Log only a summary 'Found stale backup journal' message. am: 4b4e781943 am: ↵Tom Cherry
2ae5c5405d Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12240609 Change-Id: I47e5638db690847ba56c465f53d5d63095c4e609
2020-07-27Log only a summary 'Found stale backup journal' message.Tom Cherry
With the goal of reducing log spam, print only a summary 'Found stale backup journal' messages instead of logging within the inner loop. Previously, over 12k messages could be printed at a time from this function. Before this CL: - a backup was scheduled for each packageName from each stale journal - one (or two, if MORE_DEBUG) message was logged for each packageName in each journal file. After this CL: - packageNames are de-duplicated before scheduling backups or logging (it's not clear to me whether duplicate packageNames previously occurred, in practice). - one message is logged for the number (if > 0) of stale journals. - one message is logged for the number (including their names, if MORE_DEBUG) of packages. Bug: 161940947 Test: fewer 'Found state backup journal' messages printed Merged-In: Ia1343e4cea31feb1eba9da561d20736eb5df0a14 Change-Id: Ia1343e4cea31feb1eba9da561d20736eb5df0a14
2020-07-27Log only a summary 'Found stale backup journal' message.Tom Cherry
With the goal of reducing log spam, print only a summary 'Found stale backup journal' messages instead of logging within the inner loop. Previously, over 12k messages could be printed at a time from this function. Before this CL: - a backup was scheduled for each packageName from each stale journal - one (or two, if MORE_DEBUG) message was logged for each packageName in each journal file. After this CL: - packageNames are de-duplicated before scheduling backups or logging (it's not clear to me whether duplicate packageNames previously occurred, in practice). - one message is logged for the number (if > 0) of stale journals. - one message is logged for the number (including their names, if MORE_DEBUG) of packages. Bug: 161940947 Test: fewer 'Found state backup journal' messages printed Merged-In: Ia1343e4cea31feb1eba9da561d20736eb5df0a14 Change-Id: Ia1343e4cea31feb1eba9da561d20736eb5df0a14 (cherry picked from commit 112e3c2d049d304b0aa57750fcaa6415ea2b6fef)
2020-07-08Merge "services/backup/OWNERS: Add more people." am: 944082eca5 am: ↵Tobias Thierer
87783595af am: fdf9fe2499 am: 7b5aeaa798 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1341773 Change-Id: Ie9650c78546e0c502e0af8e0800e9dcd34efdc7b
2020-07-08Merge "services/backup/OWNERS: Add more people." am: 944082eca5 am: 87783595afTobias Thierer
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1341773 Change-Id: I7e93f5e05f1834034fdea4b86a4bc96edd4a2d64
2020-07-07Merge "Fix state deletion for transient backup issues." into rvc-qpr-dev am: ↵TreeHugger Robot
2170ba0f9f Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12086616 Change-Id: Ife1bcb70febb986e465689224dedc47d5025a5b2
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-07-07services/backup/OWNERS: Add more people.Tobias Thierer
Fixes: 159055442 Test: Treehugger Change-Id: Ib2d49b3d347aef0141e6b703054e1f1840c380f2
2020-06-30Merge "Update services/backup/OWNERS" am: 5079d626d9 am: 349777a814Tobias Thierer
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1337174 Change-Id: I786a1df7376d4970af219a6ddaee8a3f6cb9c9e2
2020-06-30Merge "Update services/backup/OWNERS"Tobias Thierer
2020-06-22Change secure setting that controls skipping of user-facing packagesRuslan Tkhakokhov
Bug: 159648065 Test: N/A Change the setting key to be 'backup_skip_user_facing_packages'. See the bug for context. Change-Id: I315141a509976821c7db311544a5c0f4e6fd1917
2020-06-19Merge "Fix file descriptor ownership."Josh Gao
2020-06-18Fix file descriptor ownership.Josh Gao
Previously, we attempt to pass ownership of the fd owned by a ParcelFileDescriptor to a FileInputStream, which explodes when we try to close it. Bug: http://b/156867945 Bug: http://b/159264419 Test: treehugger Change-Id: I9d5124658beb50f0a08499ed09e652037cb9ae66 (cherry picked from commit 3e29e4a39c9090e2815359a1fba0030f62ed8bbb)
2020-06-16Update services/backup/OWNERSTobias Thierer
- Remove former team members. - Add tobiast@ Bug: 159055442 Test: Treehugger Change-Id: I9749f30b43934a1f34526ecf2110dab73c9bd08e
2020-06-15services/backup/OWNERS: Sync with internal version.Tobias Thierer
https://r.android.com/950439 and http://ag/7949925 already attempted this, but a whitespace difference remained. This CL copies ('cp') the internal file to AOSP master; the Merged-In line refers to the internal CL that added the extra empty line, which should lead to automerger skipping this CL when merging into branches that have the other CL. Bug: 129861520 Bug: 159055442 Test: Treehugger Change-Id: I3f83e223a1c7d812f74515008e4c6005ebc3dbe2 Merged-In: I42c27dfc0f3f792c46fe60e0f6807e51a2c3f21e
2020-06-15Fix file descriptor ownership.Josh Gao
Previously, we attempt to pass ownership of the fd owned by a ParcelFileDescriptor to a FileInputStream, which explodes when we try to close it. Bug: http://b/156867945 Test: treehugger Change-Id: I9d5124658beb50f0a08499ed09e652037cb9ae66
2020-05-04Add custom Error Prone check for SDK comparisons.Jeff Sharkey
Over the years we've had several obscure bugs related to how SDK level comparisons are performed, specifically during the window of time where we've started distributing the "frankenbuild" to developers. Consider the case where a framework developer shipping release "R" wants to only grant a specific behavior to modern apps; they could write this in two different ways: 1. if (targetSdkVersion > Build.VERSION_CODES.Q) { 2. if (targetSdkVersion >= Build.VERSION_CODES.R) { The safer of these two options is (2), which will ensure that developers only get the behavior when *both* the app and the platform concur on the specific SDK level having shipped. Consider the breakage that would happen with option (1) if we started shipping APKs that are based on the final R SDK, but are then installed on earlier preview releases which still consider R to be CUR_DEVELOPMENT; they'd risk crashing due to behaviors that were never part of the official R SDK. Bug: 64412239 Test: ./build/soong/soong_ui.bash --make-mode services RUN_ERROR_PRONE=true Exempt-From-Owner-Approval: trivial blueprint changes Change-Id: Ia20181f8602451ac9a719ea488d148e160708592
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-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-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-20Add debug logging when keys are blockedAl Sutton
Adding a log statement at debug level so when the key blocking system is tested end-to-end there's an easy indicator of a key being blocked. Bug: 149548272 Test: No code which affects functionality to test Change-Id: I9de8a7d47ffb75520d1adcba620ec13345c1c4ae
2020-02-10Merge "Get blocked restore keys directly from UserBMS"Ruslan Tkhakokhov
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-02-04Merge "Avoid warning logs on blocking Binder calls out of system_server to ↵Chandan Nath
IBackupTransport"
2020-02-03Avoid warning logs on blocking Binder calls out of system_server to ↵nathch
IBackupTransport The implementations of IBackupTransport are whitelisted therefore in the short-term, its OK to allow these calls and avoid the warning logs which can be distracting when looking at logs to investigate bugs and are not of any real value since we are already aware of this. Bug: 148783926 Test: atest -v CtsBackupTestCases Test: atest -v CtsBackupHostTestCases Change-Id: I13e2a638891d0369310bc2c665fa772306a28199
2020-01-30Add logging for error conditions when reading or writing backup enablednathch
state. Also add debug logging when reading or writing backup enabled state to be able to better investigate bugs. Bug: 148587496 Bug: 147352819 Test: atest -v RunBackupFrameworksServicesRoboTests Test: atest -v $(find frameworks/base/services/tests/servicestests/src/com/android/server/backup -name '\''*Test.java'\'')' Change-Id: I3c9b158ce57558daa5437cebe6aa0a0c924692fc
2020-01-28Stage 'android' package in PerformUnifiedRestoreTaskRuslan Tkhakokhov
Bug: 145126096 Test: atest KeyValueRestoreExclusionHostSideTest atest PerformUnifiedRestoreTaskTest In a KV restore after getting data from the transport, we save it into a stage file. Then we go through the keys and do filtering: skip the keys that should be excluded and extract the widget data into a separate file. The rest of the data is wirtten into the file where the app's backup agent will read it from. However, this process is skipped for 'android' package. It was done as an optimization before the ability to exclude keys from restore was introduced: as 'android' backup data doesn't contain any widget info. However, now we need to process 'android' package as well because it can contain keys to be excluded. Change-Id: I612f8cc9c6903c9bd257762360dadb81ed12d106
2020-01-27Add log when acquiring and releasing wakelock.nathch
This is so that we can add a CTS test which asserts through logcat inspection that backup and restore operations acquire and release wakelock in the expected manner. Change-Id: I1a73bd674c22ad7f0f37aba100aee819abe9f4d2
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-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
2020-01-16Remove RunBackupReceivernathch
Currently, the logic for backupnow is split between UserBackupManagerService, RunBackupReceiver and BackupHandler. This makes it very confusing as the pre checks are split over three classes and there's no obvious reason why it is like that. On the other hand, requestBackup is split nicely into checks in UserBackupManagerService and starting the work from BackupHandler. This change removes RunBackupReceiver for backupNow and splits the logic only between UserBackupManager and BackupHandler - in the direction of making it consistent with requestBackup by moving the checks to UseBackupManagerService. (except the check for isBackupRunning which needs to be in the same synchronised block as setBackupRunning). Also, this CL moves the wakelock acquire from RunBackupReceiver (removed in this CL) to BackupHandler. Previously, RunBackupReceiver would acquire the wakelock and then send MSG_RUN_BACKUP. BackupHandler would then have to release that wakelock when it finds it cant run the backup because there's no transport. Now, the acquire is in BackupHandler after checking the transport. Therefore we dont need that release (when there's no transport) anymore A side benefit is we get rid of an extra hop to the broadcast receiver so potentially backups should be scheduled (albeit very slightly) faster. Test: atest -v RunBackupFrameworksServicesRoboTests Test: atest -v $(find frameworks/base/services/tests/servicestests/src/com/android/server/backup -name '\''*Test.java'\'') Test: atest -v CtsBackupTestCases Test: atest -v CtsBackupHostTestCases Bug: 147741497 Change-Id: I40051540c7e8531ef05076eab7ccc5b44b0c08d2
2020-01-14Remove unnecessary synchronized blocknathch
The only two actions within the block are sending an intent and canceling a job none of which have anything to do with the queuelock Test: atest -v RunBackupFrameworksServicesRoboTests Test: atest -v CtsBackupTestCases Test: atest -v CtsBackupHostTestCases Bug: 136738613 Change-Id: Ieedb73edf6cd40792232b48a26613b497c87ba02
2020-01-14Remove unused messages which are not sent from anywhere.nathch
Test: Compile with cd frameworks/base && mm Bug: 136738613 Change-Id: I25352abe71745487a3b741764ba84a4c67c38ec8
2020-01-10Fix bad test for testGetUserForAncestralSerialNumber which wasnathch
previously marked as @Ignore. The test was bad because it set 11 as the ancestral serial number for the system user UserBackupManagerService but asserted that 11 corresponds to user 1 - which is not the system user. This CL fixes the assert. Also added corresponding test for non system user. Fixes: 147012496 Test: atest com.android.server.backup.BackupManagerServiceTest Change-Id: Iab736885264aa4befc644678e5fe66d602ed00e3
2020-01-10Dump information for all users running backup in backup dumpsys.nathch
Currently backup dumpsys in bugreport only contains information for system user making it hard to debug backup bugs in non-system users. Therefore, add dumpsys information for all users running backup. For system user, keep the dumpsys format the same for compatibility with cts and gts tests. For non-system users, add a prefix "User <userid>:" to all dumpsys headers. The changes in Android.bp and AndroidManifest.xml are to support mocking of the static method DumpUtils.checkDumpAndUsageStatsPermission in the test testDump_systemUserFirst Bug: 143867387 Test: atest com.android.server.backup.BackupManagerServiceTest Test: atest com.android.server.backup.UserBackupManagerServiceTest Test: adb shell pm create-user test1 -> say this gives 11 adb shell am start-user 11 adb shell bmgr --user 11 activate true adb shell dumpsys backup users -> "Backup Manager is running for users: 0 11" adb shell dumpsys backup -> contains both "Backup Manager is enabled / setup complete / not pending init" and "User 11:Backup Manager is disabled / not setup complete / not pending init" adb shell pm remove-user 11 Test: "adb bugreport" on device with secondary user as created above and check that result contains dumpsys for both system and secondary users. Test: atest -v CtsBackupTestCases Test: atest -v CtsBackupHostTestCases Change-Id: Ib94c168f8e89b0ba8f398152ea744fe3d626efc4
2020-01-06Handle uncaught exceptions in BackupHandlerRuslan Tkhakokhov
Bug: 144431410 Test: 1. atest BackupHandlerTest 2. Manual (with and without the fix): 1) Locally create a host-side CTS test that extends BaseMultiUserBackupHostSideTest 2) Modify the test so that it creates a user, starts backup init and removes the user 3) Add log in BackupHandler to indicate when an exception is suppressed. 3) If the fix is applied, verify the crash doesn't happen and the log message from 3) is present. If the fix isn't applied verify that the crash happens. After backup service for a user is stopped, leftover work on the corresponding BackupHandler can throw exceptions. If uncaught, they can crash the system process. Catch all uncaught BackupHandler exceptions after the backup service has entered the stopping state, to allow any leftover work to finish harmlessly. Change-Id: I8c233ad0e117ec0ae65599a762d87f15f8a3cec2
2020-01-03Replace com.android.internal.util.Preconditions.checkNotNull withDaulet Zhanguzin
java.util.Objects.requireNonNull Bug: 126528330 Test: Treehugger Change-Id: I54e2f3cc4353128de012ccbb39cd912ea1696161