Loading core/java/android/provider/Telephony.java +15 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.annotation.TestApi; import android.app.admin.DevicePolicyManager; import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledAfter; import android.compat.annotation.UnsupportedAppUsage; Loading Loading @@ -430,13 +431,25 @@ public final class Telephony { * Determine whether a given method should be checked for an OTP * @hide */ public static boolean shouldCheckForOtp(String message) { if (!Flags.redactOtpSms()) { public static boolean shouldCheckForOtp(Context context, String message) { if (!isOtpRedactionEnabled(context)) { return false; } return CONTAINS_NUMBER.reset(message).find(); } /** * Checks if OTP redaction in SMS is enabled * @hide */ public static boolean isOtpRedactionEnabled(Context context) { if (!Flags.redactOtpSms()) { return false; } DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class); return dpm == null || !dpm.isDeviceManaged(); } /** * Return cursor for table query. * @hide Loading data/etc/privapp-permissions-platform.xml +3 −0 Original line number Diff line number Diff line Loading @@ -657,6 +657,9 @@ applications that come with the platform <permission name="android.permission.OBSERVE_ROLE_HOLDERS"/> <!-- Permission required for CTS test - CtsRoleTestCases --> <permission name="android.permission.GET_ROLE_HOLDERS"/> <!-- Permission required for CTS test - CtsTelephonyTestCases --> <permission name="android.permission.MANAGE_USERS" /> </privapp-permissions> <privapp-permissions package="com.android.soundpicker"> Loading packages/Shell/AndroidManifest.xml +4 −0 Original line number Diff line number Diff line Loading @@ -1050,6 +1050,10 @@ <!-- Permission required for CTS test - CtsMediaProjectionTestCases --> <uses-permission android:name="android.permission.MANAGE_MEDIA_PROJECTION" /> <!-- Permission required for CTS test - CtsTelephonyTestCases --> <uses-permission android:name="android.permission.MANAGE_USERS" /> <application android:label="@string/app_label" android:theme="@android:style/Theme.DeviceDefault.DayNight" Loading telephony/java/android/telephony/SmsManager.java +5 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.TestApi; import android.app.PendingIntent; import android.app.admin.DevicePolicyManager; import android.app.role.RoleManager; import android.companion.AssociationInfo; import android.companion.CompanionDeviceManager; Loading Loading @@ -3820,6 +3821,10 @@ public final class SmsManager { return true; } if (userContext.getSystemService(DevicePolicyManager.class).isDeviceManaged()) { return true; } // All system apps have access to OTPs in SMS messages if (isSystemApp(userContext, packageName)) { return true; Loading Loading
core/java/android/provider/Telephony.java +15 −2 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.SystemApi; import android.annotation.TestApi; import android.app.admin.DevicePolicyManager; import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledAfter; import android.compat.annotation.UnsupportedAppUsage; Loading Loading @@ -430,13 +431,25 @@ public final class Telephony { * Determine whether a given method should be checked for an OTP * @hide */ public static boolean shouldCheckForOtp(String message) { if (!Flags.redactOtpSms()) { public static boolean shouldCheckForOtp(Context context, String message) { if (!isOtpRedactionEnabled(context)) { return false; } return CONTAINS_NUMBER.reset(message).find(); } /** * Checks if OTP redaction in SMS is enabled * @hide */ public static boolean isOtpRedactionEnabled(Context context) { if (!Flags.redactOtpSms()) { return false; } DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class); return dpm == null || !dpm.isDeviceManaged(); } /** * Return cursor for table query. * @hide Loading
data/etc/privapp-permissions-platform.xml +3 −0 Original line number Diff line number Diff line Loading @@ -657,6 +657,9 @@ applications that come with the platform <permission name="android.permission.OBSERVE_ROLE_HOLDERS"/> <!-- Permission required for CTS test - CtsRoleTestCases --> <permission name="android.permission.GET_ROLE_HOLDERS"/> <!-- Permission required for CTS test - CtsTelephonyTestCases --> <permission name="android.permission.MANAGE_USERS" /> </privapp-permissions> <privapp-permissions package="com.android.soundpicker"> Loading
packages/Shell/AndroidManifest.xml +4 −0 Original line number Diff line number Diff line Loading @@ -1050,6 +1050,10 @@ <!-- Permission required for CTS test - CtsMediaProjectionTestCases --> <uses-permission android:name="android.permission.MANAGE_MEDIA_PROJECTION" /> <!-- Permission required for CTS test - CtsTelephonyTestCases --> <uses-permission android:name="android.permission.MANAGE_USERS" /> <application android:label="@string/app_label" android:theme="@android:style/Theme.DeviceDefault.DayNight" Loading
telephony/java/android/telephony/SmsManager.java +5 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.TestApi; import android.app.PendingIntent; import android.app.admin.DevicePolicyManager; import android.app.role.RoleManager; import android.companion.AssociationInfo; import android.companion.CompanionDeviceManager; Loading Loading @@ -3820,6 +3821,10 @@ public final class SmsManager { return true; } if (userContext.getSystemService(DevicePolicyManager.class).isDeviceManaged()) { return true; } // All system apps have access to OTPs in SMS messages if (isSystemApp(userContext, packageName)) { return true; Loading