From 12c4e719d452599593f6be408801ff7a5cf82db6 Mon Sep 17 00:00:00 2001 From: roldenburg Date: Tue, 30 Jan 2018 17:40:21 -0800 Subject: Limit new special codes Bug: 72162360 Test: SpecialCharSequenceMgrTest PiperOrigin-RevId: 183921310 Change-Id: I3a47106a42a6e7c3b903f595f690c7d125e72a04 --- .../dialer/dialpadview/SpecialCharSequenceMgr.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'java/com/android/dialer/dialpadview') diff --git a/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java b/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java index 2e4caa920..ca548ff23 100644 --- a/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java +++ b/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java @@ -31,6 +31,7 @@ import android.database.Cursor; 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 @@ public class SpecialCharSequenceMgr { private static final String ADN_NAME_COLUMN_NAME = "name"; private static final int ADN_QUERY_TOKEN = -1; + + @VisibleForTesting + static final List TRANSSION_CODES = + new ArrayList() { + { + 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 @@ public class SpecialCharSequenceMgr { 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; -- cgit v1.2.3