Use main looper for PhoneStateListener

Also init all subIds to INVALID in constructor

Change-Id: Ic66a2e5a24dbc10d52db0069f0e863c96ec12513
Fixes: 118070636
Test: Manual
This commit is contained in:
jackqdyulei
2018-10-22 10:22:00 -07:00
parent 71a091901f
commit 6ac8d80fcb
5 changed files with 12 additions and 1 deletions

View File

@@ -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);