Merge "Add useEmergencyPdn to onWlanSelected and onDomainSelected" into udc-dev
diff --git a/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelector.java b/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelector.java
index e2800a3..41b5612 100644
--- a/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelector.java
+++ b/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelector.java
@@ -1135,7 +1135,7 @@
mDomainSelected = true;
mLastTransportType = TRANSPORT_TYPE_WLAN;
mVoWifiTrialCount++;
- mTransportSelectorCallback.onWlanSelected();
+ mTransportSelectorCallback.onWlanSelected(mVoWifiOverEmergencyPdn);
mWwanSelectorCallback = null;
}
@@ -1166,7 +1166,8 @@
if (accessNetworkType == EUTRAN || accessNetworkType == NGRAN) {
domain = NetworkRegistrationInfo.DOMAIN_PS;
}
- mWwanSelectorCallback.onDomainSelected(domain);
+ mWwanSelectorCallback.onDomainSelected(domain,
+ (domain == NetworkRegistrationInfo.DOMAIN_PS));
}
/**
diff --git a/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java b/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java
index 3da0044..f176d90 100644
--- a/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java
+++ b/src/com/android/services/telephony/domainselection/NormalCallDomainSelector.java
@@ -168,7 +168,7 @@
mStopDomainSelection = true;
if (mImsStateTracker.isImsRegisteredOverWlan()) {
logd("WLAN selected");
- mTransportSelectorCallback.onWlanSelected();
+ mTransportSelectorCallback.onWlanSelected(false);
} else {
if (mWwanSelectorCallback == null) {
mTransportSelectorCallback.onWwanSelected((callback) -> {
@@ -184,7 +184,7 @@
private void notifyPsSelectedInternal() {
if (mWwanSelectorCallback != null) {
logd("notifyPsSelected - onWwanSelected");
- mWwanSelectorCallback.onDomainSelected(NetworkRegistrationInfo.DOMAIN_PS);
+ mWwanSelectorCallback.onDomainSelected(NetworkRegistrationInfo.DOMAIN_PS, false);
} else {
loge("wwanSelectorCallback is null");
mTransportSelectorCallback.onSelectionTerminated(DisconnectCause.OUTGOING_FAILURE);
@@ -207,7 +207,7 @@
private void notifyCsSelectedInternal() {
if (mWwanSelectorCallback != null) {
logd("wwanSelectorCallback -> onDomainSelected(DOMAIN_CS)");
- mWwanSelectorCallback.onDomainSelected(NetworkRegistrationInfo.DOMAIN_CS);
+ mWwanSelectorCallback.onDomainSelected(NetworkRegistrationInfo.DOMAIN_CS, false);
} else {
loge("wwanSelectorCallback is null");
mTransportSelectorCallback.onSelectionTerminated(DisconnectCause.OUTGOING_FAILURE);
diff --git a/src/com/android/services/telephony/domainselection/SmsDomainSelector.java b/src/com/android/services/telephony/domainselection/SmsDomainSelector.java
index e7c9ac5..6930b13 100644
--- a/src/com/android/services/telephony/domainselection/SmsDomainSelector.java
+++ b/src/com/android/services/telephony/domainselection/SmsDomainSelector.java
@@ -178,7 +178,7 @@
protected void notifyWlanSelected() {
logi("DomainSelected: WLAN");
- mTransportSelectorCallback.onWlanSelected();
+ mTransportSelectorCallback.onWlanSelected(false);
setDomainSelectionRequested(false);
}
@@ -199,7 +199,7 @@
logi("DomainSelected: WWAN/" + DomainSelectionService.getDomainName(domain));
if (mWwanSelectorCallback != null) {
- mWwanSelectorCallback.onDomainSelected(domain);
+ mWwanSelectorCallback.onDomainSelected(domain, false);
} else {
mTransportSelectorCallback.onSelectionTerminated(DisconnectCause.LOCAL);
}
diff --git a/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java b/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java
index 6c7f220..9badf69 100644
--- a/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java
+++ b/tests/src/com/android/services/telephony/domainselection/EmergencyCallDomainSelectorTest.java
@@ -60,6 +60,7 @@
import static junit.framework.Assert.assertTrue;
import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doAnswer;
@@ -269,7 +270,7 @@
verify(mWwanSelectorCallback, times(0)).onRequestEmergencyNetworkScan(
any(), anyInt(), any(), any());
- verify(mWwanSelectorCallback, times(0)).onDomainSelected(anyInt());
+ verify(mWwanSelectorCallback, times(0)).onDomainSelected(anyInt(), eq(true));
}
@Test
@@ -984,13 +985,13 @@
assertTrue(mDomainSelector.hasMessages(MSG_NETWORK_SCAN_TIMEOUT));
// Wi-Fi is not connected.
- verify(mTransportSelectorCallback, times(0)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(0)).onWlanSelected(anyBoolean());
// Wi-Fi is connected.
mNetworkCallback.onAvailable(null);
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
- verify(mTransportSelectorCallback, times(1)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(1)).onWlanSelected(eq(true));
}
@Test
@@ -1016,20 +1017,20 @@
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
// Wi-Fi is not connected.
- verify(mTransportSelectorCallback, times(0)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(0)).onWlanSelected(anyBoolean());
// Wi-Fi is connected. But Wi-Fi calling setting is disabled.
mNetworkCallback.onAvailable(null);
when(mMmTelManager.isVoWiFiRoamingSettingEnabled()).thenReturn(false);
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
- verify(mTransportSelectorCallback, times(0)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(0)).onWlanSelected(anyBoolean());
// Wi-Fi is connected and Wi-Fi calling setting is enabled.
when(mMmTelManager.isVoWiFiSettingEnabled()).thenReturn(true);
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
- verify(mTransportSelectorCallback, times(1)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(1)).onWlanSelected(eq(true));
}
@Test
@@ -1055,19 +1056,19 @@
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
// Wi-Fi is not connected.
- verify(mTransportSelectorCallback, times(0)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(0)).onWlanSelected(anyBoolean());
// Wi-Fi is connected. But Wi-Fi calling s not activated.
mNetworkCallback.onAvailable(null);
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
- verify(mTransportSelectorCallback, times(0)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(0)).onWlanSelected(anyBoolean());
// Wi-Fi is connected and Wi-Fi calling is activated.
doReturn("1").when(mProvisioningManager).getProvisioningStringValue(anyInt());
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
- verify(mTransportSelectorCallback, times(1)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(1)).onWlanSelected(eq(true));
}
@Test
@@ -1088,19 +1089,19 @@
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
// Wi-Fi is not connected.
- verify(mTransportSelectorCallback, times(0)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(0)).onWlanSelected(anyBoolean());
// Wi-Fi is connected but IMS is not registered over Wi-Fi.
mNetworkCallback.onAvailable(null);
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
- verify(mTransportSelectorCallback, times(0)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(0)).onWlanSelected(anyBoolean());
// IMS is registered over Wi-Fi.
bindImsService(true);
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
- verify(mTransportSelectorCallback, times(1)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(1)).onWlanSelected(eq(false));
}
@Test
@@ -1127,13 +1128,13 @@
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
- verify(mTransportSelectorCallback, times(1)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(1)).onWlanSelected(eq(false));
// duplicated event
mDomainSelector.handleMessage(mDomainSelector.obtainMessage(MSG_NETWORK_SCAN_TIMEOUT));
// ignore duplicated callback, no change in interaction
- verify(mTransportSelectorCallback, times(1)).onWlanSelected();
+ verify(mTransportSelectorCallback, times(1)).onWlanSelected(anyBoolean());
}
@Test
@@ -1559,12 +1560,12 @@
private void verifyCsDialed() {
processAllMessages();
- verify(mWwanSelectorCallback, times(1)).onDomainSelected(eq(DOMAIN_CS));
+ verify(mWwanSelectorCallback, times(1)).onDomainSelected(eq(DOMAIN_CS), eq(false));
}
private void verifyPsDialed() {
processAllMessages();
- verify(mWwanSelectorCallback, times(1)).onDomainSelected(eq(DOMAIN_PS));
+ verify(mWwanSelectorCallback, times(1)).onDomainSelected(eq(DOMAIN_PS), eq(true));
}
private void verifyScanPsPreferred() {
diff --git a/tests/src/com/android/services/telephony/domainselection/EmergencySmsDomainSelectorTest.java b/tests/src/com/android/services/telephony/domainselection/EmergencySmsDomainSelectorTest.java
index 8b63530..1d89071 100644
--- a/tests/src/com/android/services/telephony/domainselection/EmergencySmsDomainSelectorTest.java
+++ b/tests/src/com/android/services/telephony/domainselection/EmergencySmsDomainSelectorTest.java
@@ -210,7 +210,8 @@
processAllMessages();
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -413,7 +414,8 @@
// onDomainSelected will be invoked only once
// even though the domain selection was requested twice.
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -430,7 +432,8 @@
processAllMessages();
// Expected: CS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -446,7 +449,8 @@
processAllMessages();
// Expected: CS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -462,7 +466,8 @@
processAllMessages();
// Expected: CS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -478,7 +483,8 @@
processAllMessages();
// Expected: PS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
}
@Test
@@ -494,7 +500,8 @@
processAllMessages();
// Expected: CS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -510,7 +517,8 @@
processAllMessages();
// Expected: CS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -526,7 +534,8 @@
processAllMessages();
// Expected: PS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
}
@Test
@@ -542,7 +551,8 @@
processAllMessages();
// Expected: CS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -558,7 +568,8 @@
processAllMessages();
// Expected: CS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -574,7 +585,8 @@
processAllMessages();
// Expected: PS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
}
@Test
@@ -590,7 +602,8 @@
processAllMessages();
// Expected: CS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -606,7 +619,8 @@
processAllMessages();
// Expected: CS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -622,7 +636,7 @@
processAllMessages();
// Expected: WLAN
- verify(mTransportSelectorCallback).onWlanSelected();
+ verify(mTransportSelectorCallback).onWlanSelected(eq(false));
}
@Test
@@ -641,7 +655,8 @@
// if the emergency SMS messages over IMS is enabled in the carrier configuration and
// the PS network does not allow the emergency service, this MO SMS should be routed to
// CS domain.
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
}
@Test
@@ -657,7 +672,8 @@
processAllMessages();
// Expected: PS network
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
}
private void setUpCarrierConfig(boolean supported) {
diff --git a/tests/src/com/android/services/telephony/domainselection/NormalCallDomainSelectorTest.java b/tests/src/com/android/services/telephony/domainselection/NormalCallDomainSelectorTest.java
index 8780f1f..4dd1f3c 100644
--- a/tests/src/com/android/services/telephony/domainselection/NormalCallDomainSelectorTest.java
+++ b/tests/src/com/android/services/telephony/domainselection/NormalCallDomainSelectorTest.java
@@ -436,7 +436,7 @@
}
@Override
- public synchronized void onWlanSelected() {
+ public synchronized void onWlanSelected(boolean useEmergencyPdn) {
Log.d(TAG, "onWlanSelected");
mWlanSelected = true;
notifyAll();
@@ -504,7 +504,8 @@
}
- public synchronized void onDomainSelected(@NetworkRegistrationInfo.Domain int domain) {
+ public synchronized void onDomainSelected(@NetworkRegistrationInfo.Domain int domain,
+ boolean useEmergencyPdn) {
Log.i(TAG, "onDomainSelected - called");
mSelectedDomain = domain;
mDomainSelected = true;
diff --git a/tests/src/com/android/services/telephony/domainselection/SmsDomainSelectorTest.java b/tests/src/com/android/services/telephony/domainselection/SmsDomainSelectorTest.java
index 412d83d..785127c 100644
--- a/tests/src/com/android/services/telephony/domainselection/SmsDomainSelectorTest.java
+++ b/tests/src/com/android/services/telephony/domainselection/SmsDomainSelectorTest.java
@@ -142,7 +142,8 @@
processAllMessages();
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -184,7 +185,8 @@
// onDomainSelected will be invoked only once
// even though the domain selection was requested twice.
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -230,7 +232,8 @@
processAllMessages();
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
mDomainSelector.reselectDomain(mSelectionAttributes);
@@ -239,7 +242,7 @@
processAllMessages();
- verify(mTransportSelectorCallback).onWlanSelected();
+ verify(mTransportSelectorCallback).onWlanSelected(eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -256,9 +259,10 @@
mDomainSelector.reselectDomain(mSelectionAttributes);
processAllMessages();
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
- verify(mTransportSelectorCallback, never()).onWlanSelected();
+ verify(mTransportSelectorCallback, never()).onWlanSelected(eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -275,7 +279,8 @@
processAllMessages();
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -292,7 +297,8 @@
processAllMessages();
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -309,7 +315,8 @@
processAllMessages();
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -326,7 +333,8 @@
processAllMessages();
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -343,7 +351,8 @@
processAllMessages();
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_CS),
+ eq(false));
assertFalse(mDomainSelector.isDomainSelectionRequested());
}
@@ -358,9 +367,10 @@
processAllMessages();
if (accessNetworkType == AccessNetworkType.IWLAN) {
- verify(mTransportSelectorCallback).onWlanSelected();
+ verify(mTransportSelectorCallback).onWlanSelected(eq(false));
} else {
- verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS));
+ verify(mWwanSelectorCallback).onDomainSelected(eq(NetworkRegistrationInfo.DOMAIN_PS),
+ eq(false));
}
assertFalse(mDomainSelector.isDomainSelectionRequested());
}