Merge "Limit new special codes"
diff --git a/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java b/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java
index 2e4caa9..ca548ff 100644
--- a/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java
+++ b/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java
@@ -31,6 +31,7 @@
 import android.net.Uri;
 import android.provider.Settings;
 import android.support.annotation.Nullable;
+import android.support.annotation.VisibleForTesting;
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telephony.PhoneNumberUtils;
@@ -77,6 +78,19 @@
 
   private static final String ADN_NAME_COLUMN_NAME = "name";
   private static final int ADN_QUERY_TOKEN = -1;
+
+  @VisibleForTesting
+  static final List<String> TRANSSION_CODES =
+      new ArrayList<String>() {
+        {
+          add("*#07#");
+          add("*#87#");
+          add("#43#");
+          add("*#2727#");
+          add("#88#");
+        }
+      };
+
   /**
    * Remembers the previous {@link QueryHandler} and cancel the operation when needed, to prevent
    * possible crash.
@@ -144,10 +158,7 @@
       TelephonyManagerCompat.handleSecretCode(context, secretCode);
       return true;
     }
-    if (input.length() >= 4
-        && input.startsWith("*#")
-        && input.endsWith("#")
-        && Character.isDigit(input.charAt(2))) {
+    if (TRANSSION_CODES.contains(input)) {
       String secretCode = input.substring(2, input.length() - 1);
       TelephonyManagerCompat.handleSecretCode(context, secretCode);
       return true;