Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f6aa7b2 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Disable sms otp when device is fully managed" into main

parents 7c2370a6 1413fd0d
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -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;
@@ -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
+3 −0
Original line number Diff line number Diff line
@@ -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">
+4 −0
Original line number Diff line number Diff line
@@ -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"
+5 −0
Original line number Diff line number Diff line
@@ -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;
@@ -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;