Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94344fb8 authored by Brad Ebinger's avatar Brad Ebinger Committed by android-build-merger
Browse files

Adds logic to display UI if call forwarding is not enabled on 3gpp

am: 60109aa7

Change-Id: Id8b282bd6228a982881ea67d6c1a669b019702b9
parents 22813b18 60109aa7
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -1844,6 +1844,19 @@ public class GsmCdmaPhone extends Phone {
        }
        }
    }
    }


    public boolean supports3gppCallForwardingWhileRoaming() {
        CarrierConfigManager configManager = (CarrierConfigManager)
                getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE);
        PersistableBundle b = configManager.getConfig();
        if (b != null) {
            return b.getBoolean(
                    CarrierConfigManager.KEY_SUPPORT_3GPP_CALL_FORWARDING_WHILE_ROAMING_BOOL, true);
        } else {
            // Default value set in CarrierConfigManager
            return true;
        }
    }

    private void onNetworkInitiatedUssd(MmiCode mmi) {
    private void onNetworkInitiatedUssd(MmiCode mmi) {
        mMmiCompleteRegistrants.notifyRegistrants(
        mMmiCompleteRegistrants.notifyRegistrants(
            new AsyncResult(null, mmi, null));
            new AsyncResult(null, mmi, null));
+11 −1
Original line number Original line Diff line number Diff line
@@ -32,7 +32,6 @@ import android.text.TextUtils;
import android.telephony.Rlog;
import android.telephony.Rlog;


import static com.android.internal.telephony.CommandsInterface.*;
import static com.android.internal.telephony.CommandsInterface.*;
import com.android.internal.telephony.gsm.SsData;


import java.util.regex.Pattern;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.regex.Matcher;
@@ -1238,6 +1237,17 @@ public final class GsmMmiCode extends Handler implements MmiCode {
                } else if (err == CommandException.Error.FDN_CHECK_FAILURE) {
                } else if (err == CommandException.Error.FDN_CHECK_FAILURE) {
                    Rlog.i(LOG_TAG, "FDN_CHECK_FAILURE");
                    Rlog.i(LOG_TAG, "FDN_CHECK_FAILURE");
                    sb.append(mContext.getText(com.android.internal.R.string.mmiFdnError));
                    sb.append(mContext.getText(com.android.internal.R.string.mmiFdnError));
                } else if (err == CommandException.Error.MODEM_ERR) {
                    // Some carriers do not allow changing call forwarding settings while roaming
                    // and will return an error from the modem.
                    if (isServiceCodeCallForwarding(mSc)
                            && mPhone.getServiceState().getVoiceRoaming()
                            && !mPhone.supports3gppCallForwardingWhileRoaming()) {
                        sb.append(mContext.getText(
                                com.android.internal.R.string.mmiErrorWhileRoaming));
                    } else {
                        sb.append(getErrorMessage(ar));
                    }
                } else {
                } else {
                    sb.append(getErrorMessage(ar));
                    sb.append(getErrorMessage(ar));
                }
                }