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

Commit 6b3fd951 authored by Matt Garnes's avatar Matt Garnes
Browse files

Merge remote-tracking branch 'LA.BR.1.2.1_rb2.19' into HEAD

parents 6e01d6d3 c6ce0410
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2777,8 +2777,8 @@ public final class DcTracker extends DcTrackerBase {
        String operator = getOperatorNumeric();
        int radioTech = mPhone.getServiceState().getRilDataRadioTechnology();

        if (mOmhApt != null && ServiceState.RIL_RADIO_TECHNOLOGY_EHRPD !=
                radioTech && !ServiceState.isGsm(radioTech)) {
        if (mOmhApt != null && (ServiceState.isCdma(radioTech) &&
                ServiceState.RIL_RADIO_TECHNOLOGY_EHRPD != radioTech)) {
            ArrayList<ApnSetting> mOmhApnsList = new ArrayList<ApnSetting>();
            mOmhApnsList = mOmhApt.getOmhApnProfilesList();
            if (!mOmhApnsList.isEmpty()) {
+57 −0
Original line number Diff line number Diff line
@@ -19,8 +19,12 @@

package com.android.internal.telephony.gsm;

import android.app.NotificationManager;
import android.content.BroadcastReceiver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.database.SQLException;
import android.net.Uri;
@@ -76,6 +80,7 @@ import com.android.internal.telephony.PhoneProxy;
import com.android.internal.telephony.PhoneSubInfo;
import com.android.internal.telephony.SubscriptionController;

import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.TelephonyProperties;
import com.android.internal.telephony.UUSInfo;
import com.android.internal.telephony.imsphone.ImsPhone;
@@ -121,6 +126,9 @@ public class GSMPhone extends PhoneBase {
    // Event constant for checking if Call Forwarding is enabled
    private static final int CHECK_CALLFORWARDING_STATUS = 75;

    private static final int CALL_FORWARD_NOTIFICATION = 4;
    private static final int NOTIFICATION_ID_OFFSET = 50;

    // Instance Variables
    GsmCallTracker mCT;
    GsmServiceStateTracker mSST;
@@ -128,6 +136,7 @@ public class GSMPhone extends PhoneBase {
    protected SimPhoneBookInterfaceManager mSimPhoneBookIntManager;
    PhoneSubInfo mSubInfo;

    NotificationManager mNotificationManager;
    Registrant mPostDialHandler;

    /** List of Registrants to receive Supplementary Service Notifications. */
@@ -155,6 +164,28 @@ public class GSMPhone extends PhoneBase {
        }
    }

    private BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (TelephonyIntents.ACTION_SUBSCRIPTION_SET_UICC_RESULT.
                    equals(intent.getAction())) {
                long subId = intent.getLongExtra(PhoneConstants.SUBSCRIPTION_KEY,
                        SubscriptionManager.INVALID_SUB_ID);
                int phoneId = intent.getIntExtra(PhoneConstants.PHONE_KEY,
                        PhoneConstants.PHONE_ID1);
                int status = intent.getIntExtra(TelephonyIntents.EXTRA_RESULT,
                        PhoneConstants.FAILURE);
                int state = intent.getIntExtra(TelephonyIntents.EXTRA_NEW_SUB_STATE,
                        SubscriptionManager.INACTIVE);
                log("Received ACTION_SUBSCRIPTION_SET_UICC_RESULT on subId: " + subId
                        + "phoneId " + phoneId + " status: " + status);
                if ((status == PhoneConstants.SUCCESS) && (state == SubscriptionManager.INACTIVE)) {
                    resetSubSpecifics();
                }
            }

        }};

    // Constructors

    public
@@ -216,6 +247,11 @@ public class GSMPhone extends PhoneBase {
            mSubInfo = new PhoneSubInfo(this);
        }

        mNotificationManager = (NotificationManager) mContext
                .getSystemService(Context.NOTIFICATION_SERVICE);
        IntentFilter filter =
                new IntentFilter(TelephonyIntents.ACTION_SUBSCRIPTION_SET_UICC_RESULT);
        context.registerReceiver(mReceiver, filter);
        mCi.registerForAvailable(this, EVENT_RADIO_AVAILABLE, null);
        mCi.registerForOffOrNotAvailable(this, EVENT_RADIO_OFF_OR_NOT_AVAILABLE, null);
        mCi.registerForOn(this, EVENT_RADIO_ON, null);
@@ -1328,12 +1364,27 @@ public class GSMPhone extends PhoneBase {

    @Override
    public void getOutgoingCallerIdDisplay(Message onComplete) {
        ImsPhone imsPhone = mImsPhone;
        if ((imsPhone != null)
                && (imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE
                || imsPhone.isUtEnabled())) {
            imsPhone.getOutgoingCallerIdDisplay(onComplete);
            return;
        }
        mCi.getCLIR(onComplete);
    }

    @Override
    public void setOutgoingCallerIdDisplay(int commandInterfaceCLIRMode,
                                           Message onComplete) {
        ImsPhone imsPhone = mImsPhone;
        if ((imsPhone != null)
                && (imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE
                || imsPhone.isUtEnabled())) {
            imsPhone.setOutgoingCallerIdDisplay(commandInterfaceCLIRMode,
            obtainMessage(EVENT_SET_CLIR_COMPLETE, commandInterfaceCLIRMode, 0, onComplete));
            return;
        }
        mCi.setCLIR(commandInterfaceCLIRMode,
                obtainMessage(EVENT_SET_CLIR_COMPLETE, commandInterfaceCLIRMode, 0, onComplete));
    }
@@ -2112,6 +2163,12 @@ public class GSMPhone extends PhoneBase {
    }

    public void resetSubSpecifics() {
        log("resetSubSpecifics");
        if (getCallForwardingIndicator()) {
            int notificationId = CALL_FORWARD_NOTIFICATION +
                    (getPhoneId() * NOTIFICATION_ID_OFFSET);
            mNotificationManager.cancel(notificationId);
        }
    }

    /** gets the voice mail count from preferences */
+39 −0
Original line number Diff line number Diff line
@@ -99,6 +99,8 @@ public class ImsPhone extends ImsPhoneBase {
    protected static final int EVENT_GET_CALL_BARRING_DONE          = EVENT_LAST + 2;
    protected static final int EVENT_SET_CALL_WAITING_DONE          = EVENT_LAST + 3;
    protected static final int EVENT_GET_CALL_WAITING_DONE          = EVENT_LAST + 4;
    protected static final int EVENT_SET_CLIR_DONE                  = EVENT_LAST + 5;
    protected static final int EVENT_GET_CLIR_DONE                  = EVENT_LAST + 6;

    public static final String CS_FALLBACK = "cs_fallback";

@@ -702,6 +704,33 @@ public class ImsPhone extends ImsPhoneBase {
        return ImsUtInterface.INVALID;
    }

    @Override
    public void getOutgoingCallerIdDisplay(Message onComplete) {
        if (DBG) Rlog.d(LOG_TAG, "getCLIR");
        Message resp;
        resp = obtainMessage(EVENT_GET_CLIR_DONE, onComplete);

        try {
            ImsUtInterface ut = mCT.getUtInterface();
            ut.queryCLIR(resp);
        } catch (ImsException e) {
            sendErrorResponse(onComplete, e);
        }
    }

    @Override
    public void setOutgoingCallerIdDisplay(int clirMode, Message onComplete) {
        if (DBG) Rlog.d(LOG_TAG, "setCLIR action= " + clirMode);
        Message resp;
        resp = obtainMessage(EVENT_SET_CLIR_DONE, onComplete);
        try {
            ImsUtInterface ut = mCT.getUtInterface();
            ut.updateCLIR(clirMode, resp);
        } catch (ImsException e) {
            sendErrorResponse(onComplete, e);
        }
    }

    @Override
    public void getCallForwardingOption(int commandInterfaceCFReason,
            Message onComplete) {
@@ -1231,6 +1260,16 @@ public class ImsPhone extends ImsPhoneBase {
                sendResponse((Message) ar.userObj, ssInfos, ar.exception);
                break;

              case EVENT_GET_CLIR_DONE:
                Bundle ssInfo = (Bundle) ar.result;
                int[] clirInfo = null;
                if (ssInfo != null) {
                    clirInfo = ssInfo.getIntArray(ImsPhoneMmiCode.UT_BUNDLE_KEY_CLIR);
                }
                sendResponse((Message) ar.userObj, clirInfo, ar.exception);
                break;

             case EVENT_SET_CLIR_DONE:
             case EVENT_SET_CALL_BARRING_DONE:
             case EVENT_SET_CALL_WAITING_DONE:
                sendResponse((Message) ar.userObj, null, ar.exception);
+2 −0
Original line number Diff line number Diff line
@@ -1114,6 +1114,8 @@ public final class ImsPhoneCallTracker extends CallTracker {
            case ImsReasonInfo.CODE_EMERGENCY_PERM_FAILURE:
                return DisconnectCause.EMERGENCY_PERM_FAILURE;

            case ImsReasonInfo.CODE_FDN_BLOCKED:
                return DisconnectCause.FDN_BLOCKED;
            default:
        }