summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author jaeshin <js074.lee@samsung.corp-partner.google.com> 2024-10-07 19:52:19 +0900
committer arunvoddu <arunvoddu@google.com> 2024-10-23 18:51:05 +0000
commita7846d1f199c71810df3f8c419fa643ffee8c92b (patch)
treea42994aadaf4b5a5838a6438bbac94bd9f7843a8
parentc61bc369738bfbedc83cff68324b0dead00167bc (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>
-rw-r--r--telephony/java/android/telephony/satellite/ISatelliteModemStateCallback.aidl7
-rw-r--r--telephony/java/android/telephony/satellite/SatelliteManager.java6
-rw-r--r--telephony/java/android/telephony/satellite/SatelliteModemStateCallback.java8
-rw-r--r--telephony/java/android/telephony/satellite/stub/ISatellite.aidl8
-rw-r--r--telephony/java/android/telephony/satellite/stub/ISatelliteListener.aidl7
-rw-r--r--telephony/java/android/telephony/satellite/stub/SatelliteImplBase.java8
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
}