Fix SafetyProtectionUtils
This util was expecting getString() and getDrawable() to return null when resource is not found but it's actually throwing an exception. Changed the logic in this class to expect an exception when the resource it not available Bug: 269874157 Test: SafetyProtectionTest Change-Id: I0f3490b59dc2427c2889e25fea529c85d3e1f150
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user