diff options
-rwxr-xr-x | res/values/strings.xml | 4 | ||||
-rw-r--r-- | src/com/android/incallui/InCallActivity.java | 34 | ||||
-rw-r--r-- | src/com/android/incallui/InCallPresenter.java | 2 |
3 files changed, 8 insertions, 32 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index f6d67fa0..3a1b6566 100755 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -72,10 +72,6 @@ <string name="callFailed_dialToDial">DIAL request modified to DIAL with different number.</string> <!-- In-call screen: call failure reason (call denied because call barring is on) --> <string name="callFailed_cb_enabled">You can\'t make outgoing calls while call barring is on.</string> - <!-- In-call screen: call failure reason (call denied because call barring is ON on MT side ) --> - <string name="callFailed_incoming_cb_enabled">Party has barred all Incoming calls.</string> - <!-- In-call screen: status label for an incoming call that is not answered and forwarded --> - <string name="callUnanswered_forwarded">Call Unanswered and Forwarded</string> <!-- In-call screen: call failure reason (call denied because domain specific access control is on) --> <string name="callFailed_dsac_restricted">All calls are restricted by access control.</string> <!-- In-call screen: call failure reason (Emergency call denied because domain specific access control is on)--> diff --git a/src/com/android/incallui/InCallActivity.java b/src/com/android/incallui/InCallActivity.java index 60410bd3..66e68308 100644 --- a/src/com/android/incallui/InCallActivity.java +++ b/src/com/android/incallui/InCallActivity.java @@ -416,12 +416,11 @@ public class InCallActivity extends Activity { return super.dispatchPopulateAccessibilityEvent(event); } - public void maybeShowErrorDialogOnDisconnect(Call call) { - Log.d(this, "maybeShowErrorDialogOnDisconnect: Call=" + call); + public void maybeShowErrorDialogOnDisconnect(Call.DisconnectCause cause) { + Log.d(this, "maybeShowErrorDialogOnDisconnect"); - if (!isFinishing() && call != null) { - final int resId = getResIdForDisconnectCause(call.getDisconnectCause(), - call.getSuppServNotification()); + if (!isFinishing()) { + final int resId = getResIdForDisconnectCause(cause); if (resId != INVALID_RES_ID) { showErrorDialog(resId); } @@ -463,30 +462,11 @@ public class InCallActivity extends Activity { mDialog.show(); } - private int getResIdForDisconnectCause(Call.DisconnectCause cause, - Call.SsNotification notification) { + private int getResIdForDisconnectCause(Call.DisconnectCause cause) { int resId = INVALID_RES_ID; - if (cause == Call.DisconnectCause.INCOMING_MISSED) { - // If the network sends SVC Notification then this dialog will be displayed - // in case of B when the incoming call at B is not answered and gets forwarded - // to C - if (notification != null && notification.notificationType == 1 && - notification.code == - Call.SsNotification.MT_CODE_ADDITIONAL_CALL_FORWARDED) { - resId = R.string.callUnanswered_forwarded; - } - } else if (cause == Call.DisconnectCause.CALL_BARRED) { - // When call is disconnected with this code then it can either be barring from - // MO side or MT side. - // In MT case, if network sends SVC Notification then this dialog will be - // displayed when A is calling B & incoming is barred on B. - if (notification != null && notification.notificationType == 0 && - notification.code == Call.SsNotification.MO_CODE_INCOMING_CALLS_BARRED) { - resId = R.string.callFailed_incoming_cb_enabled; - } else { - resId = R.string.callFailed_cb_enabled; - } + if (cause == Call.DisconnectCause.CALL_BARRED) { + resId = R.string.callFailed_cb_enabled; } else if (cause == Call.DisconnectCause.FDN_BLOCKED) { resId = R.string.callFailed_fdn_only; } else if (cause == Call.DisconnectCause.CS_RESTRICTED) { diff --git a/src/com/android/incallui/InCallPresenter.java b/src/com/android/incallui/InCallPresenter.java index 57528d54..5830e726 100644 --- a/src/com/android/incallui/InCallPresenter.java +++ b/src/com/android/incallui/InCallPresenter.java @@ -508,7 +508,7 @@ public class InCallPresenter implements CallList.Listener { private void maybeShowErrorDialogOnDisconnect(Call call) { // For newly disconnected calls, we may want to show a dialog on specific error conditions if (isActivityStarted() && call.getState() == Call.State.DISCONNECTED) { - mInCallActivity.maybeShowErrorDialogOnDisconnect(call); + mInCallActivity.maybeShowErrorDialogOnDisconnect(call.getDisconnectCause()); } } |