Skip to content
Snippets Groups Projects
  1. Feb 17, 2021
    • Bob Badour's avatar
      [LSC] Add LOCAL_LICENSE_KINDS to frameworks/base · 784edef8
      Bob Badour authored
      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: Ic44d662936d1ff0cae7fbe915932b37aa4e4869a
      784edef8
  2. Feb 16, 2021
    • Bob Badour's avatar
      [LSC] Add LOCAL_LICENSE_KINDS to frameworks/base · 051ef786
      Bob Badour authored
      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
      051ef786
  3. Dec 08, 2020
    • Jeff Sharkey's avatar
      Improve OWNERS coverage across frameworks/base/. · fab0ab3c
      Jeff Sharkey authored
      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 from
      detailed ownership information confirmed by team leads.
      
      Bug: 174932174
      Test: manual
      Exempt-From-Owner-Approval: refactoring with team leads buy-in
      Merged-In: I9789c97c1de8e5d962b48c29c57d82fe83729eba
      Change-Id: I9789c97c1de8e5d962b48c29c57d82fe83729eba
      fab0ab3c
  4. Dec 01, 2020
    • Jeff Sharkey's avatar
      Additional hand-migration to TypedXml interface. · 1f5d9af0
      Jeff Sharkey authored
      Previous changes have applied mechanical refactorings, but this change
      hand-migrates the remaining logic which was too complex to identify.
      
      This change should have no behavior change; famous last words.
      
      Bug: 171832118
      Test: manual
      Exempt-From-Owner-Approval: trivial refactoring
      Change-Id: If2d4b1a354481a83edb4bbcfa22f690b7f5e97c3
      1f5d9af0
  5. Nov 16, 2020
    • Jeff Sharkey's avatar
      Refaster templates for new TypedXml classes. · f14ed648
      Jeff Sharkey authored
      Since we have over 100 unique schemas across the OS, it would be
      incredibly tedious to try migrating all that logic to use the more
      efficient TypedXmlSerializer and TypedXmlPullParser interfaces.
      
      To aid this migration process, this change adds Refaster templates
      that offer to refactor matching existing code in a no-op fashion.
      
      This change also upgrades Error Prone to the latest release.
      
      Bug: 171832118
      Test: manual
      Change-Id: Ic93a46d646edee98af7d0e2f7891d931fca4825f
      f14ed648
  6. Nov 13, 2020
    • Jeff Sharkey's avatar
      Progress towards efficient XML serialization. · ca3ea931
      Jeff Sharkey authored
      Related changes are introducing new TypedXmlSerializer and
      TypedXmlPullParser interfaces which offer efficient access to
      primitive attributes, and this Error Prone detector helps identify
      code that should shift to using those new interfaces.
      
      Bug: 171832118
      Test: atest error_prone_android_framework_test
      Change-Id: Ic3ca6b96d2b056e6178e407af886bb925a3471c8
      ca3ea931
  7. Oct 21, 2020
    • Jeff Sharkey's avatar
      Trivial refactor for consistent naming. · a49ba3ac
      Jeff Sharkey authored
      This gives all our various new performance-related checkers a
      consistent "EfficientFooChecker" naming style.
      
      Bug: 155703208
      Test: atest error_prone_android_framework_test
      Change-Id: I8809fe46d20357201c8559037b468d717319afb9
      a49ba3ac
    • Jeff Sharkey's avatar
      Expand formatSimple() to support widths. · caf66d02
      Jeff Sharkey authored
      One of the highest-traffic users of String.format() is in the
      notification code, which uses argument widths.  To support these
      use-cases, this change adds argument width support, with tests.
      
      Bug: 170978902
      Test: atest error_prone_android_framework_test
      Exempt-From-Owner-Approval: trivial additions
      Change-Id: I8e36d4725a6d0cc896dedc5c457eb5f38486d7b6
      caf66d02
    • Jeff Sharkey's avatar
      Refinement of EfficientStringsChecker. · 5c46da2a
      Jeff Sharkey authored
      It's okay if callers try mixing "static final" values into strings,
      since the compiler will inline these to avoid the StringBuilder.
      
      We also expand to catch any arguments that might be dynamically
      calculated, such as method invocations.
      
      Identify additional inefficient code patterns:
      
      -- Passing dynamic strings into a StringBuilder, which acquires a
      transparent StringBuilder for each append.
      -- Using "str += val;" style concatenation, which acquires a
      transparent StringBuilder for each append.
      -- Using StringBuffer which has synchronization overhead.
      
      Bug: 170978902
      Test: atest error_prone_android_framework_test
      Change-Id: Ia3758dd55a0e6753b0cc5bc83ae8fe45b6bfde1f
      5c46da2a
  8. Oct 16, 2020
    • Jeff Sharkey's avatar
      Recommend efficient String operations. · a52266b3
      Jeff Sharkey authored
      Android offers several efficient alternatives to some upstream
      String operations, such as the newly added TextUtils.formatSimple().
      
      This checker also detects and discourages transparent StringBuilder
      operations related to Preconditions, where we always pay the cost of
      building the failure message string, even in the successful case.
      
      Bug: 170978902
      Test: atest error_prone_android_framework_test
      Change-Id: I8cef4c50d8b0da3f1e66727dfa724ad44b88963b
      a52266b3
  9. Oct 08, 2020
    • Ashwini Oruganti's avatar
      Error prone checks for mutability flags on PI · 1f0c0813
      Ashwini Oruganti authored
      Add a mutability flag check for all method calls that create a PendingIntent.
      
      Bug: 160794467
      Test: atest error_prone_android_framework_test:com.google.errorprone.bugpatterns.android.PendingIntentMutabilityCheckerTest
      Change-Id: I26a51a6dddb2793e9a56e72876f3f9d2aea4e3fb
      1f0c0813
    • Jeff Sharkey's avatar
      Upgrade AndroidFrameworkBinderIdentity to fatal. · 7cdc3bf9
      Jeff Sharkey authored
      We've fixed all outstanding examples of malformed code, so we're
      ready to upgrade this Error Prone detector to break the build to
      ensure that all future code follows best-practices.
      
      Bug: 155703208
      Test: make
      Change-Id: I617b8e7a8f96a4299ed0144bd915b87920f1af87
      7cdc3bf9
  10. Oct 06, 2020
    • Jeff Sharkey's avatar
      Tighten up Binder.clearCallingIdentity() usage. · 2d2e07e2
      Jeff Sharkey authored
      The recently added AndroidFrameworkBinderIdentity Error Prone checker
      examines code to ensure that any cleared identities are restored to
      avoid obscure security vulnerabilities.
      
      This change is a purely mechanical refactoring that adds the "final"
      keyword to the cleared identity to ensure that it's not accidentally
      modified before eventually being cleared.  Here's the exact command
      used to generate this CL:
      
      $ find . -name "*.java" -exec sed -Ei \
          's/    (long \w+ = .+?clearCallingIdentity)/    final \1/' \
          {} \;
      
      Bug: 155703208
      Test: make
      Exempt-From-Owner-Approval: trivial refactoring
      Change-Id: I832c9d70c3dfcd8d669cf71939d97837becc973a
      2d2e07e2
    • Jeff Sharkey's avatar
      Detector to suggest more efficient collections. · 749789d2
      Jeff Sharkey authored
      Android offers several efficient alternatives to some upstream
      Collections containers, such as SparseIntArray instead of
      Map<Integer, Integer>.
      
      Bug: 155703208
      Test: atest error_prone_android_framework_test
      Change-Id: I080fd9489fb037391b717901345a905a9753b370
      749789d2
  11. Oct 05, 2020
    • Jeff Sharkey's avatar
      Detector for Binder.clearCallingIdentity() bugs. · 1561df4a
      Jeff Sharkey authored
      Binder maintains thread-local identity information about any remote
      caller, which can be temporarily cleared while performing operations
      that need to be handled as the current process. However, it's
      important to restore the original remote calling identity after
      carefully scoping this work inside a try/finally block, to avoid
      obscure security vulnerabilities.
      
      Bug: 155703208
      Test: atest error_prone_android_framework_test
      Change-Id: I568771a50af27637e4984950dcada2248ce16afe
      1561df4a
    • Jeff Sharkey's avatar
      Slight relaxing of Context.getUserId() checks. · 74da2877
      Jeff Sharkey authored
      Two specific managers have their own strategies using indirection to
      obtain Context.getUserId(), and we're willing to special case these
      to reduce warning noise.
      
      Bug: 115654727, 159626156
      Test: atest error_prone_android_framework_test
      Change-Id: I290b74f7b6ec17c647f1cbb9ea7995f3fd56b132
      74da2877
    • Jeff Sharkey's avatar
      Exclude Telephony Binder interfaces. · c095882f
      Jeff Sharkey authored
      Purposefully exclude telephony Binder interfaces, since we know they
      always run under the separate AID_RADIO.
      
      Bug: 155703208
      Test: atest error_prone_android_framework_test
      Change-Id: I3ce87caeb2abe3a7ca01ce10560d02b499ece07d
      c095882f
  12. Oct 02, 2020
    • Jeff Sharkey's avatar
      Refine CompatChanges check and enable as error. · 6c8ffbca
      Jeff Sharkey authored
      Because shifting newly written code over to using CompatChanges is
      important, this change refines the recently added check and upgrades
      it to become a fatal build error.
      
      Bug: 169879376
      Test: atest error_prone_android_framework_test
      Change-Id: Ic3126518ebaac9995b8f649e44b839de30faa17f
      6c8ffbca
    • Jeff Sharkey's avatar
      Guide behavior changes towards CompatChanges. · 71a17704
      Jeff Sharkey authored
      Each SDK level often has dozens of different behavior changes, which
      can be difficult for large app developers to adjust to during preview
      or beta releases. For this reason, android.app.compat.CompatChanges
      was introduced as a new best-practice for adding behavior changes.
      
      During a preview or beta release, developers can temporarily opt-out
      of each individual change to aid debugging. This opt-out is only
      available during preview of beta releases, and cannot be adjusted on
      finalized builds.
      
      Bug: 169879376
      Test: atest error_prone_android_framework_test
      Change-Id: Ib3b2e2139e084b0fa1bcbb5e89dd55e7ca4bfa00
      71a17704
  13. Sep 25, 2020
    • Jeff Sharkey's avatar
      Add checker for inefficient Parcel usage. · 0c0ac67c
      Jeff Sharkey authored
      Parcelable data can be transported in many ways (some of which can be
      very inefficient) so this checker guides developers towards using
      high-performance best-practices.
      
      Bug: 154436100, 155703208
      Test: atest error_prone_android_framework_test
      Change-Id: I253b5e1088c9bf9c3cf0d684cf73134f3bbf27ab
      0c0ac67c
  14. Aug 05, 2020
  15. Jun 26, 2020
    • Colin Cross's avatar
      Use AutoValue from external/auto · df1cdec1
      Colin Cross authored
      Use the AutoValue built from source instead of the prebuilts
      from external/dagger2.
      
      Bug: 158870037
      Test: m checkbuild
      Change-Id: Ibadc0845cbb41f1dd312f38ac45d91e56cbe9a62
      df1cdec1
  16. Jun 24, 2020
    • Jeff Sharkey's avatar
      Slight relaxing of ContextUserIdChecker. · a84ad2b3
      Jeff Sharkey authored
      Several managers keep an "int mUserId" field which is assigned from
      Context.getUserId(), so Binder calls referencing that field are okay.
      
      Also shift to borrowing the "flavor" logic for detecting userId
      parameters consistently.
      
      Bug: 115654727, 159626156
      Test: atest error_prone_android_framework_test
      Change-Id: I9841fdf16f34c08b113e689e74b94f1ede839e2c
      a84ad2b3
    • Jeff Sharkey's avatar
      Add checker for PID/UID/user ID arguments. · 439b8616
      Jeff Sharkey authored
      Many system internals pass around PID, UID and user ID arguments as a
      single weakly-typed "int" value, which developers can accidentally
      cross in method argument lists, resulting in obscure bugs.
      
      Bug: 155703208
      Test: atest error_prone_android_framework_test
      Change-Id: I5e4d9b5a533071f94d82dff17faff5d52ae54564
      439b8616
    • Jeff Sharkey's avatar
      Add checker to support createUserContext(). · acc7080d
      Jeff Sharkey authored
      To avoid an explosion of startActivityForUser style methods, we've
      converged on recommending the use of Context.createContextAsUser(),
      and then ensuring that all system services pass Context.getUserId()
      for any int userId arguments across Binder interfaces.
      
      This design allows developers to easily redirect all services
      obtained from a specific Context to a different user with no
      additional API surface.
      
      Bug: 115654727, 159626156
      Test: atest error_prone_android_framework_test
      Change-Id: I2d665016e8356807c371a1e18a4e102dea5b5d8e
      acc7080d
    • Jeff Sharkey's avatar
      Add tests for framework-specific Error Prone. · 86ba608e
      Jeff Sharkey authored
      We recently started writing custom Error Prone checkers, but it's
      been painfully slow to develop against the giant source tree, so
      this change adds tests to verify existing behavior and to enable TDD
      for future checkers.
      
      Bug: 155703208
      Test: atest error_prone_android_framework_test
      Change-Id: I7ea7484db5d19e812354703e561a499077329098
      86ba608e
  17. May 28, 2020
    • Bernardo Rufino's avatar
      Add AndroidFrameworkClientSidePermissionCheck errorprone check · 5a2df65f
      Bernardo Rufino authored
      Often a permission check in the app's process is an indicative of a
      security issue since the app could work around it. Permission checks
      should be done on system_server.
      
      This errorprone warning checks for invocations of
      Context.checkPermission() in any class inside android.app package and
      emits a warning if it finds one. I also added a @SuppressWarnings for
      one such call that has a todo and it and seems like an already tracked
      workaround. The other call found by the checker is tracked in
      b/157548188.
      
      I also found that errorprone was not running for framework-minus-apex,
      so I added the plugin to the relevant build rule. Let me know if this is
      not the way to go!
      
      Test: build/soong/soong_ui.bash --make-mode framework-minus-apex
            RUN_ERROR_PRONE=true
      Bug: 157626959
      Change-Id: Ieb94f2f43722837c8354ac66474797f4f338ae16
      5a2df65f
  18. May 05, 2020
    • Jeff Sharkey's avatar
      Add custom Error Prone check for rethrowing. · 525e1d1b
      Jeff Sharkey authored
      Apps making calls into the system server may end up persisting
      internal state or making security decisions based on the perceived
      success or failure of a call, or any default values returned. For
      this reason, we want to strongly throw when there was trouble with
      the transaction.
      
      The rethrowFromSystemServer() method is the best-practice way of
      doing this correctly, so that we don't clutter logs with misleading
      stack traces, and this checker verifies that best-practice is used.
      
      Disable this check on managers that we know are hosted outside the
      system process.
      
      Bug: 155703208
      Test: ./build/soong/soong_ui.bash --make-mode framework-minus-apex services RUN_ERROR_PRONE=true
      Exempt-From-Owner-Approval: trivial annotations
      Change-Id: I04b4daf7c92251a14bcc3ebb1e18cd00f6a7f283
      525e1d1b
  19. May 04, 2020
    • Jeff Sharkey's avatar
      Add custom Error Prone check for SDK comparisons. · 4d1d7b56
      Jeff Sharkey authored
      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
      4d1d7b56
Loading