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

Commit fa589dac authored by fionaxu's avatar fionaxu
Browse files

use telephony API to sent secret dial code

Telephony provides an API to send secret code broadcast in a
bgcheck-compliant way. The dialer app moves to this new API to
pass O bg-restriction check.

Bug:33753947
Test: Manual
Change-Id: Ib2c623d7d87a7581ae5898d6181c100fac3f12f6
parent 61187038
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -166,23 +166,19 @@ public class SpecialCharSequenceMgr {

    /**
     * Handles secret codes to launch arbitrary activities in the form of *#*#<code>#*#*.
     * If a secret code is encountered an Intent is started with the android_secret_code://<code>
     * If a secret code is encountered, an Intent is started with the android_secret_code://<code>
     * URI.
     *
     * @param context the context to use
     * @param input the text to check for a secret code in
     * @return true if a secret code was encountered
     * @return true if a secret code was encountered and intent is sent out
     */
    static boolean handleSecretCode(Context context, String input) {
        // Secret codes are in the form *#*#<code>#*#*
        int len = input.length();
        if (len > 8 && input.startsWith("*#*#") && input.endsWith("#*#*")) {
            final Intent intent = new Intent(SECRET_CODE_ACTION,
                    Uri.parse("android_secret_code://" + input.substring(4, len - 4)));
            context.sendBroadcast(intent);
            return true;
        final TelephonyManager telephonyManager =
                (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
        if (telephonyManager != null) {
            return telephonyManager.sendDialerCode(input);
        }

        return false;
    }