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;
