diff options
| -rw-r--r-- | telephony/java/android/telephony/satellite/SatelliteManager.java | 25 | ||||
| -rw-r--r-- | telephony/java/com/android/internal/telephony/ITelephony.aidl | 19 |
2 files changed, 44 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/satellite/SatelliteManager.java b/telephony/java/android/telephony/satellite/SatelliteManager.java index c5830b8249c8..431e9e628962 100644 --- a/telephony/java/android/telephony/satellite/SatelliteManager.java +++ b/telephony/java/android/telephony/satellite/SatelliteManager.java @@ -1503,6 +1503,31 @@ public class SatelliteManager { } } + /** + * Inform whether the device is aligned with the satellite for demo mode. + * + * @param isAligned {@true} Device is aligned with the satellite for demo mode + * {@false} Device is not aligned with the satellite for demo mode + * + * @throws SecurityException if the caller doesn't have required permission. + * @throws IllegalStateException if the Telephony process is not currently available. + */ + @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + + public void onDeviceAlignedWithSatellite(boolean isAligned) { + try { + ITelephony telephony = getITelephony(); + if (telephony != null) { + telephony.onDeviceAlignedWithSatellite(mSubId, isAligned); + } else { + throw new IllegalStateException("telephony service is null."); + } + } catch (RemoteException ex) { + loge("informDeviceAlignedToSatellite() RemoteException:" + ex); + ex.rethrowFromSystemServer(); + } + } + private static ITelephony getITelephony() { ITelephony binder = ITelephony.Stub.asInterface(TelephonyFrameworkInitializer .getTelephonyServiceManager() diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 18e4c37f3e23..21aad73ce005 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -2982,6 +2982,16 @@ interface ITelephony { void requestTimeForNextSatelliteVisibility(int subId, in ResultReceiver receiver); /** + * Inform whether the device is aligned with the satellite within in margin for demo mode. + * + * @param isAligned {@true} Device is aligned with the satellite for demo mode + * {@false} Device is not aligned with the satellite for demo mode + */ + @JavaPassthrough(annotation="@android.annotation.RequiresPermission(" + + "android.Manifest.permission.SATELLITE_COMMUNICATION)") + void onDeviceAlignedWithSatellite(int subId, in boolean isAligned); + + /** * This API can be used by only CTS to update satellite vendor service package name. * * @param servicePackageName The package name of the satellite vendor service. @@ -3018,4 +3028,13 @@ interface ITelephony { * {@code false} otherwise. */ boolean setSatellitePointingUiClassName(in String packageName, in String className); + + /** + * This API can be used by only CTS to update the timeout duration in milliseconds whether + * the device is aligned with the satellite for demo mode + * + * @param timeoutMillis The timeout duration in millisecond. + * @return {@code true} if the timeout duration is set successfully, {@code false} otherwise. + */ + boolean setSatelliteDeviceAlignedTimeoutDuration(long timeoutMillis); } |