Merge "Let network mode UI refresh when network type with carrier group changed" into sc-dev
diff --git a/src/com/android/settings/network/AllowedNetworkTypesListener.java b/src/com/android/settings/network/AllowedNetworkTypesListener.java
index 972e4d6..3d93664 100644
--- a/src/com/android/settings/network/AllowedNetworkTypesListener.java
+++ b/src/com/android/settings/network/AllowedNetworkTypesListener.java
@@ -34,7 +34,6 @@
@VisibleForTesting
OnAllowedNetworkTypesListener mListener;
- private long mAllowedNetworkType = -1;
private Executor mExecutor;
public AllowedNetworkTypesListener(Executor executor) {
@@ -70,14 +69,14 @@
@Override
public void onAllowedNetworkTypesChanged(int reason, long newAllowedNetworkType) {
- if (reason != TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER) {
+ if (reason != TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER
+ && reason != TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER) {
return;
}
- if (mListener != null && mAllowedNetworkType != newAllowedNetworkType) {
+ if (mListener != null) {
mListener.onAllowedNetworkTypesChanged();
- Log.d(LOG_TAG, "onAllowedNetworkChanged: " + mAllowedNetworkType);
+ Log.d(LOG_TAG, "onAllowedNetworkChanged: " + newAllowedNetworkType);
}
- mAllowedNetworkType = newAllowedNetworkType;
}
/**
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index d39f6a4..25e0ae0 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -152,7 +152,10 @@
mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
mContext.getMainExecutor());
mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
- () -> updatePreference());
+ () -> {
+ mBuilder.updateConfig();
+ updatePreference();
+ });
}
lifecycle.addObserver(this);
diff --git a/tests/unit/src/com/android/settings/network/AllowedNetworkTypesListenerTest.java b/tests/unit/src/com/android/settings/network/AllowedNetworkTypesListenerTest.java
index e89a257..c18477a 100644
--- a/tests/unit/src/com/android/settings/network/AllowedNetworkTypesListenerTest.java
+++ b/tests/unit/src/com/android/settings/network/AllowedNetworkTypesListenerTest.java
@@ -68,7 +68,7 @@
}
@Test
- public void onChange_shouldCallListener() {
+ public void onChange_userReasonChanged_shouldCallListener() {
mAllowedNetworkTypesListener.mListener = mListener;
long networkType = (long) RadioAccessFamily.getRafFromNetworkType(
TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO);
@@ -80,6 +80,18 @@
}
@Test
+ public void onChange_carrierReasonChanged_shouldCallListener() {
+ mAllowedNetworkTypesListener.mListener = mListener;
+ long networkType = (long) RadioAccessFamily.getRafFromNetworkType(
+ TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO);
+
+ mAllowedNetworkTypesListener.onAllowedNetworkTypesChanged(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER, networkType);
+
+ verify(mListener).onAllowedNetworkTypesChanged();
+ }
+
+ @Test
public void register_shouldRegisterContentObserver() {
mAllowedNetworkTypesListener.register(mContext, SUB_ID);