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
|
@Override
|
||||||
public void onTelephonyDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo) {
|
public void onTelephonyDisplayInfoChanged(int subId,
|
||||||
|
TelephonyDisplayInfo telephonyDisplayInfo) {
|
||||||
|
if (subId != mSubsPrefCtrlInjector.getDefaultDataSubscriptionId()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
mTelephonyDisplayInfo = telephonyDisplayInfo;
|
mTelephonyDisplayInfo = telephonyDisplayInfo;
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
@@ -37,8 +37,9 @@ public class TelephonyDisplayInfoListener {
|
|||||||
private TelephonyManager mBaseTelephonyManager;
|
private TelephonyManager mBaseTelephonyManager;
|
||||||
private Callback mCallback;
|
private Callback mCallback;
|
||||||
private Map<Integer, PhoneStateListener> mListeners;
|
private Map<Integer, PhoneStateListener> mListeners;
|
||||||
|
private Map<Integer, TelephonyDisplayInfo> mDisplayInfos;
|
||||||
|
|
||||||
private TelephonyDisplayInfo mTelephonyDisplayInfo =
|
private static final TelephonyDisplayInfo mDefaultTelephonyDisplayInfo =
|
||||||
new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
|
new TelephonyDisplayInfo(TelephonyManager.NETWORK_TYPE_UNKNOWN,
|
||||||
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE);
|
||||||
/**
|
/**
|
||||||
@@ -48,19 +49,20 @@ public class TelephonyDisplayInfoListener {
|
|||||||
/**
|
/**
|
||||||
* Used to notify TelephonyDisplayInfo change.
|
* Used to notify TelephonyDisplayInfo change.
|
||||||
*/
|
*/
|
||||||
void onTelephonyDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo);
|
void onTelephonyDisplayInfoChanged(int subId, TelephonyDisplayInfo telephonyDisplayInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
public TelephonyDisplayInfoListener(Context context, Callback callback) {
|
public TelephonyDisplayInfoListener(Context context, Callback callback) {
|
||||||
mBaseTelephonyManager = context.getSystemService(TelephonyManager.class);
|
mBaseTelephonyManager = context.getSystemService(TelephonyManager.class);
|
||||||
mCallback = callback;
|
mCallback = callback;
|
||||||
mListeners = new HashMap<>();
|
mListeners = new HashMap<>();
|
||||||
|
mDisplayInfos = new HashMap<>();
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Get TelephonyDisplayInfo.
|
* Get TelephonyDisplayInfo.
|
||||||
*/
|
*/
|
||||||
public TelephonyDisplayInfo getTelephonyDisplayInfo() {
|
public TelephonyDisplayInfo getTelephonyDisplayInfo(int subId) {
|
||||||
return mTelephonyDisplayInfo;
|
return mDisplayInfos.get(subId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Resumes listening telephony display info changes to the set of ids from the last call to
|
/** 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)) {
|
for (int idToRemove : Sets.difference(currentIds, ids)) {
|
||||||
stopListening(idToRemove);
|
stopListening(idToRemove);
|
||||||
mListeners.remove(idToRemove);
|
mListeners.remove(idToRemove);
|
||||||
|
mDisplayInfos.remove(idToRemove);
|
||||||
}
|
}
|
||||||
for (int idToAdd : Sets.difference(ids, currentIds)) {
|
for (int idToAdd : Sets.difference(ids, currentIds)) {
|
||||||
PhoneStateListener listener = new PhoneStateListener() {
|
PhoneStateListener listener = new PhoneStateListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo) {
|
public void onDisplayInfoChanged(TelephonyDisplayInfo telephonyDisplayInfo) {
|
||||||
mTelephonyDisplayInfo = telephonyDisplayInfo;
|
mDisplayInfos.put(idToAdd, telephonyDisplayInfo);
|
||||||
mCallback.onTelephonyDisplayInfoChanged(telephonyDisplayInfo);
|
mCallback.onTelephonyDisplayInfoChanged(idToAdd, telephonyDisplayInfo);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
mDisplayInfos.put(idToAdd, mDefaultTelephonyDisplayInfo);
|
||||||
mListeners.put(idToAdd, listener);
|
mListeners.put(idToAdd, listener);
|
||||||
startListening(idToAdd);
|
startListening(idToAdd);
|
||||||
}
|
}
|
||||||
|
@@ -364,7 +364,8 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
|
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
mController.onTelephonyDisplayInfoChanged(telephonyDisplayInfo);
|
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
|
||||||
|
telephonyDisplayInfo);
|
||||||
|
|
||||||
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
|
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
|
||||||
}
|
}
|
||||||
@@ -388,7 +389,8 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
|
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
mController.onTelephonyDisplayInfoChanged(telephonyDisplayInfo);
|
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
|
||||||
|
telephonyDisplayInfo);
|
||||||
|
|
||||||
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
|
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
|
||||||
}
|
}
|
||||||
@@ -414,7 +416,8 @@ public class SubscriptionsPreferenceControllerTest {
|
|||||||
|
|
||||||
mController.onResume();
|
mController.onResume();
|
||||||
mController.displayPreference(mPreferenceScreen);
|
mController.displayPreference(mPreferenceScreen);
|
||||||
mController.onTelephonyDisplayInfoChanged(telephonyDisplayInfo);
|
mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
|
||||||
|
telephonyDisplayInfo);
|
||||||
|
|
||||||
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
|
assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user