Let network mode UI refresh when network type with carrier group changed
Bug: 193432269 Test: atest AllowedNetworkTypesListenerTest (pass) atest EnabledNetworkModePreferenceControllerTest (pass) Change-Id: Icae727887b2e913479a241bb9f014607b8ec826c
This commit is contained in:
@@ -34,7 +34,6 @@ public class AllowedNetworkTypesListener extends TelephonyCallback implements
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
OnAllowedNetworkTypesListener mListener;
|
OnAllowedNetworkTypesListener mListener;
|
||||||
private long mAllowedNetworkType = -1;
|
|
||||||
private Executor mExecutor;
|
private Executor mExecutor;
|
||||||
|
|
||||||
public AllowedNetworkTypesListener(Executor executor) {
|
public AllowedNetworkTypesListener(Executor executor) {
|
||||||
@@ -70,14 +69,14 @@ public class AllowedNetworkTypesListener extends TelephonyCallback implements
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAllowedNetworkTypesChanged(int reason, long newAllowedNetworkType) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
if (mListener != null && mAllowedNetworkType != newAllowedNetworkType) {
|
if (mListener != null) {
|
||||||
mListener.onAllowedNetworkTypesChanged();
|
mListener.onAllowedNetworkTypesChanged();
|
||||||
Log.d(LOG_TAG, "onAllowedNetworkChanged: " + mAllowedNetworkType);
|
Log.d(LOG_TAG, "onAllowedNetworkChanged: " + newAllowedNetworkType);
|
||||||
}
|
}
|
||||||
mAllowedNetworkType = newAllowedNetworkType;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -152,7 +152,10 @@ public class EnabledNetworkModePreferenceController extends
|
|||||||
mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
|
mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
|
||||||
mContext.getMainExecutor());
|
mContext.getMainExecutor());
|
||||||
mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
|
mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
|
||||||
() -> updatePreference());
|
() -> {
|
||||||
|
mBuilder.updateConfig();
|
||||||
|
updatePreference();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
lifecycle.addObserver(this);
|
lifecycle.addObserver(this);
|
||||||
|
@@ -68,7 +68,7 @@ public class AllowedNetworkTypesListenerTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onChange_shouldCallListener() {
|
public void onChange_userReasonChanged_shouldCallListener() {
|
||||||
mAllowedNetworkTypesListener.mListener = mListener;
|
mAllowedNetworkTypesListener.mListener = mListener;
|
||||||
long networkType = (long) RadioAccessFamily.getRafFromNetworkType(
|
long networkType = (long) RadioAccessFamily.getRafFromNetworkType(
|
||||||
TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO);
|
TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO);
|
||||||
@@ -79,6 +79,18 @@ public class AllowedNetworkTypesListenerTest {
|
|||||||
verify(mListener).onAllowedNetworkTypesChanged();
|
verify(mListener).onAllowedNetworkTypesChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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
|
@Test
|
||||||
public void register_shouldRegisterContentObserver() {
|
public void register_shouldRegisterContentObserver() {
|
||||||
mAllowedNetworkTypesListener.register(mContext, SUB_ID);
|
mAllowedNetworkTypesListener.register(mContext, SUB_ID);
|
||||||
|
Reference in New Issue
Block a user