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

Commit 6ac8d80f authored by jackqdyulei's avatar jackqdyulei
Browse files

Use main looper for PhoneStateListener

Also init all subIds to INVALID in constructor

Change-Id: Ic66a2e5a24dbc10d52db0069f0e863c96ec12513
Fixes: 118070636
Test: Manual
parent 71a09190
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.settings.network.telephony;
import android.content.Context;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;

import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
@@ -37,6 +38,7 @@ public class CarrierPreferenceController extends BasePreferenceController {
    public CarrierPreferenceController(Context context, String key) {
        super(context, key);
        mCarrierConfigManager = new CarrierConfigManager(context);
        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    }

    public void init(int subId) {
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ public class DataUsagePreferenceController extends BasePreferenceController {

    public DataUsagePreferenceController(Context context, String key) {
        super(context, key);
        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    }

    @Override
+7 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.settings.network.telephony;

import android.content.Context;
import android.os.Looper;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.PhoneStateListener;
@@ -53,7 +54,7 @@ public class Enhanced4gLtePreferenceController extends TogglePreferenceControlle
    public Enhanced4gLtePreferenceController(Context context, String key) {
        super(context, key);
        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
        mPhoneStateListener = new PhoneCallStateListener();
        mPhoneStateListener = new PhoneCallStateListener(Looper.getMainLooper());
        mSubId =  SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    }

@@ -131,6 +132,11 @@ public class Enhanced4gLtePreferenceController extends TogglePreferenceControlle
    }

    private class PhoneCallStateListener extends PhoneStateListener {

        public PhoneCallStateListener(Looper looper) {
            super(looper);
        }

        @Override
        public void onCallStateChanged(int state, String incomingNumber) {
            updateState(mPreference);
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ public class MobileDataPreferenceController extends TogglePreferenceController
        super(context, key);
        mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
        mDataContentObserver = new DataContentObserver(new Handler(Looper.getMainLooper()));
        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    }

    @Override
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ public class RoamingPreferenceController extends TogglePreferenceController impl
        super(context, key);
        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
        mDataContentObserver = new DataContentObserver(new Handler(Looper.getMainLooper()));
        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
    }

    @Override