Snap for 12149263 from 60b073420c5f352e4845ce1c5ab38c7b001212ca to mainline-rkpd-release

Change-Id: I144ae12486161c885596bece9fa0645104c998e1
diff --git a/satellite_client/src/android/telephony/satellite/wrapper/CarrierRoamingNtnModeListenerWrapper.java b/satellite_client/src/android/telephony/satellite/wrapper/CarrierRoamingNtnModeListenerWrapper.java
index 4a2436e..1c0a840 100644
--- a/satellite_client/src/android/telephony/satellite/wrapper/CarrierRoamingNtnModeListenerWrapper.java
+++ b/satellite_client/src/android/telephony/satellite/wrapper/CarrierRoamingNtnModeListenerWrapper.java
@@ -16,6 +16,9 @@
 
 package android.telephony.satellite.wrapper;
 
+import android.telephony.CarrierConfigManager;
+import android.telephony.ServiceState;
+
 /** Interface for carrier roaming non-terrestrial network listener. */
 public interface CarrierRoamingNtnModeListenerWrapper {
     /**
@@ -28,4 +31,22 @@
      *                           {code false} otherwise.
      */
     void onCarrierRoamingNtnModeChanged(boolean active);
+
+    /**
+     * Callback invoked when eligibility to connect to carrier roaming non-terrestrial network
+     * changes.
+     *
+     * @param eligible {@code true} when the device is eligible for satellite
+     * communication if all the following conditions are met:
+     * <ul>
+     * <li>Any subscription on the device supports P2P satellite messaging which is defined by
+     * {@link CarrierConfigManager#KEY_SATELLITE_ATTACH_SUPPORTED_BOOL} </li>
+     * <li>{@link CarrierConfigManager#KEY_CARRIER_ROAMING_NTN_CONNECT_TYPE_INT} set to
+     * {@link CarrierConfigManager#CARRIER_ROAMING_NTN_CONNECT_MANUAL} </li>
+     * <li>The device is in {@link ServiceState#STATE_OUT_OF_SERVICE}, not connected to Wi-Fi,
+     * and the hysteresis timer defined by {@link CarrierConfigManager
+     * #KEY_CARRIER_SUPPORTED_SATELLITE_NOTIFICATION_HYSTERESIS_SEC_INT} is expired. </li>
+     * </ul>
+     */
+    default void onCarrierRoamingNtnEligibleStateChanged(boolean eligible) {}
 }
diff --git a/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java b/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
index 200103a..2227a75 100644
--- a/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
+++ b/satellite_client/src/android/telephony/satellite/wrapper/SatelliteManagerWrapper.java
@@ -845,6 +845,12 @@
       logd("onCarrierRoamingNtnModeChanged: active=" + active);
       mListenerWrapper.onCarrierRoamingNtnModeChanged(active);
     }
+
+    @Override
+    public void onCarrierRoamingNtnEligibleStateChanged(boolean eligible) {
+      logd("onCarrierRoamingNtnEligibleStateChanged: eligible=" + eligible);
+      mListenerWrapper.onCarrierRoamingNtnEligibleStateChanged(eligible);
+    }
   }
 
   /** Register for carrier roaming non-terrestrial network mode changes. */