summaryrefslogtreecommitdiff
path: root/tests/PackageWatchdog
AgeCommit message (Collapse)Author
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-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-06-01Unbind explicit health check controller when possibleGavin Corkery
Ensure that calls to sync requests with the explicit health check controller are always sent if the list of packages pending health checks is empty, so that the controller can unbind. This will allow extservices to be killed by lmkd on low memory devices. Test: atest PackageWatchdogTest Test: atest NetworkStagedRollbackTest Test: check logcat to see that the service is unbound Bug: 156323728 Change-Id: If615a337760b2057b962284bde8565b593d82a50
2020-05-29Revert "Ensure that health check controller is unbound correctly"Gavin Corkery
This reverts commit 553c94bcabce0fb449a97da502969b20d1cffd16. Reason for revert: Breaks NetworkStagedRollbackTest. Will re-submit change once I have a fix for that issue Bug: 157662759 Change-Id: If81c01c597f37ff01924c8b038cbd38f77e7fa06
2020-05-27Ensure that health check controller is unbound correctlyGavin Corkery
Explicitly call into the health check controller if there are no more packages to check. This is due to the fact that the ExplicitHealthCheckController will unbind itself in this case. If this call is not made, the controller will continue running in the foreground and will not be killed by lmkd. Test: atest PackageWatchdogTest Test: check logcat to see that the service is unbound Bug: 156323728 Change-Id: I0044d0832178ee90043d5e64e406df07ee2c36a2
2020-03-24Preserve failure history when calling startObservingHealthGavin Corkery
Instead of always creating a new MonitoredPackage every time PackageWatchdog#startObservingHealth is called, just update the duration of an existing MonitoredPackage if one exists. This means that the failure history will be preserved. Test: atest PackageWatchdogTest Bug: 150114865 Change-Id: I6d6e3e0e893a603fda50df833bc5b6ce1757b6ec
2020-03-17Sync requests only when there are changes to reportGavin Corkery
Instead of periodically syncing requests with the same information, only call into the ExplicitHealthCheckController when the set of packages with pending health checks has changed, or a new observer has been registered. Add tests to verify that duplicate calls are not made. Test: atest PackageWatchdogTest#testSyncHealthCheckRequests Test: atest NetworkStagedRollbackTest Bug: 150114865 Bug: 146767850 Change-Id: I2926e9c7689e0ac9c4a142263ffd50a4747d016f
2020-03-10Remove NPE in onPackageFailureGavin Corkery
It is possible for null to be returned by ProcessRecord.getPackageListWithVersionCode on package failure. This can cause a NPE in Package Watchdog. Ensure that the list of failing packages is not null. Test: atest PackageWatchdogTest Bug: 151113966 Change-Id: Iab23cd6b4b8ae6b787df5f0b831b51e0ac8b3d31
2020-03-06Add test for ExplicitHealthCheckServiceGavin Corkery
Test the notifyHealthCheckPassed method to ensure that the expected information is sent when an explicit health check passes. Bug: 150638807 Test: atest ExplicitHealthCheckServiceTest Change-Id: I98c1c3bf018a82ea769846b4212c295518814a18
2020-01-15Integrate Rescue Party boot loop logic to Package WatchdogGavin Corkery
Make Package Watchdog the component that receives calls about boot events, and decides on whether or not to perform mitigation action for a perceived boot loop. The logic for selecting an observer to handle boot loops is similar to how package failure is handled. The threshold logic is the same as it was in Rescue Party (5 system server boots in 10 minutes). Rescue Party maintains its own rescue levels internally, which map to user impact levels. Add optional onBootLoop() and executeBootLoopMitigation() methods to PackageHealthObserver. Add tests to handle the new cases handled by Package Watchdog. Test: atest RescuePartyTest Test: atest PackageWatchdogTest Bug: 136135457 Change-Id: Ic435e60318e369509975c19a9888741e047803de
2020-01-08Integrate Rescue Party with Package WatchdogGavin Corkery
Integrate Rescue Party as an observer for Package Watchdog, for managing package failures. Rescue Party will be a persistent observer, meaning it may receive failure calls for packages it has not explicitly asked to observe. Remove app failure calls and thresholding logic from Rescue Party. Remove obsolete Rescue Party tests and add persistent observer tests to PackageWatchdogTest. Test: atest PackageWatchdogTest Test: atest RescuePartyTest Test: atest StagedRollbackTest Bug: 136135457 Change-Id: I55ec0de48acd5434255811feba758d38c9304478
2019-12-12Move native crash detection to Package WatchdogGavin Corkery
For the sake of consolidating various error detection mechanisms, move native crash detection to Package Watchdog. Add a method to allow the traditional threshold logic to be bypassed in this case. This method will be used in the future for prioritizing explicit health check failures. Test: atest StagedRollbackTest#testNativeWatchdogTriggersRollback Bug: 145584672 Change-Id: I98eb9f45a6f4a6d15001650e31ba9c596905663a
2019-12-09Add package failure flags to Package WatchdogGavin Corkery
This is a prerequisite for adding additional logging of the Watchdog-triggered rollback reason. Add flags which indicate the failure observed (native, crash, ANR, explicit health check). These will be used in the future by RollbackPackageHealthObserver to map the failure type to the (new) set of available logging metrics. Test: atest PackageWatchdogTest Bug: 138782888 Change-Id: I7e7c5e5399011e2761dada2b989a95c2013307e9
2019-11-28Better handle cases where version code can't be resolved (2/n)JW Wang
Use factory method to create MonitoredPackage which will return null when version code can't be resolved. Bug: 141155222 Test: atest PackageWatchdogTest Change-Id: I6c983872cbdfd02940d76f7307aa4a6a1062d438
2019-09-24Fix testExplicitHealthCheckFailureBeforeExpiryJW Wang
The code doesn't work as intended. What we should do is: 1. set up so that health check duration is shorter than observation duration 2. move time forward so we fail the health check 3. check observer.mMitigatedPackages contains only APP_A 4. move time forward again to expire the observation duration 5. check APP_A is not notified again as a failed package Also add a similar test where the observation duration is shorter than the health check duration. Bug: 141518951 Test: atest PackageWatchdogTest Change-Id: Iba1cdc4fab8608982b416cdb463ed4b38d355c9f
2019-09-17Use a default value in case of an invalid parameterJW Wang
Since startObservingHealth is called during boot, it is less desirable to cause boot loops by an uncaught exception. We will fall back to DEFAULT_OBSERVING_DURATION_MS when invalid durationMs is passed. See b/140780361 for more details about the design decision. Bug: 140780361 Test: atest PackageWatchdogTest Change-Id: I2bcbecb2dc4c2448ef697001dd93aea5f50f9dbf
2019-09-12Fix the algorithm counting the package failuresJW Wang
Use the sliding window algorithm to detect if there exists a window containing failures equal to or above the trigger threshold. Bug: 140841942 Test: atest PackageWatchdogTest Change-Id: I34a20e4d3b98a093dffa05fc7c7c026905834b53
2019-09-11Fix a typo in PackageWatchdog#updateConfigsJW Wang
DEFAULT_TRIGGER_FAILURE_DURATION_MS should be assigned instead. Bug: 140847332 Test: atest PackageWatchdogTest Change-Id: I6956989ea8faf7de48ec83df38f15412e1aa624b
2019-09-10Remove the comment that is not applicable anymoreJW Wang
Bug: 140700197 Test: PackageWatchdogTest Change-Id: I98412ec04c8d502acf670454ebf460ba82df904f
2019-09-10Improve PackageWatchdogTest#raiseFatalFailureJW Wang
Since calls to raiseFatalFailure are always followed by TestLooper#dispatchAll, we can combine them to reduce boilerplate code. Bug: 140691154 Test: atest PackageWatchdogTest Change-Id: I0ea23dc132f2ad26ced1119bc5278bc5d876949c
2019-09-09Use Truth in PackageWatchdogTest.javaJW Wang
Bug: 140700197 Test: PackageWatchdogTest Change-Id: I6ffae52a2f31a56ad4577368e204edf3f62adfd1
2019-09-09Replace MonitoredPackage#STATE_ constants with IntDefJW Wang
Bug: 140598494 Test: atest PackageWatchdogTest Change-Id: I86440772ff594e82d7ff4d0d3784d28ec2d4064c
2019-09-06Remove unused code (6/n)JW Wang
Bug: 140472424 Test: atest PackageWatchdogTest Change-Id: I9c42b20785c3002a4d73423a0cac26e3d45640eb
2019-09-06Rewrite testObserveAlreadyObservedPackage (5/n)JW Wang
Bug: 140472424 Test: atest PackageWatchdogTest Change-Id: Iec9da1b3495cf3f933ecb47879a2ff82ad76fe75
2019-09-06Rewrite PackageWatchdogTest#testPersistence (4/n)JW Wang
Bug: 140472424 Test: atest PackageWatchdogTest Change-Id: I094a7a4d5ebcff673345403156b35c69f5407bca
2019-09-06Rewrite PackageWatchdogTest#testRegistration (3/n)JW Wang
Following go/unit-test-practices, we split testRegistration into smaller ones so each test focuses on one behavior at a time. Note we will remove testRegistration in a later CL. Bug: 140472424 Test: atest PackageWatchdogTest Change-Id: I88e00a8fc43b953d575ee047979b7fe1d5fbd3ba
2019-09-06Collect packages when TestObserver#onHealthCheckFailed is called (2/n)JW Wang
TestObserver#mHealthCheckFailedPackages is added to collect packages when TestObserver#onHealthCheckFailed is called. It will be used to test if resgistration/unregistration is done successfully. TestController#mFailedPackages is also renamed to be distinguished from mHealthCheckFailedPackages. Bug: 140472424 Test: atest PackageWatchdogTest Change-Id: I791e0a1b8e5d59ae766502b54a0782d509b209b5
2019-09-06Add a helper to reduce boilerplate code (1/n)JW Wang
Bug: 140472424 Test: atest PackageWatchdogTest Change-Id: I3aa80f1c7706702620da0ce2247afe0359cb0674
2019-09-05Replace Thread.sleep() with TestLooper.moveTimeForward()JW Wang
TestLooper.moveTimeForward() changes the target delivery time of the messages in the queue to simulate elapsed time. This allows tests to run faster in a more deterministic way without incurring the indeterminism caused by Thread.sleep() which is usually a source of flakiness and should be avoided when possible. Bug: 140208026 Test: atest PackageWatchdogTest Change-Id: I3365093838ec9fa2de5742359f6947379add7703
2019-09-04Add a wrapper around SystemClock.uptimeMillis().JW Wang
This bug is motivated by bug 140208026 where we want to replace Thread.sleep() with TestLooper.moveTimeForward() in PackageWatchdogTest.java. However, it turns out that PackageWatchdog uses SystemClock.uptimeMillis() internally. The tests will fail if we don't forward PackageWatchdog's internal clock accordingly. We add a wrapper around SystemClock.uptimeMillis() so it is customizable by the test case. Bug: 140358475 Test: atest PackageWatchdogTest Change-Id: Id26325a93dc4050c6468502347b0e7852ed1263f
2019-08-12NetworkStackClient: Refactor network stack process interactionRoshan Pius
Refactor NetworkStackClient class to move the module service binding & network stack process death monitoring to a separate class. This class will only instantiated in the SystemServer process. The new class |SystemServerToNetworkStackConnector| will be used from the client classes corresponding to each module running on the network stack process (NetworkStackClient, WifiStackClient, etc) This has 2 main advantages: a) Reduces code duplication (Otherwise the various Client classes need to replicate the service bindding & process death monitoring). b) Central crash recovery for the network stack process (Otherwise the various Client classes will trigger multiple recovery for a single network stack process crash). Bug: 135679762 Test: Device boots up & connects to wifi networks. Change-Id: I673581b0067b9a3f72dd68a3ab622c18183ebd2e Merged-In: I673581b0067b9a3f72dd68a3ab622c18183ebd2e
2019-05-30Add tests for NetworkStack failure notificationsRemi NGUYEN VAN
The test adds a dependency on mockito extended to be able to mock the Context, PackageManager etc. Test: atest PackageWatchdogTest#testNetworkStackFailure (+rest of class) Bug: 133725814 Change-Id: Iba8a47f5e94b5dba49d6d395085e77285305ee7c
2019-05-30PackageWatchdog listens for NetworkStack failuresRemi NGUYEN VAN
In addition to the NetworkStack app monitoring, have PackageWatchdog register an observer to NetworkStackClient to receive severe failure notifications, and attempt a rollback if available. The callback is registered in onPackagesReady(), which is called in the boot sequence just before starting the NetworkStack. Test: installed new networkstack, killed it twice, observe rollback Test: unit test in change on top Bug: 133725814 Change-Id: I2cb4200b78c2482cacc4bfe2ace1581b869be512
2019-05-01Update PackageWatchdogTestshafik
Make PackageWatchdogTest compatible to the changes that added DeviceConfig flags to PackageWatchdog. This includes: * Make PackageWatchdog#setExplicitHealthCheckEnabled private and use DeviceConfig mechanism for changing that value instead * Disable TestLooper#startAutoDispatch * Other minor refinements that solve compatibility issues Bug: 129335707 Test: atest com.android.server.PackageWatchdogTest Merged-In: I7323dc65ec2957aeab128224864441bdf63c6f81 Change-Id: I7323dc65ec2957aeab128224864441bdf63c6f81
2019-04-24Change watchdog PackageInfo to PackageConfigZimuzo
Test: atest PackageWatchdogTest Bug: 131165818 Change-Id: Ie3a385468a0de05bc55862e6f71513077d44bbc0
2019-04-11Fixed PackageWatchdog health check stateZimuzo
1. Receiving List<PackageInfo>: Since I29e2d619a5296716c29893ab3aa2f35f69bfb4d7, we now receive a List of PackageInfo instead of Strings for packages supporting explicit health checks. Now, we parse this List<PackageInfo> from ExtServices instead of trying to parse List<String> and we use the health check timeout in the PackageInfo as the health check expiry deadline instead of using the total package expiry time. 2. Updating health check durations onSupportedPackages: Before, we always updated the health check duration for a package if the package is supported and the health check state is not PASSED, this caused the health check duration for a package to never reduce as long as we kept getting onSupportedPackages. Now, we improved the readability of the state transitions onSupportedPackages. We now correctly only update the health check duration for supported packages in the INACTIVE state. 3. FAILED state: Before we only had INACTIVE, ACTIVE and PASSED states. When a package has failed the health check we could notify the observer multiple times in quick succession and get into a bad internal state with negative health check durations. Now we added check to ensure we don't try to schedule with a Handler with a negative duration and we defined a negative health check duration to be a new FAILED state if the health check is not passed. This clearly defines the state transitions as seen below: +----------+ +---------+ +------+ | | | | | | | INACTIVE +---->+ ACTIVE +--->+PASSED| | | | | | | +-----+----+ +----+----+ +------+ | | | | | | | | | +----v----+ | | | +----------> FAILED | | | +---------+ 4. Uptime state: Everytime we pruned observers, we scheduled the next prune and stored the current SystemClock#uptimeMillis. This allowed us determine how much time had elapsed for the next prune. The uptime was not correclty updated when starting to observe already observed packages. With the following sequence of events: -monitor package A for 1hr -30mins elapsed -monitor package A again for 1hr A would expire 30mins from the last event instead of 1hr. This was because the second time around, we saved the new state to disk but did not reschedule so did not update the uptime at last schedule, so 1hr from the first event, we would prune packages with the original uptime and incorrectly expire A earlier. Now we update all internal state, fixed this and added a test for this case. 5. Readability Improved method variable names, logging and comments. Bug: 120598832 Test: Manual testing && atest PackageWatcdogTest Change-Id: I1512d5938848ad26b668636405fe9b0db50d3a2e
2019-04-08Allow different explicit health and package expiry timeoutsZimuzo
We have always evaluated the explicit health check results on package expiry. Since I29e2d619a5296716c29893ab3aa2f35f69bfb4d7 we now receive explicit health check timeouts from ExtServices. This cl doesn't yet use the timeout but it treats explicit health check timeouts as different events from package expiry. This is in preparation to use the timeouts from the cl mentioned above. Improved readability: Logging, comments, variable and function names Bug: 120598832 Test: atest PackageWatchdogTest Change-Id: I8030dae1fef5b8fee42095c1eaf16861cc33ac59
2019-04-04Refactor PackageWatchdog explicit health checksZimuzo
Improvements: 1. Queuing PackageWatchdog requests to startObserving packages: When observing packages with the watchdog, we needed to get the packages supporting explicit health checks so we can decide if a package should be passing or not. This prevents us from receiving requests to monitor packages during early boot, before third party packages are ready. In this change we don't depend on ExtServices to be up to startObserving, we initially treat all package as failing a health check and lazily syncRequests to request or cancel explicit health checks based on the currently observed packages. When we receive onSupportedPackages, we mark the packages that don't support health checks as passing. 2. Lazy binding to the explicit health check service: We were always bound to the explicit health check service regardless of whether we are expecting requests or not, we need to be able to bind and unbind dynamically to improve device resource usage. In this change, we bind as soon as we make a request and are expecting results, we unbind otherwise. 3. Fixed Races: There were a couple of potential races that could lead to exceptions that could bring the system server down, e.g when the service is transitioning between disconnected and connected state (maybe it crashed) or when ExtServices is being upated and is down or early boot requests when third party apps are not ready. This change fixes such. 4. Logging: We improved the logging wording and order and made it more consistent Bug: 120598832 Test: Manual tests. Stress tested behavior by killing extservices and making requests simultaneously function killproc { while true do local pid=$(adb shell pidof $1) if [[ ! -z $pid ]] then echo $pid adb shell kill $pid fi done; } adb install-multi-package -i com.android.shell --enable-rollback \ NetworkStack.apk ModuleMetadataGoogle.apk Also switched between enabled and disabled states to verify packages are handled correctly. Will automate these tests in later cl atest PackageWatchdogTest Change-Id: Iafaef553e95d107f700109f9a8328950a5e2bf71
2019-04-01Add explicit health check to PackageWatchdogZimuzo
PackageWatchdog now uses the ExplicitHealthCheckController introduced in Ia030671c99699bd8d8273f32a97a1d3b7b015d3b when observing packages. Bug: 120598832 Test: Manually tested that after an APEX update, the network stack does not pass the explicit health check until WiFi is connected successfully. If Wi-Fi is never connected and the network stack monitoring duration is exceeded, the update is rolled back. Change-Id: I75d3cc909cabb4a4eb34df1d5022d1afc629dac3
2019-03-12Convert tests/**/Android.mk files to Android.bp, part IISasha Smundak
See build/soong/README.md for more information. Bug: 122332340 Test: treehugger Change-Id: I886b6536a0ef1c8d21f15ec7ff9fdb9784d5b865
2019-03-06Fail package if explicit health check does not passZimuzo
As part of extending PackageWatchdog with explicit health check support in Ib4322c327bcb00ca9a3fbdc83579e7b5f2fd633b. Trigger the observers #execute method if a package never passed explicit health check on expiry. Bug: 120598832 Test: atest PackageWatchdogTest Change-Id: I8e916a6ca115d3883fe29f66456da36cd0ed09fb
2019-03-06Merge "Extend PackageWatchdog with explicit health checks"Zimuzo Ezeozue
2019-03-06Extend PackageWatchdog with explicit health checksZimuzo
Allow PackageWatchdog to monitor packages with explicit health checks enabled. In this case, at the end of a monitoring duration if a passed-health-check callback is not triggered, the package would be regarded as failed (in a later cl) and the observer is notified. If monitoring without explicit health checks, the behavior is the same as before, packages expire silently. TODO: Implement the package failure trigger on expiry with failed explict checks and enable added tests Removed username from TODO comments Bug: 120598832 Test: atest PackageWatchdogTest Change-Id: Ib4322c327bcb00ca9a3fbdc83579e7b5f2fd633b
2019-03-02Migrate remainder of frameworks/base to androidx.testBrett Chabot
See go/jetpack-test-android-migration Exempt-From-Owner-Approval: automated package name refactoring Test: m m -j BroadcastRadioTests KeystoreTests mediaframeworktest ActivityManagerPerfTests AppLaunch AppLaunchWear BackgroundDexOptServiceIntegrationTests AppCompatibilityTest DynamicCodeLoggerIntegrationTests FlickerLibTest InternalTests PackageWatchdogTest RcsTests RollbackTestAppAv1 RollbackTestAppAv2 RollbackTestAppACrashingV2 RollbackTestAppBv1 RollbackTestAppBv2 RollbackTestAppASplitV1 RollbackTestAppASplitV2 RollbackTest ServiceCrashTest UsageStatsPerfTests UsbTests WindowAnimationJank Change-Id: I32fe3297656eec6060da6c7e24582bcd5315fb16
2019-02-01Refactor PackageWatchdog to use VersionedPackageZimuzo
We now pass a VersionedPackage argument instead of passing separate method arguments for packageName and versionCode. Test: atest PackageWatchdogtest Bug: 120598832 Change-Id: I8dd7e6d1e144251830108c58f4a752c411d7295b
2019-01-29Notify PackageHealthObservers of the package versionCode on package failureZimuzo
PackageHealthObservers may need to verify that the package failure notification they receive matches the expected package version code. We now pass the version code along with the package name when notifying observers. Test: atest com.android.server.PackageWatchdogTest Bug: 120598832 Change-Id: I272965d08a07240f3bde358039b52187ff2dd3cf
2019-01-28Add PackageHealthObserverImpactZimuzo
When a package fails health check, observers will report the impact of their action on the user. Only the observer with the least user impact will be allowed to take action. Bug: 120598832 Test: atest PackageWatchdogTest Change-Id: I15f358cd599431e1d7ea211aea5b1391f4aa33ab
2019-01-14Depend on services.core instead of services to fix coverage build.Allen Hair
Bug: 122839224 Test: EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true SKIP_BOOT_JARS_CHECK=true WITH_DEXPREOPT_BOOT_IMG_AND_SYSTEM_SERVER_ONLY=true mma Change-Id: Idfd55f951de60905dc68ada087f23dd670a84ec0
2019-01-11Fix PackageWatchdog and add PackageWatchdogTestZimuzo
Fixes: 1. Remove registered observer when removed from persisted file 2. Only call external observers after threshold is exceeded 3. Handle edge case where we reschedule package cleanup and elapsed time is longer than scheduled duration 4. Modify code to allow easier testing Bug: 120598832 Test: atest PackageWatchdogTest Change-Id: I92181136fb5994a4d8ebe976be3138f210e853a5