From 65d61c508af4878134e1abdb03a531a4f1b1686f Mon Sep 17 00:00:00 2001 From: Hunsuk Choi Date: Thu, 23 Feb 2023 07:56:27 +0000 Subject: [PATCH] Add useEmergencyPdn to onWlanSelected and onDomainSelected If IMS PDN is used for emergency services, don't try to change the preferred transport type of ePDN. Bug: 270333880 Test: atest EmergencyCallDomainSelectorTest Change-Id: Ia91839b037295df35c8adc553a060b080bff87c1 --- .../java/android/telephony/DomainSelectionService.java | 9 +++++---- .../android/telephony/TransportSelectorCallback.java | 4 +++- .../java/android/telephony/WwanSelectorCallback.java | 3 ++- .../internal/telephony/ITransportSelectorCallback.aidl | 2 +- .../internal/telephony/IWwanSelectorCallback.aidl | 2 +- 5 files changed, 12 insertions(+), 8 deletions(-) diff --git a/telephony/java/android/telephony/DomainSelectionService.java b/telephony/java/android/telephony/DomainSelectionService.java index c352f2bc3f833..abcce5f61aee7 100644 --- a/telephony/java/android/telephony/DomainSelectionService.java +++ b/telephony/java/android/telephony/DomainSelectionService.java @@ -537,9 +537,9 @@ public class DomainSelectionService extends Service { } @Override - public void onWlanSelected() { + public void onWlanSelected(boolean useEmergencyPdn) { try { - mCallback.onWlanSelected(); + mCallback.onWlanSelected(useEmergencyPdn); } catch (Exception e) { Rlog.e(TAG, "onWlanSelected e=" + e); } @@ -702,9 +702,10 @@ public class DomainSelectionService extends Service { } @Override - public void onDomainSelected(@NetworkRegistrationInfo.Domain int domain) { + public void onDomainSelected(@NetworkRegistrationInfo.Domain int domain, + boolean useEmergencyPdn) { try { - mCallback.onDomainSelected(domain); + mCallback.onDomainSelected(domain, useEmergencyPdn); } catch (Exception e) { Rlog.e(TAG, "onDomainSelected e=" + e); } diff --git a/telephony/java/android/telephony/TransportSelectorCallback.java b/telephony/java/android/telephony/TransportSelectorCallback.java index d39679072d376..04752e4184665 100644 --- a/telephony/java/android/telephony/TransportSelectorCallback.java +++ b/telephony/java/android/telephony/TransportSelectorCallback.java @@ -35,8 +35,10 @@ public interface TransportSelectorCallback { /** * Notify that WLAN transport has been selected. + * + * @param useEmergencyPdn Indicates whether Wi-Fi emergency services use emergency PDN or not. */ - void onWlanSelected(); + void onWlanSelected(boolean useEmergencyPdn); /** * Notify that WWAN transport has been selected. diff --git a/telephony/java/android/telephony/WwanSelectorCallback.java b/telephony/java/android/telephony/WwanSelectorCallback.java index b3682caa4eb3e..f9c2620cfaf86 100644 --- a/telephony/java/android/telephony/WwanSelectorCallback.java +++ b/telephony/java/android/telephony/WwanSelectorCallback.java @@ -46,6 +46,7 @@ public interface WwanSelectorCallback { * this interface can be discarded. * * @param domain The selected domain. + * @param useEmergencyPdn Indicates whether emergency services use emergency PDN or not. */ - void onDomainSelected(@NetworkRegistrationInfo.Domain int domain); + void onDomainSelected(@NetworkRegistrationInfo.Domain int domain, boolean useEmergencyPdn); } diff --git a/telephony/java/com/android/internal/telephony/ITransportSelectorCallback.aidl b/telephony/java/com/android/internal/telephony/ITransportSelectorCallback.aidl index aca83f4edbd7a..6777256d171ea 100644 --- a/telephony/java/com/android/internal/telephony/ITransportSelectorCallback.aidl +++ b/telephony/java/com/android/internal/telephony/ITransportSelectorCallback.aidl @@ -22,7 +22,7 @@ import com.android.internal.telephony.IWwanSelectorCallback; interface ITransportSelectorCallback { oneway void onCreated(in IDomainSelector selector); - oneway void onWlanSelected(); + oneway void onWlanSelected(boolean useEmergencyPdn); IWwanSelectorCallback onWwanSelected(); oneway void onWwanSelectedAsync(in ITransportSelectorResultCallback cb); oneway void onSelectionTerminated(int cause); diff --git a/telephony/java/com/android/internal/telephony/IWwanSelectorCallback.aidl b/telephony/java/com/android/internal/telephony/IWwanSelectorCallback.aidl index 339fbee918128..94e7c871066ec 100644 --- a/telephony/java/com/android/internal/telephony/IWwanSelectorCallback.aidl +++ b/telephony/java/com/android/internal/telephony/IWwanSelectorCallback.aidl @@ -21,6 +21,6 @@ import com.android.internal.telephony.IWwanSelectorResultCallback; oneway interface IWwanSelectorCallback { void onRequestEmergencyNetworkScan(in int[] preferredNetworks, int scanType, in IWwanSelectorResultCallback cb); - void onDomainSelected(int domain); + void onDomainSelected(int domain, boolean useEmergencyPdn); void onCancel(); }