diff --git a/core/java/android/util/SafetyProtectionUtils.java b/core/java/android/util/SafetyProtectionUtils.java index af985c5730630..75eaa9ed84af6 100644 --- a/core/java/android/util/SafetyProtectionUtils.java +++ b/core/java/android/util/SafetyProtectionUtils.java @@ -40,14 +40,20 @@ public class SafetyProtectionUtils { * @hide */ public static boolean shouldShowSafetyProtectionResources(Context context) { - return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, - SAFETY_PROTECTION_RESOURCES_ENABLED, false) - && context.getResources().getBoolean( - Resources.getSystem() - .getIdentifier("config_safetyProtectionEnabled", - "bool", "android")) - && context.getDrawable(android.R.drawable.ic_safety_protection) != null - && context.getString(android.R.string.safety_protection_display_text) != null - && !context.getString(android.R.string.safety_protection_display_text).isEmpty(); + try { + return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_PRIVACY, + SAFETY_PROTECTION_RESOURCES_ENABLED, false) + && context.getResources().getBoolean( + Resources.getSystem() + .getIdentifier("config_safetyProtectionEnabled", + "bool", "android")) + && context.getDrawable(android.R.drawable.ic_safety_protection) != null + && !context.getString( + android.R.string.safety_protection_display_text).isEmpty(); + } catch (Resources.NotFoundException e) { + // We should expect the resources to not exist for non-pixel devices + // (except for the OEMs that opt-in) + return false; + } } }