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:
@@ -19,6 +19,7 @@ package com.android.settings.network.telephony;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
import android.telephony.CarrierConfigManager;
|
import android.telephony.CarrierConfigManager;
|
||||||
|
import android.telephony.SubscriptionManager;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
@@ -37,6 +38,7 @@ public class CarrierPreferenceController extends BasePreferenceController {
|
|||||||
public CarrierPreferenceController(Context context, String key) {
|
public CarrierPreferenceController(Context context, String key) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
mCarrierConfigManager = new CarrierConfigManager(context);
|
mCarrierConfigManager = new CarrierConfigManager(context);
|
||||||
|
mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(int subId) {
|
public void init(int subId) {
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ public class DataUsagePreferenceController extends BasePreferenceController {
|
|||||||
|
|
||||||
public DataUsagePreferenceController(Context context, String key) {
|
public DataUsagePreferenceController(Context context, String key) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
|
mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings.network.telephony;
|
package com.android.settings.network.telephony;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.os.Looper;
|
||||||
import android.os.PersistableBundle;
|
import android.os.PersistableBundle;
|
||||||
import android.telephony.CarrierConfigManager;
|
import android.telephony.CarrierConfigManager;
|
||||||
import android.telephony.PhoneStateListener;
|
import android.telephony.PhoneStateListener;
|
||||||
@@ -53,7 +54,7 @@ public class Enhanced4gLtePreferenceController extends TogglePreferenceControlle
|
|||||||
public Enhanced4gLtePreferenceController(Context context, String key) {
|
public Enhanced4gLtePreferenceController(Context context, String key) {
|
||||||
super(context, key);
|
super(context, key);
|
||||||
mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
|
mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
|
||||||
mPhoneStateListener = new PhoneCallStateListener();
|
mPhoneStateListener = new PhoneCallStateListener(Looper.getMainLooper());
|
||||||
mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,6 +132,11 @@ public class Enhanced4gLtePreferenceController extends TogglePreferenceControlle
|
|||||||
}
|
}
|
||||||
|
|
||||||
private class PhoneCallStateListener extends PhoneStateListener {
|
private class PhoneCallStateListener extends PhoneStateListener {
|
||||||
|
|
||||||
|
public PhoneCallStateListener(Looper looper) {
|
||||||
|
super(looper);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCallStateChanged(int state, String incomingNumber) {
|
public void onCallStateChanged(int state, String incomingNumber) {
|
||||||
updateState(mPreference);
|
updateState(mPreference);
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ public class MobileDataPreferenceController extends TogglePreferenceController
|
|||||||
super(context, key);
|
super(context, key);
|
||||||
mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
|
mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
|
||||||
mDataContentObserver = new DataContentObserver(new Handler(Looper.getMainLooper()));
|
mDataContentObserver = new DataContentObserver(new Handler(Looper.getMainLooper()));
|
||||||
|
mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ public class RoamingPreferenceController extends TogglePreferenceController impl
|
|||||||
super(context, key);
|
super(context, key);
|
||||||
mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
|
mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
|
||||||
mDataContentObserver = new DataContentObserver(new Handler(Looper.getMainLooper()));
|
mDataContentObserver = new DataContentObserver(new Handler(Looper.getMainLooper()));
|
||||||
|
mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user