Merge "[Settings] Select RAT in between SIMs for Internet" into tm-dev am: 08b7f53383
am: 2034695af7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18426347 Change-Id: I9a2e943ebe76959b4ba9f6cace61429876ff8c3d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -456,7 +456,11 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTelephonyDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo) {
|
||||
public void onTelephonyDisplayInfoChanged(int subId,
|
||||
TelephonyDisplayInfo telephonyDisplayInfo) {
|
||||
if (subId != mSubsPrefCtrlInjector.getDefaultDataSubscriptionId()) {
|
||||
return;
|
||||
}
|
||||
mTelephonyDisplayInfo = telephonyDisplayInfo;
|
||||
update();
|
||||
}
|
||||
|
@@ -37,8 +37,9 @@ public class TelephonyDisplayInfoListener {
|
||||
private TelephonyManager mBaseTelephonyManager;
|
||||
private Callback mCallback;
|
||||
private Map<Integer, PhoneStateListener> mListeners;
|
||||
private Map<Integer, TelephonyDisplayInfo> mDisplayInfos;
|
||||
|
||||
private TelephonyDisplayInfo mTelephonyDisplayInfo =
|
||||
private static final TelephonyDisplayInfo mDefaultTelephonyDisplayInfo =
|
||||
new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
|
||||
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
||||
/**
|
||||
@@ -48,19 +49,20 @@ public class TelephonyDisplayInfoListener {
|
||||
/**
|
||||
* Used to notify TelephonyDisplayInfo change.
|
||||
*/
|
||||
void onTelephonyDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo);
|
||||
void onTelephonyDisplayInfoChanged(int subId, TelephonyDisplayInfo telephonyDisplayInfo);
|
||||
}
|
||||
|
||||
public TelephonyDisplayInfoListener(Context context, Callback callback) {
|
||||
mBaseTelephonyManager = context.getSystemService(TelephonyManager.class);
|
||||
mCallback = callback;
|
||||
mListeners = new HashMap<>();
|
||||
mDisplayInfos = new HashMap<>();
|
||||
}
|
||||
/**
|
||||
* Get TelephonyDisplayInfo.
|
||||
*/
|
||||
public TelephonyDisplayInfo getTelephonyDisplayInfo() {
|
||||
return mTelephonyDisplayInfo;
|
||||
public TelephonyDisplayInfo getTelephonyDisplayInfo(int subId) {
|
||||
return mDisplayInfos.get(subId);
|
||||
}
|
||||
|
||||
/** Resumes listening telephony display info changes to the set of ids from the last call to
|
||||
@@ -85,15 +87,17 @@ public class TelephonyDisplayInfoListener {
|
||||
for (int idToRemove : Sets.difference(currentIds, ids)) {
|
||||
stopListening(idToRemove);
|
||||
mListeners.remove(idToRemove);
|
||||
mDisplayInfos.remove(idToRemove);
|
||||
}
|
||||
for (int idToAdd : Sets.difference(ids, currentIds)) {
|
||||
PhoneStateListener listener = new PhoneStateListener() {
|
||||
@Override
|
||||
public void onDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo) {
|
||||
mTelephonyDisplayInfo = telephonyDisplayInfo;
|
||||
mCallback.onTelephonyDisplayInfoChanged(telephonyDisplayInfo);
|
||||
mDisplayInfos.put(idToAdd, telephonyDisplayInfo);
|
||||
mCallback.onTelephonyDisplayInfoChanged(idToAdd, telephonyDisplayInfo);
|
||||
}
|
||||
};
|
||||
mDisplayInfos.put(idToAdd, mDefaultTelephonyDisplayInfo);
|
||||
mListeners.put(idToAdd, listener);
|
||||
startListening(idToAdd);
|
||||
}
|
||||
|
@@ -364,7 +364,8 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
|
||||
mController.onResume();
|
||||
mController.displayPreference(mPreferenceScreen);
|
||||
mController.onTelephonyDisplayInfoChanged(telephonyDisplayInfo);
|
||||
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
|
||||
telephonyDisplayInfo);
|
||||
|
||||
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
|
||||
}
|
||||
@@ -388,7 +389,8 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
|
||||
mController.onResume();
|
||||
mController.displayPreference(mPreferenceScreen);
|
||||
mController.onTelephonyDisplayInfoChanged(telephonyDisplayInfo);
|
||||
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
|
||||
telephonyDisplayInfo);
|
||||
|
||||
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
|
||||
}
|
||||
@@ -414,7 +416,8 @@ public class SubscriptionsPreferenceControllerTest {
|
||||
|
||||
mController.onResume();
|
||||
mController.displayPreference(mPreferenceScreen);
|
||||
mController.onTelephonyDisplayInfoChanged(telephonyDisplayInfo);
|
||||
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
|
||||
telephonyDisplayInfo);
|
||||
|
||||
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
|
||||
}
|
||||
|
Reference in New Issue
Block a user