summaryrefslogtreecommitdiffstats
path: root/telephony
diff options
context:
space:
mode:
Diffstat (limited to 'telephony')
-rwxr-xr-xtelephony/java/com/android/internal/telephony/cdma/CDMAPhone.java24
-rw-r--r--telephony/java/com/android/internal/telephony/cdma/FeatureCode.java310
2 files changed, 0 insertions, 334 deletions
diff --git a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
index ebe3e096..958e96d 100755
--- a/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
+++ b/telephony/java/com/android/internal/telephony/cdma/CDMAPhone.java
@@ -340,15 +340,6 @@ public class CDMAPhone extends PhoneBase {
dial (String dialString) throws CallStateException {
// Need to make sure dialString gets parsed properly
String newDialString = PhoneNumberUtils.stripSeparators(dialString);
-
- if (!mCT.foregroundCall.isIdle()) {
- FeatureCode fc = FeatureCode.newFromDialString(newDialString, this);
- if (fc != null) {
- //mMmiRegistrants.notifyRegistrants(new AsyncResult(null, fc, null));
- fc.processCode();
- return null;
- }
- }
return mCT.dial(newDialString);
}
@@ -846,21 +837,6 @@ public class CDMAPhone extends PhoneBase {
mRuimRecords.setVoiceMessageWaiting(1, mwi);
}
- /**
- * Removes the given FC from the pending list and notifies
- * registrants that it is complete.
- * @param fc FC that is done
- */
- /*package*/ void onFeatureCodeDone(FeatureCode fc) {
- /* Only notify complete if it's on the pending list.
- * Otherwise, it's already been handled (eg, previously canceled).
- * The exception is cancellation of an incoming USSD-REQUEST, which is
- * not on the list.
- */
- mMmiCompleteRegistrants.notifyRegistrants(new AsyncResult(null, fc, null));
- }
-
-
@Override
public void exitEmergencyCallbackMode() {
if (mWakeLock.isHeld()) {
diff --git a/telephony/java/com/android/internal/telephony/cdma/FeatureCode.java b/telephony/java/com/android/internal/telephony/cdma/FeatureCode.java
deleted file mode 100644
index 23a4ac7..0000000
--- a/telephony/java/com/android/internal/telephony/cdma/FeatureCode.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright (C) 2006 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.
- */
-
-package com.android.internal.telephony.cdma;
-
-import android.content.Context;
-import android.os.*;
-import android.util.Log;
-
-import com.android.internal.telephony.*;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- *
- * {@hide}
- *
- */
-public final class FeatureCode extends Handler implements MmiCode {
- static final String LOG_TAG = "CDMA";
-
- //***** Constants
-
- // Call Forwarding
- static final String FC_CF_ACTIVATE = "72";
- static final String FC_CF_DEACTIVATE = "73";
- static final String FC_CF_FORWARD_TO_NUMBER = "56";
-
- // Call Forwarding Busy Line
- static final String FC_CFBL_ACTIVATE = "90";
- static final String FC_CFBL_DEACTIVATE = "91";
- static final String FC_CFBL_FORWARD_TO_NUMBER = "40";
-
- // Call Forwarding Don't Answer
- static final String FC_CFDA_ACTIVATE = "92";
- static final String FC_CFDA_DEACTIVATE = "93";
- static final String FC_CFDA_FORWARD_TO_NUMBER = "42";
-
- // Cancel Call Waiting
- static final String FC_CCW = "70";
-
- // Usage Sensitive Three-way Calling
- static final String FC_3WC = "71";
-
- // Do Not Disturb
- static final String FC_DND_ACTIVATE = "78";
- static final String FC_DND_DEACTIVATE = "79";
-
- // Who Called Me?
- static final String FC_WHO = "51";
-
- // Rejection of Undesired Annoying Calls
- static final String FC_RUAC_ACTIVATE = "60";
- static final String FC_RUAC_DEACTIVATE = "80";
-
- // Calling Number Delivery
- // Calling Number Identification Presentation
- static final String FC_CNIP = "65";
- // Calling Number Identification Restriction
- static final String FC_CNIR = "85";
-
-
- //***** Event Constants
-
- static final int EVENT_SET_COMPLETE = 1;
- static final int EVENT_CDMA_FLASH_COMPLETED = 2;
-
-
- //***** Instance Variables
-
- CDMAPhone phone;
- Context context;
- String action; // '*' in CDMA
- String sc; // Service Code
- String poundString; // Entire Flash string
- String dialingNumber;
-
- /** Set to true in processCode, not at newFromDialString time */
-
- State state = State.PENDING;
- CharSequence message;
-
- //***** Class Variables
-
-
- // Flash Code Pattern
-
- static Pattern sPatternSuppService = Pattern.compile(
- "((\\*)(\\d{2,3})(#?)([^*#]*)?)(.*)");
-/* 1 2 3 4 5 6
-
- 1 = Full string up to and including #
- 2 = action
- 3 = service code
- 4 = separator
- 5 = dialing number
-*/
-
- static final int MATCH_GROUP_POUND_STRING = 1;
- static final int MATCH_GROUP_ACTION_STRING = 2;
- static final int MATCH_GROUP_SERVICE_CODE = 3;
- static final int MATCH_GROUP_DIALING_NUMBER = 5;
-
-
- //***** Public Class methods
-
- /**
- * Some dial strings in CDMA are defined to do non-call setup
- * things, such as set supplementary service settings (eg, call
- * forwarding). These are generally referred to as "Feature Codes".
- * We look to see if the dial string contains a valid Feature code (potentially
- * with a dial string at the end as well) and return info here.
- *
- * If the dial string contains no Feature code, we return an instance with
- * only "dialingNumber" set
- *
- * Please see also S.R0006-000-A v2.0 "Wireless Features Description"
- */
-
- static FeatureCode newFromDialString(String dialString, CDMAPhone phone) {
- Matcher m;
- FeatureCode ret = null;
-
- m = sPatternSuppService.matcher(dialString);
-
- // Is this formatted like a standard supplementary service code?
- if (m.matches()) {
- ret = new FeatureCode(phone);
- ret.poundString = makeEmptyNull(m.group(MATCH_GROUP_POUND_STRING));
- ret.action = makeEmptyNull(m.group(MATCH_GROUP_ACTION_STRING));
- ret.sc = makeEmptyNull(m.group(MATCH_GROUP_SERVICE_CODE));
- ret.dialingNumber = makeEmptyNull(m.group(MATCH_GROUP_DIALING_NUMBER));
- }
-
- return ret;
- }
-
- //***** Private Class methods
-
- /** make empty strings be null.
- * Java regexp returns empty strings for empty groups
- */
- private static String makeEmptyNull (String s) {
- if (s != null && s.length() == 0) return null;
-
- return s;
- }
-
- /** returns true of the string is empty or null */
- private static boolean isEmptyOrNull(CharSequence s) {
- return s == null || (s.length() == 0);
- }
-
- static boolean isServiceCodeCallForwarding(String sc) {
- return sc != null &&
- (sc.equals(FC_CF_ACTIVATE)
- || sc.equals(FC_CF_DEACTIVATE) || sc.equals(FC_CF_FORWARD_TO_NUMBER)
- || sc.equals(FC_CFBL_ACTIVATE) || sc.equals(FC_CFBL_DEACTIVATE)
- || sc.equals(FC_CFBL_FORWARD_TO_NUMBER) || sc.equals(FC_CFDA_ACTIVATE)
- || sc.equals(FC_CFDA_DEACTIVATE) || sc.equals(FC_CFDA_FORWARD_TO_NUMBER));
- }
-
- static boolean isServiceCodeCallWaiting(String sc) {
- return sc != null && sc.equals(FC_CCW);
- }
-
- static boolean isServiceCodeThreeWayCalling(String sc) {
- return sc != null && sc.equals(FC_3WC);
- }
-
- static boolean isServiceCodeAnnoyingCalls(String sc) {
- return sc != null &&
- (sc.equals(FC_RUAC_ACTIVATE)
- || sc.equals(FC_RUAC_DEACTIVATE));
- }
-
- static boolean isServiceCodeCallingNumberDelivery(String sc) {
- return sc != null &&
- (sc.equals(FC_CNIP)
- || sc.equals(FC_CNIR));
- }
-
- static boolean isServiceCodeDoNotDisturb(String sc) {
- return sc != null &&
- (sc.equals(FC_DND_ACTIVATE)
- || sc.equals(FC_DND_DEACTIVATE));
- }
-
-
- //***** Constructor
-
- FeatureCode (CDMAPhone phone) {
- super(phone.getHandler().getLooper());
- this.phone = phone;
- this.context = phone.getContext();
- }
-
-
- //***** MmiCode implementation
-
- public State getState() {
- return state;
- }
-
- public CharSequence getMessage() {
- return message;
- }
-
- // inherited javadoc suffices
- public void cancel() {
- //Not used here
- }
-
- public boolean isCancelable() {
- Log.e(LOG_TAG, "isCancelable: not used in CDMA");
- return false;
- }
-
- public boolean isUssdRequest() {
- Log.e(LOG_TAG, "isUssdRequest: not used in CDMA");
- return false;
- }
-
- /** Process a Flash Code...anything that isn't a dialing number */
- void processCode() {
- Log.d(LOG_TAG, "send feature code...");
- phone.mCM.sendCDMAFeatureCode(this.poundString, obtainMessage(EVENT_CDMA_FLASH_COMPLETED));
- }
-
- /** Called from CDMAPhone.handleMessage; not a Handler subclass */
- public void handleMessage (Message msg) {
- AsyncResult ar;
-
- switch (msg.what) {
- case EVENT_SET_COMPLETE:
- ar = (AsyncResult) (msg.obj);
- onSetComplete(ar);
- break;
- case EVENT_CDMA_FLASH_COMPLETED:
- ar = (AsyncResult) (msg.obj);
-
- if (ar.exception != null) {
- state = State.FAILED;
- message = context.getText(com.android.internal.R.string.fcError);
- } else {
- state = State.COMPLETE;
- message = context.getText(com.android.internal.R.string.fcComplete);
- }
- phone.onFeatureCodeDone(this);
- break;
- }
- }
-
-
- //***** Private instance methods
-
- private CharSequence getScString() {
- if (sc != null) {
- if (isServiceCodeCallForwarding(sc)) {
- return context.getText(com.android.internal.R.string.CfMmi);
- } else if (isServiceCodeCallWaiting(sc)) {
- return context.getText(com.android.internal.R.string.CwMmi);
- } else if (sc.equals(FC_CNIP)) {
- return context.getText(com.android.internal.R.string.CnipMmi);
- } else if (sc.equals(FC_CNIR)) {
- return context.getText(com.android.internal.R.string.CnirMmi);
- } else if (isServiceCodeThreeWayCalling(sc)) {
- return context.getText(com.android.internal.R.string.ThreeWCMmi);
- } else if (isServiceCodeAnnoyingCalls(sc)) {
- return context.getText(com.android.internal.R.string.RuacMmi);
- } else if (isServiceCodeCallingNumberDelivery(sc)) {
- return context.getText(com.android.internal.R.string.CndMmi);
- } else if (isServiceCodeDoNotDisturb(sc)) {
- return context.getText(com.android.internal.R.string.DndMmi);
- }
- }
-
- return "";
- }
-
- private void onSetComplete(AsyncResult ar){
- StringBuilder sb = new StringBuilder(getScString());
- sb.append("\n");
-
- if (ar.exception != null) {
- state = State.FAILED;
- sb.append(context.getText(com.android.internal.R.string.mmiError));
- } else {
- state = State.FAILED;
- sb.append(context.getText(com.android.internal.R.string.mmiError));
- }
-
- message = sb;
- phone.onFeatureCodeDone(this);
- }
-}