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

Commit 60ba3b37 authored by Robert Greenwalt's avatar Robert Greenwalt Committed by android-build-merger
Browse files

Merge "Fix issues of different phone objects sharing same mConnectionApns list." am: e05bdb15

am: 4bc0c30b

* commit '4bc0c30b':
  Fix issues of different phone objects sharing same mConnectionApns list.

Change-Id: I90bf7c127c3bf611e692a0f3c9d414ce9ed50f57
parents a1750225 4bc0c30b
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -158,7 +158,7 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {

    private String[] mDataConnectionApn;

    private ArrayList<String> mConnectedApns;
    private ArrayList<String>[] mConnectedApns;

    private LinkProperties[] mDataConnectionLinkProperties;

@@ -290,11 +290,11 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {

        mContext = context;
        mBatteryStats = BatteryStatsService.getService();
        mConnectedApns = new ArrayList<String>();

        int numPhones = TelephonyManager.getDefault().getPhoneCount();
        if (DBG) log("TelephonyRegistor: ctor numPhones=" + numPhones);
        mNumPhones = numPhones;
        mConnectedApns = new ArrayList[numPhones];
        mCallState = new int[numPhones];
        mDataActivity = new int[numPhones];
        mDataConnectionState = new int[numPhones];
@@ -325,6 +325,7 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
            mDataConnectionApn[i] =  "";
            mCellLocation[i] = new Bundle();
            mCellInfo.add(i, null);
            mConnectedApns[i] = new ArrayList<String>();
        }

        // Note that location can be null for non-phone builds like
@@ -334,7 +335,6 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
                location.fillInNotifierBundle(mCellLocation[i]);
            }
        }
        mConnectedApns = new ArrayList<String>();

        mAppOps = mContext.getSystemService(AppOpsManager.class);
    }
@@ -1025,16 +1025,16 @@ class TelephonyRegistry extends ITelephonyRegistry.Stub {
            if (validatePhoneId(phoneId)) {
                boolean modified = false;
                if (state == TelephonyManager.DATA_CONNECTED) {
                    if (!mConnectedApns.contains(apnType)) {
                        mConnectedApns.add(apnType);
                    if (!mConnectedApns[phoneId].contains(apnType)) {
                        mConnectedApns[phoneId].add(apnType);
                        if (mDataConnectionState[phoneId] != state) {
                            mDataConnectionState[phoneId] = state;
                            modified = true;
                        }
                    }
                } else {
                    if (mConnectedApns.remove(apnType)) {
                        if (mConnectedApns.isEmpty()) {
                    if (mConnectedApns[phoneId].remove(apnType)) {
                        if (mConnectedApns[phoneId].isEmpty()) {
                            mDataConnectionState[phoneId] = state;
                            modified = true;
                        } else {