diff options
author | Jeff Sharkey <jsharkey@android.com> | 2020-10-23 14:30:42 -0600 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2020-10-23 16:55:30 -0600 |
commit | d23b5379c02ab03529f49cfd61062224fb583a42 (patch) | |
tree | 5870bf71b9acb45953e8b4af6dd98724fd3dfa66 | |
parent | c76708bc6883dff7b12b467572371486865a7eb4 (diff) |
Enable Error Prone to detect obscure bugs.
We've been writing many new framework-specific Error Prone checkers
to help detect obscure platform bugs, and this change starts enabling
those checkers for more packages across the platform.
Bug: 155703208
Test: manual
Exempt-From-Owner-Approval: trivial blueprint changes
Change-Id: I1db3412b0be40f6f78c68331ae01756887192071
50 files changed, 80 insertions, 40 deletions
diff --git a/Android.bp b/Android.bp index f3225e2e3ad0..586350df36b1 100644 --- a/Android.bp +++ b/Android.bp @@ -14,6 +14,37 @@ // Build the master framework library. +// Defaults for platform code that runs inside system_server +java_defaults { + name: "platform_service_defaults", + plugins: [ + "error_prone_android_framework", + ], + errorprone: { + javacflags: [ + "-Xep:AndroidFrameworkBinderIdentity:ERROR", + "-Xep:AndroidFrameworkCompatChange:ERROR", + "-Xep:AndroidFrameworkUid:ERROR", + ], + }, +} + +// Defaults for platform apps +java_defaults { + name: "platform_app_defaults", + plugins: [ + "error_prone_android_framework", + ], + errorprone: { + javacflags: [ + // We're less worried about performance in app code + "-Xep:AndroidFrameworkEfficientCollections:OFF", + "-Xep:AndroidFrameworkEfficientParcelable:OFF", + "-Xep:AndroidFrameworkEfficientStrings:OFF", + ], + }, +} + // READ ME: ######################################################## // // When updating this list of aidl files, consider if that aidl is diff --git a/packages/BackupEncryption/Android.bp b/packages/BackupEncryption/Android.bp index 68e937c24a89..3a078d24e535 100644 --- a/packages/BackupEncryption/Android.bp +++ b/packages/BackupEncryption/Android.bp @@ -16,6 +16,7 @@ android_app { name: "BackupEncryption", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], static_libs: ["backup-encryption-protos", "backuplib"], optimize: { enabled: false }, diff --git a/packages/BackupRestoreConfirmation/Android.bp b/packages/BackupRestoreConfirmation/Android.bp index b0222da9405b..6fe039d48357 100644 --- a/packages/BackupRestoreConfirmation/Android.bp +++ b/packages/BackupRestoreConfirmation/Android.bp @@ -16,6 +16,7 @@ android_app { name: "BackupRestoreConfirmation", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], platform_apis: true, certificate: "platform", diff --git a/packages/CompanionDeviceManager/Android.bp b/packages/CompanionDeviceManager/Android.bp index 1453ec3b63cb..354d2c7a6228 100644 --- a/packages/CompanionDeviceManager/Android.bp +++ b/packages/CompanionDeviceManager/Android.bp @@ -14,6 +14,7 @@ android_app { name: "CompanionDeviceManager", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], platform_apis: true, diff --git a/packages/DynamicSystemInstallationService/Android.bp b/packages/DynamicSystemInstallationService/Android.bp index f1a18ae2a53f..a8cf5d605f17 100644 --- a/packages/DynamicSystemInstallationService/Android.bp +++ b/packages/DynamicSystemInstallationService/Android.bp @@ -1,5 +1,6 @@ android_app { name: "DynamicSystemInstallationService", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], resource_dirs: ["res"], diff --git a/packages/EncryptedLocalTransport/Android.bp b/packages/EncryptedLocalTransport/Android.bp index dd30ad177d69..00e9c71c7654 100644 --- a/packages/EncryptedLocalTransport/Android.bp +++ b/packages/EncryptedLocalTransport/Android.bp @@ -16,6 +16,7 @@ android_app { name: "EncryptedLocalTransport", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], optimize: { proguard_flags_files: ["proguard.flags"], diff --git a/packages/ExtShared/Android.bp b/packages/ExtShared/Android.bp index a9823b923256..279ac9de9035 100644 --- a/packages/ExtShared/Android.bp +++ b/packages/ExtShared/Android.bp @@ -14,6 +14,7 @@ android_app { name: "ExtShared", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], sdk_version: "current", certificate: "platform", diff --git a/packages/ExternalStorageProvider/Android.bp b/packages/ExternalStorageProvider/Android.bp index 973fef3e666d..f1e629961e11 100644 --- a/packages/ExternalStorageProvider/Android.bp +++ b/packages/ExternalStorageProvider/Android.bp @@ -1,5 +1,6 @@ android_app { name: "ExternalStorageProvider", + defaults: ["platform_app_defaults"], manifest: "AndroidManifest.xml", diff --git a/packages/FakeOemFeatures/Android.bp b/packages/FakeOemFeatures/Android.bp index b265158220da..b63e3a136700 100644 --- a/packages/FakeOemFeatures/Android.bp +++ b/packages/FakeOemFeatures/Android.bp @@ -1,5 +1,6 @@ android_app { name: "FakeOemFeatures", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], platform_apis: true, certificate: "platform", diff --git a/packages/FusedLocation/Android.bp b/packages/FusedLocation/Android.bp index 242caaba1f40..ada463ac6b59 100644 --- a/packages/FusedLocation/Android.bp +++ b/packages/FusedLocation/Android.bp @@ -14,6 +14,7 @@ android_app { name: "FusedLocation", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], libs: ["com.android.location.provider"], platform_apis: true, @@ -45,4 +46,4 @@ android_test { platform_apis: true, certificate: "platform", test_suites: ["device-tests"] -}
\ No newline at end of file +} diff --git a/packages/InputDevices/Android.bp b/packages/InputDevices/Android.bp index 7532aea23615..5afbe729d960 100644 --- a/packages/InputDevices/Android.bp +++ b/packages/InputDevices/Android.bp @@ -14,6 +14,7 @@ android_app { name: "InputDevices", + defaults: ["platform_app_defaults"], srcs: [ "**/*.java", diff --git a/packages/LocalTransport/Android.bp b/packages/LocalTransport/Android.bp index 2c990fed1688..9a98a86002b8 100644 --- a/packages/LocalTransport/Android.bp +++ b/packages/LocalTransport/Android.bp @@ -16,6 +16,7 @@ android_app { name: "LocalTransport", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], optimize: { proguard_flags_files: ["proguard.flags"], diff --git a/packages/PackageInstaller/Android.bp b/packages/PackageInstaller/Android.bp index 75bd32ec0301..4d9c675de3ae 100644 --- a/packages/PackageInstaller/Android.bp +++ b/packages/PackageInstaller/Android.bp @@ -14,6 +14,7 @@ android_app { name: "PackageInstaller", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], diff --git a/packages/PrintRecommendationService/Android.bp b/packages/PrintRecommendationService/Android.bp index 6d28bdb7943b..d368f3cb18f9 100644 --- a/packages/PrintRecommendationService/Android.bp +++ b/packages/PrintRecommendationService/Android.bp @@ -14,6 +14,7 @@ android_app { name: "PrintRecommendationService", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], sdk_version: "system_current", static_libs: [ diff --git a/packages/PrintSpooler/Android.bp b/packages/PrintSpooler/Android.bp index c40a81791302..d38fd020bb5f 100644 --- a/packages/PrintSpooler/Android.bp +++ b/packages/PrintSpooler/Android.bp @@ -14,6 +14,7 @@ android_app { name: "PrintSpooler", + defaults: ["platform_app_defaults"], resource_dirs: ["res"], diff --git a/packages/SettingsProvider/Android.bp b/packages/SettingsProvider/Android.bp index 9d042a4e15f6..2e5347869554 100644 --- a/packages/SettingsProvider/Android.bp +++ b/packages/SettingsProvider/Android.bp @@ -1,5 +1,6 @@ android_app { name: "SettingsProvider", + defaults: ["platform_app_defaults"], resource_dirs: ["res"], srcs: [ "src/**/*.java", diff --git a/packages/SharedStorageBackup/Android.bp b/packages/SharedStorageBackup/Android.bp index 5380832a17d4..d02f4800fc83 100644 --- a/packages/SharedStorageBackup/Android.bp +++ b/packages/SharedStorageBackup/Android.bp @@ -16,6 +16,7 @@ android_app { name: "SharedStorageBackup", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], optimize: { proguard_flags_files: ["proguard.flags"], diff --git a/packages/Shell/Android.bp b/packages/Shell/Android.bp index aaaf0448fc31..c873e30d2107 100644 --- a/packages/Shell/Android.bp +++ b/packages/Shell/Android.bp @@ -1,5 +1,6 @@ android_app { name: "Shell", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java",":dumpstate_aidl"], aidl: { include_dirs: ["frameworks/native/cmds/dumpstate/binder"], diff --git a/packages/SimAppDialog/Android.bp b/packages/SimAppDialog/Android.bp index 176035f73b65..9c0d78c41e5e 100644 --- a/packages/SimAppDialog/Android.bp +++ b/packages/SimAppDialog/Android.bp @@ -1,5 +1,6 @@ android_app { name: "SimAppDialog", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], diff --git a/packages/SoundPicker/Android.bp b/packages/SoundPicker/Android.bp index 3be7ca92e8c6..56e7cd162cdf 100644 --- a/packages/SoundPicker/Android.bp +++ b/packages/SoundPicker/Android.bp @@ -1,5 +1,6 @@ android_app { name: "SoundPicker", + defaults: ["platform_app_defaults"], manifest: "AndroidManifest.xml", static_libs: [ diff --git a/packages/StatementService/Android.bp b/packages/StatementService/Android.bp index 586292efa20b..ae37efc9a545 100644 --- a/packages/StatementService/Android.bp +++ b/packages/StatementService/Android.bp @@ -13,6 +13,7 @@ // limitations under the License. android_app { name: "StatementService", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], optimize: { proguard_flags_files: ["proguard.flags"], diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp index 80a6257fd7a9..014d73f281cc 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp @@ -163,6 +163,7 @@ android_library { android_app { name: "SystemUI", + defaults: ["platform_app_defaults"], static_libs: [ "SystemUI-core", ], @@ -184,5 +185,4 @@ android_app { "privapp_whitelist_com.android.systemui", "checked-wm_shell_protolog.json", ], - } diff --git a/packages/WAPPushManager/Android.bp b/packages/WAPPushManager/Android.bp index 083dac944936..0b62c72c749f 100644 --- a/packages/WAPPushManager/Android.bp +++ b/packages/WAPPushManager/Android.bp @@ -2,6 +2,7 @@ android_app { name: "WAPPushManager", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], platform_apis: true, libs: ["telephony-common"], diff --git a/packages/WallpaperBackup/Android.bp b/packages/WallpaperBackup/Android.bp index 748eb40cb8b8..e52d53eb4082 100644 --- a/packages/WallpaperBackup/Android.bp +++ b/packages/WallpaperBackup/Android.bp @@ -16,6 +16,7 @@ android_app { name: "WallpaperBackup", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], optimize: { proguard_flags_files: ["proguard.flags"], diff --git a/packages/WallpaperCropper/Android.bp b/packages/WallpaperCropper/Android.bp index ac38b271395c..df97a3c08156 100644 --- a/packages/WallpaperCropper/Android.bp +++ b/packages/WallpaperCropper/Android.bp @@ -1,5 +1,6 @@ android_app { name: "WallpaperCropper", + defaults: ["platform_app_defaults"], srcs: ["src/**/*.java"], platform_apis: true, certificate: "platform", diff --git a/services/Android.bp b/services/Android.bp index 8c9c4875b835..eb7b72ed2cfd 100644 --- a/services/Android.bp +++ b/services/Android.bp @@ -1,17 +1,3 @@ -java_defaults { - name: "services_defaults", - plugins: [ - "error_prone_android_framework", - ], - errorprone: { - javacflags: [ - "-Xep:AndroidFrameworkBinderIdentity:ERROR", - "-Xep:AndroidFrameworkCompatChange:ERROR", - "-Xep:AndroidFrameworkUid:ERROR", - ], - }, -} - filegroup { name: "services-main-sources", srcs: ["java/**/*.java"], diff --git a/services/accessibility/Android.bp b/services/accessibility/Android.bp index 21a0c7489827..65313fcfc426 100644 --- a/services/accessibility/Android.bp +++ b/services/accessibility/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.accessibility", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.accessibility-sources"], libs: ["services.core"], } diff --git a/services/appprediction/Android.bp b/services/appprediction/Android.bp index c12f62fc6cd1..bc43db1fa116 100644 --- a/services/appprediction/Android.bp +++ b/services/appprediction/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.appprediction", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.appprediction-sources"], libs: ["services.core"], } diff --git a/services/appwidget/Android.bp b/services/appwidget/Android.bp index 83a9aa493bb0..e46e5c82a917 100644 --- a/services/appwidget/Android.bp +++ b/services/appwidget/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.appwidget", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.appwidget-sources"], libs: ["services.core"], } diff --git a/services/autofill/Android.bp b/services/autofill/Android.bp index 1e65e8459edf..c44806642427 100644 --- a/services/autofill/Android.bp +++ b/services/autofill/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.autofill", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.autofill-sources"], libs: ["services.core"], } diff --git a/services/backup/Android.bp b/services/backup/Android.bp index 56b788e34d35..b5444f485a1c 100644 --- a/services/backup/Android.bp +++ b/services/backup/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.backup", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.backup-sources"], libs: ["services.core"], static_libs: ["backuplib"], diff --git a/services/companion/Android.bp b/services/companion/Android.bp index e25104227b71..6aa54c48e3ed 100644 --- a/services/companion/Android.bp +++ b/services/companion/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.companion", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.companion-sources"], libs: ["services.core"], } diff --git a/services/contentcapture/Android.bp b/services/contentcapture/Android.bp index 7006430067ec..688c0b1d3eec 100644 --- a/services/contentcapture/Android.bp +++ b/services/contentcapture/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.contentcapture", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.contentcapture-sources"], libs: ["services.core"], } diff --git a/services/contentsuggestions/Android.bp b/services/contentsuggestions/Android.bp index 3fe3cd252592..1b4d7e29c551 100644 --- a/services/contentsuggestions/Android.bp +++ b/services/contentsuggestions/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.contentsuggestions", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.contentsuggestions-sources"], libs: ["services.core"], } diff --git a/services/core/Android.bp b/services/core/Android.bp index 1a7f0d1ce37e..68f0c103d91a 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp @@ -142,7 +142,7 @@ java_genrule { java_library { name: "services.core", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], static_libs: ["services.core.priorityboosted"], } diff --git a/services/coverage/Android.bp b/services/coverage/Android.bp index df054b006cd3..b3cee375f95c 100644 --- a/services/coverage/Android.bp +++ b/services/coverage/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.coverage", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.coverage-sources"], libs: ["jacocoagent"], } diff --git a/services/devicepolicy/Android.bp b/services/devicepolicy/Android.bp index 7a80fb1b8856..5de48aefe28e 100644 --- a/services/devicepolicy/Android.bp +++ b/services/devicepolicy/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.devicepolicy", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.devicepolicy-sources"], libs: [ diff --git a/services/midi/Android.bp b/services/midi/Android.bp index 6bce5b51ecb7..013f23d67cd8 100644 --- a/services/midi/Android.bp +++ b/services/midi/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.midi", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.midi-sources"], libs: ["services.core"], } diff --git a/services/musicrecognition/Android.bp b/services/musicrecognition/Android.bp index 39b5bb688767..fea9efa9dde5 100644 --- a/services/musicrecognition/Android.bp +++ b/services/musicrecognition/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.musicsearch", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.musicsearch-sources"], libs: ["services.core", "app-compat-annotations"], }
\ No newline at end of file diff --git a/services/net/Android.bp b/services/net/Android.bp index afea1a073cab..3c9322d2dfdc 100644 --- a/services/net/Android.bp +++ b/services/net/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.net", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [ ":net-module-utils-srcs", ":services.net-sources", diff --git a/services/people/Android.bp b/services/people/Android.bp index c863f1f5919f..9bdf488d6631 100644 --- a/services/people/Android.bp +++ b/services/people/Android.bp @@ -1,6 +1,6 @@ java_library_static { name: "services.people", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: ["java/**/*.java"], libs: ["services.core"], } diff --git a/services/print/Android.bp b/services/print/Android.bp index 93b5ef040926..be5f082eb2b3 100644 --- a/services/print/Android.bp +++ b/services/print/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.print", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.print-sources"], libs: ["services.core"], } diff --git a/services/profcollect/Android.bp b/services/profcollect/Android.bp index b7be5d452bbd..7f5f623879f7 100644 --- a/services/profcollect/Android.bp +++ b/services/profcollect/Android.bp @@ -30,7 +30,7 @@ filegroup { java_library_static { name: "services.profcollect", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.profcollect-sources"], libs: ["services.core"], } diff --git a/services/restrictions/Android.bp b/services/restrictions/Android.bp index 28830956e7f5..60d161de1b2b 100644 --- a/services/restrictions/Android.bp +++ b/services/restrictions/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.restrictions", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.restrictions-sources"], libs: ["services.core"], } diff --git a/services/startop/Android.bp b/services/startop/Android.bp index 46a81aae63c5..157408f24c5a 100644 --- a/services/startop/Android.bp +++ b/services/startop/Android.bp @@ -16,7 +16,7 @@ java_library_static { name: "services.startop", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], static_libs: [ // frameworks/base/startop/iorap diff --git a/services/systemcaptions/Android.bp b/services/systemcaptions/Android.bp index 54968c003560..54a5a794d086 100644 --- a/services/systemcaptions/Android.bp +++ b/services/systemcaptions/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.systemcaptions", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.systemcaptions-sources"], libs: ["services.core"], } diff --git a/services/usage/Android.bp b/services/usage/Android.bp index 463673f104ab..80f040b1e15e 100644 --- a/services/usage/Android.bp +++ b/services/usage/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.usage", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.usage-sources"], libs: ["services.core"], } diff --git a/services/usb/Android.bp b/services/usb/Android.bp index 4e984093cfec..1a23c8c51a4e 100644 --- a/services/usb/Android.bp +++ b/services/usb/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.usb", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.usb-sources"], libs: [ diff --git a/services/voiceinteraction/Android.bp b/services/voiceinteraction/Android.bp index 47129ad62e86..02061be73920 100644 --- a/services/voiceinteraction/Android.bp +++ b/services/voiceinteraction/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.voiceinteraction", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [":services.voiceinteraction-sources"], libs: ["services.core"], } diff --git a/services/wifi/Android.bp b/services/wifi/Android.bp index 3975fd238bb5..fcfcbeb72b0b 100644 --- a/services/wifi/Android.bp +++ b/services/wifi/Android.bp @@ -7,7 +7,7 @@ filegroup { java_library_static { name: "services.wifi", - defaults: ["services_defaults"], + defaults: ["platform_service_defaults"], srcs: [ ":services.wifi-sources", ], |