diff options
author | Irfan Sheriff <isheriff@google.com> | 2011-02-02 12:34:08 -0800 |
---|---|---|
committer | Irfan Sheriff <isheriff@google.com> | 2011-02-02 14:08:38 -0800 |
commit | 0a4b3fd93b2de21de0684a8291663920d9099170 (patch) | |
tree | 0b4dc780ad1a5a3c1b12c324d0dab4d37df01aff | |
parent | 155b0ee0498cf863091f3f83a752eaaedf1257f8 (diff) | |
download | base-0a4b3fd93b2de21de0684a8291663920d9099170.tar.gz |
two digit number handling in croatia and serbia
If users dial 92-96, dial them normally and not treat
as USSD
Change-Id: If3b6cb37b7ec0ff99d76cb10cba53368094a0b5d
Signed-off-by: sj2202.park@samsung.com
-rw-r--r-- | core/res/res/values-mcc219/config.xml | 32 | ||||
-rw-r--r-- | core/res/res/values-mcc220/config.xml | 32 | ||||
-rw-r--r-- | core/res/res/values/config.xml | 4 | ||||
-rw-r--r-- | telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java | 27 |
4 files changed, 94 insertions, 1 deletions
diff --git a/core/res/res/values-mcc219/config.xml b/core/res/res/values-mcc219/config.xml new file mode 100644 index 000000000000..7ae82fa91c95 --- /dev/null +++ b/core/res/res/values-mcc219/config.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 2009, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<!-- These resources are around just to allow their values to be customized + for different hardware and product builds. --> +<resources> + <!-- Do not translate. Defines the slots is Two Digit Number for dialing normally not USSD --> + <string-array name="config_twoDigitNumberPattern"> + <item>"92"</item> + <item>"93"</item> + <item>"94"</item> + <item>"95"</item> + <item>"96"</item> + </string-array> + +</resources> diff --git a/core/res/res/values-mcc220/config.xml b/core/res/res/values-mcc220/config.xml new file mode 100644 index 000000000000..7ae82fa91c95 --- /dev/null +++ b/core/res/res/values-mcc220/config.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- +/* +** Copyright 2009, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ +--> + +<!-- These resources are around just to allow their values to be customized + for different hardware and product builds. --> +<resources> + <!-- Do not translate. Defines the slots is Two Digit Number for dialing normally not USSD --> + <string-array name="config_twoDigitNumberPattern"> + <item>"92"</item> + <item>"93"</item> + <item>"94"</item> + <item>"95"</item> + <item>"96"</item> + </string-array> + +</resources> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 33cd8103b1e8..9762d77e2f35 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -373,4 +373,8 @@ <!-- Boolean indicating if restoring network selection should be skipped --> <!-- The restoring is handled by modem if it is true--> <bool translatable="false" name="skip_restoring_network_selection">false</bool> + + <!-- Do not translate. Defines the slots is Two Digit Number for dialing normally not USSD --> + <string-array name="config_twoDigitNumberPattern"> + </string-array> </resources> diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java b/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java index aa16fa30633b..5c7ce2f52a70 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmMmiCode.java @@ -148,7 +148,7 @@ public final class GsmMmiCode extends Handler implements MmiCode { static final int MATCH_GROUP_SIC = 9; static final int MATCH_GROUP_PWD_CONFIRM = 11; static final int MATCH_GROUP_DIALING_NUMBER = 12; - + static private String[] sTwoDigitNumberPattern; //***** Public Class methods @@ -191,6 +191,9 @@ public final class GsmMmiCode extends Handler implements MmiCode { ret = new GsmMmiCode(phone); ret.poundString = dialString; + } else if (isTwoDigitShortCode(phone.getContext(), dialString)) { + //Is a country-specific exception to short codes as defined in TS 22.030, 6.5.3.2 + ret = null; } else if (isShortCode(dialString, phone)) { // this may be a short code, as defined in TS 22.030, 6.5.3.2 ret = new GsmMmiCode(phone); @@ -445,6 +448,28 @@ public final class GsmMmiCode extends Handler implements MmiCode { } + static private boolean + isTwoDigitShortCode(Context context, String dialString) { + Log.d(LOG_TAG, "isTwoDigitShortCode"); + + if (dialString == null || dialString.length() != 2) return false; + + if (sTwoDigitNumberPattern == null) { + sTwoDigitNumberPattern = context.getResources().getStringArray( + com.android.internal.R.array.config_twoDigitNumberPattern); + } + + for (String dialnumber : sTwoDigitNumberPattern) { + Log.d(LOG_TAG, "Two Digit Number Pattern " + dialnumber); + if (dialString.equals(dialnumber)) { + Log.d(LOG_TAG, "Two Digit Number Pattern -true"); + return true; + } + } + Log.d(LOG_TAG, "Two Digit Number Pattern -false"); + return false; + } + /** * Helper function for newFromDialString. Returns true if dialString appears to be a short code * AND conditions are correct for it to be treated as such. |