From 403d4ee8510ad1ec276760a362daa33754a5db23 Mon Sep 17 00:00:00 2001 From: Songchun Fan Date: Wed, 10 Mar 2021 23:14:43 +0000 Subject: [PATCH] [SettingsProvider] do not check @Readable for system/priv apps in the server We already have this check on the client side. Copying it over to the server side for cases when the server side is called directly. BUG: 175024829 Test: atest com.android.devicehealthchecks.SystemAppCheck#system_app_crash Change-Id: Ib540b9bdb29343eec79a2f31e0b26fe333117395 --- .../src/com/android/providers/settings/SettingsProvider.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index e427981b87d72..400742ba7d78a 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -1937,8 +1937,11 @@ public class SettingsProvider extends ContentProvider { if (UserHandle.getAppId(Binder.getCallingUid()) < Process.FIRST_APPLICATION_UID) { return; } - checkReadableAnnotation(settingsType, settingName); ApplicationInfo ai = getCallingApplicationInfoOrThrow(); + if (ai.isSystemApp() || ai.isSignedWithPlatformKey()) { + return; + } + checkReadableAnnotation(settingsType, settingName); if (!ai.isInstantApp()) { return; }