summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2018-03-12 23:53:30 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-03-12 23:53:30 +0000
commitc8039e034838a030848bb040d10997835153427e (patch)
treefbe3fc71bf85c6cd17487c0dd2b1be777f110701 /java
parentc28ea9a02c30c3a4a4424a6f5b61788b7b2ef7b8 (diff)
parent6b56ebf4753ba9f6db95c7ce3b380ed8556ede55 (diff)
Merge "Use config provider for OEM MMI codes"
Diffstat (limited to 'java')
-rw-r--r--java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java31
1 files changed, 18 insertions, 13 deletions
diff --git a/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java b/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java
index 3321d93f2..d88bac3f7 100644
--- a/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java
+++ b/java/com/android/dialer/dialpadview/SpecialCharSequenceMgr.java
@@ -59,14 +59,15 @@ import com.android.contacts.common.widget.SelectPhoneAccountDialogFragment.Selec
import com.android.dialer.common.Assert;
import com.android.dialer.common.LogUtil;
import com.android.dialer.compat.telephony.TelephonyManagerCompat;
+import com.android.dialer.configprovider.ConfigProviderBindings;
import com.android.dialer.oem.MotorolaUtils;
import com.android.dialer.telecom.TelecomUtil;
import com.android.dialer.util.PermissionsUtil;
+import com.google.common.collect.ImmutableSet;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
-import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
@@ -93,17 +94,8 @@ public class SpecialCharSequenceMgr {
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#");
- }
- };
+ /** Comma separated MMI codes specific to OEM/device. */
+ @VisibleForTesting static final String CONFIG_OEM_MMI_CODES_CSV = "oem_mmi_codes_csv";
/**
* Remembers the previous {@link QueryHandler} and cancel the operation when needed, to prevent
@@ -172,7 +164,8 @@ public class SpecialCharSequenceMgr {
TelephonyManagerCompat.handleSecretCode(context, secretCode);
return true;
}
- if (TRANSSION_CODES.contains(input)) {
+
+ if (getOemSecretCodes(context).contains(input)) {
String secretCode = input.substring(2, input.length() - 1);
TelephonyManagerCompat.handleSecretCode(context, secretCode);
return true;
@@ -181,6 +174,18 @@ public class SpecialCharSequenceMgr {
}
/**
+ * Get the OEM codes from the config provider. The config provider should be aware of the device
+ * and manufacturer.
+ */
+ private static ImmutableSet<String> getOemSecretCodes(Context context) {
+ String csv = ConfigProviderBindings.get(context).getString(CONFIG_OEM_MMI_CODES_CSV, null);
+ if (TextUtils.isEmpty(csv)) {
+ return ImmutableSet.of();
+ }
+ return ImmutableSet.copyOf(csv.split(","));
+ }
+
+ /**
* Handle ADN requests by filling in the SIM contact number into the requested EditText.
*
* <p>This code works alongside the Asynchronous query handler {@link QueryHandler} and query