diff options
| author | 2024-10-07 19:52:19 +0900 | |
|---|---|---|
| committer | 2024-10-23 18:51:05 +0000 | |
| commit | a7846d1f199c71810df3f8c419fa643ffee8c92b (patch) | |
| tree | a42994aadaf4b5a5838a6438bbac94bd9f7843a8 | |
| parent | c61bc369738bfbedc83cff68324b0dead00167bc (diff) | |
Google contribution item #12 - subitem #2, base
[VZW-Skylo] apply Idle Mode Scanning for Terrestrial Network
Telephony Framework - base
- Add, Modify APIs, Callback
Bug: 374301122
Flag: EXEMPT bugfix
Change-Id: I73bcd046ba990c938f26b6c9e13d6c659cafac68
Signed-off-by: jaeshin <js074.lee@samsung.corp-partner.google.com>
6 files changed, 38 insertions, 6 deletions
diff --git a/telephony/java/android/telephony/satellite/ISatelliteModemStateCallback.aidl b/telephony/java/android/telephony/satellite/ISatelliteModemStateCallback.aidl index 50e3a0e4a79d..cfa06ee1bd51 100644 --- a/telephony/java/android/telephony/satellite/ISatelliteModemStateCallback.aidl +++ b/telephony/java/android/telephony/satellite/ISatelliteModemStateCallback.aidl @@ -42,4 +42,11 @@ oneway interface ISatelliteModemStateCallback { * For LTE (EMM), cause codes are TS 24.301 Sec 9.9.3.9 */ void onRegistrationFailure(in int causeCode); + + /** + * Indicates that the background search for terrestrial network is finished with result + * + * @param isAvailable True means there's terrestrial network and false means there's not. + */ + void onTerrestrialNetworkAvailableChanged(in boolean isAvailable); } diff --git a/telephony/java/android/telephony/satellite/SatelliteManager.java b/telephony/java/android/telephony/satellite/SatelliteManager.java index 44de65a009ff..5068c52d9283 100644 --- a/telephony/java/android/telephony/satellite/SatelliteManager.java +++ b/telephony/java/android/telephony/satellite/SatelliteManager.java @@ -1601,6 +1601,12 @@ public final class SatelliteManager { executor.execute(() -> Binder.withCleanCallingIdentity(() -> callback.onRegistrationFailure(causeCode))); } + + @Override + public void onTerrestrialNetworkAvailableChanged(boolean isAvailable) { + executor.execute(() -> Binder.withCleanCallingIdentity(() -> + callback.onTerrestrialNetworkAvailableChanged(isAvailable))); + } }; sSatelliteModemStateCallbackMap.put(callback, internalCallback); return telephony.registerForSatelliteModemStateChanged(internalCallback); diff --git a/telephony/java/android/telephony/satellite/SatelliteModemStateCallback.java b/telephony/java/android/telephony/satellite/SatelliteModemStateCallback.java index 13af4694389b..040fbbbb2689 100644 --- a/telephony/java/android/telephony/satellite/SatelliteModemStateCallback.java +++ b/telephony/java/android/telephony/satellite/SatelliteModemStateCallback.java @@ -54,4 +54,12 @@ public interface SatelliteModemStateCallback { * @hide */ default void onRegistrationFailure(int causeCode) {}; + + /** + * Indicates that the background search for terrestrial network is finished with result + * + * @param isAvailable True means there's terrestrial network and false means there's not. + * @hide + */ + default void onTerrestrialNetworkAvailableChanged(boolean isAvailable) {}; } diff --git a/telephony/java/android/telephony/satellite/stub/ISatellite.aidl b/telephony/java/android/telephony/satellite/stub/ISatellite.aidl index 8b51321bc7c4..ac0a5fc320c6 100644 --- a/telephony/java/android/telephony/satellite/stub/ISatellite.aidl +++ b/telephony/java/android/telephony/satellite/stub/ISatellite.aidl @@ -70,12 +70,16 @@ oneway interface ISatellite { in IIntegerConsumer resultCallback); /** - * Allow cellular modem scanning while satellite mode is on. + * Framework will call this API to determine if there are any TN networks available. + * This API will be called if framework identifies that user is inactive i.e. no + * data transfer or no pointing to satellite. + * Modem can send the callback with available for either in service or limited service. + * @param enabled {@code true} to enable cellular modem while satellite mode is on * and {@code false} to disable * @param errorCallback The callback to receive the error code result of the operation. */ - void enableCellularModemWhileSatelliteModeIsOn(in boolean enabled, + void enableTerrestrialNetworkScanWhileSatelliteModeIsOn(in boolean enabled, in IIntegerConsumer errorCallback); /** diff --git a/telephony/java/android/telephony/satellite/stub/ISatelliteListener.aidl b/telephony/java/android/telephony/satellite/stub/ISatelliteListener.aidl index 3f2fce2b9f1d..a2ebd3a11750 100644 --- a/telephony/java/android/telephony/satellite/stub/ISatelliteListener.aidl +++ b/telephony/java/android/telephony/satellite/stub/ISatelliteListener.aidl @@ -82,4 +82,11 @@ oneway interface ISatelliteListener { * For LTE (EMM), cause codes are TS 24.301 Sec 9.9.3.9 */ void onRegistrationFailure(in int causeCode); + + /** + * Modem can send the callback with available for either in service or limited service. + * + * @param isAvailable True means there's terrestrial network and false means there's not. + */ + void onTerrestrialNetworkAvailableChanged(in boolean isAvailable); } diff --git a/telephony/java/android/telephony/satellite/stub/SatelliteImplBase.java b/telephony/java/android/telephony/satellite/stub/SatelliteImplBase.java index 4f472106a329..eaeed2a0a9fa 100644 --- a/telephony/java/android/telephony/satellite/stub/SatelliteImplBase.java +++ b/telephony/java/android/telephony/satellite/stub/SatelliteImplBase.java @@ -80,12 +80,12 @@ public class SatelliteImplBase extends SatelliteService { } @Override - public void enableCellularModemWhileSatelliteModeIsOn(boolean enabled, + public void enableTerrestrialNetworkScanWhileSatelliteModeIsOn(boolean enabled, IIntegerConsumer resultCallback) throws RemoteException { executeMethodAsync( () -> SatelliteImplBase.this - .enableCellularModemWhileSatelliteModeIsOn(enabled, resultCallback), - "enableCellularModemWhileSatelliteModeIsOn"); + .enableTerrestrialNetworkScanWhileSatelliteModeIsOn( + enabled, resultCallback), "enableTerrestrialNetworkScanWhileSatelliteModeIsOn"); } @Override @@ -314,7 +314,7 @@ public class SatelliteImplBase extends SatelliteService { * and {@code false} to disable * @param resultCallback The callback to receive the error code result of the operation. */ - public void enableCellularModemWhileSatelliteModeIsOn(boolean enabled, + public void enableTerrestrialNetworkScanWhileSatelliteModeIsOn(boolean enabled, @NonNull IIntegerConsumer resultCallback) { // stub implementation } |