Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c990750c authored by Aishwarya Mallampati's avatar Aishwarya Mallampati Committed by Android (Google) Code Review
Browse files

Merge "Add onCarrierRoamingNtnSignalStrengthChanged callback." into main

parents 14e9cf83 3f6296a7
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.telephony.TelephonyManager.EmergencyCallbackModeType;
import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;
import android.telephony.ims.MediaQualityStatus;
import android.telephony.satellite.NtnSignalStrength;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.IPhoneStateListener;
@@ -1706,6 +1707,11 @@ public class PhoneStateListener {
                @NetworkRegistrationInfo.ServiceType int[] availableServices) {
            // not supported on the deprecated interface - Use TelephonyCallback instead
        }

        public final void onCarrierRoamingNtnSignalStrengthChanged(
                @NonNull NtnSignalStrength ntnSignalStrength) {
            // not supported on the deprecated interface - Use TelephonyCallback instead
        }
    }

    private void log(String s) {
+33 −1
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsReasonInfo;
import android.telephony.ims.MediaQualityStatus;
import android.telephony.ims.MediaThreshold;
import android.telephony.satellite.NtnSignalStrength;
import android.util.Log;

import com.android.internal.annotations.VisibleForTesting;
@@ -694,6 +695,15 @@ public class TelephonyCallback {
     */
    public static final int EVENT_CARRIER_ROAMING_NTN_AVAILABLE_SERVICES_CHANGED = 44;

    /**
     * Event for listening to carrier roaming non-terrestrial network signal strength changes.
     *
     * @see CarrierRoamingNtnModeListener
     *
     * @hide
     */
    public static final int EVENT_CARRIER_ROAMING_NTN_SIGNAL_STRENGTH_CHANGED = 45;

    /**
     * @hide
     */
@@ -741,7 +751,8 @@ public class TelephonyCallback {
            EVENT_SIMULTANEOUS_CELLULAR_CALLING_SUBSCRIPTIONS_CHANGED,
            EVENT_CARRIER_ROAMING_NTN_MODE_CHANGED,
            EVENT_CARRIER_ROAMING_NTN_ELIGIBLE_STATE_CHANGED,
            EVENT_CARRIER_ROAMING_NTN_AVAILABLE_SERVICES_CHANGED
            EVENT_CARRIER_ROAMING_NTN_AVAILABLE_SERVICES_CHANGED,
            EVENT_CARRIER_ROAMING_NTN_SIGNAL_STRENGTH_CHANGED
    })
    @Retention(RetentionPolicy.SOURCE)
    public @interface TelephonyEvent {
@@ -1805,6 +1816,14 @@ public class TelephonyCallback {
         */
        default void onCarrierRoamingNtnAvailableServicesChanged(
                @NetworkRegistrationInfo.ServiceType List<Integer> availableServices) {}

        /**
         * Callback invoked when carrier roaming non-terrestrial network signal strength changes.
         *
         * @param ntnSignalStrength non-terrestrial network signal strength.
         */
        default void onCarrierRoamingNtnSignalStrengthChanged(
                @NonNull NtnSignalStrength ntnSignalStrength) {}
    }

    /**
@@ -2270,5 +2289,18 @@ public class TelephonyCallback {
            Binder.withCleanCallingIdentity(() -> mExecutor.execute(
                    () -> listener.onCarrierRoamingNtnAvailableServicesChanged(ServiceList)));
        }

        public void onCarrierRoamingNtnSignalStrengthChanged(
                @NonNull NtnSignalStrength ntnSignalStrength) {
            if (!Flags.carrierRoamingNbIotNtn()) return;

            CarrierRoamingNtnModeListener listener =
                    (CarrierRoamingNtnModeListener) mTelephonyCallbackWeakRef.get();
            if (listener == null) return;

            Binder.withCleanCallingIdentity(() -> mExecutor.execute(
                    () -> listener.onCarrierRoamingNtnSignalStrengthChanged(ntnSignalStrength)));

        }
    }
}
+19 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import android.telephony.emergency.EmergencyNumber;
import android.telephony.ims.ImsCallSession;
import android.telephony.ims.ImsReasonInfo;
import android.telephony.ims.MediaQualityStatus;
import android.telephony.satellite.NtnSignalStrength;
import android.telephony.satellite.SatelliteStateChangeListener;
import android.util.ArrayMap;
import android.util.ArraySet;
@@ -1136,6 +1137,23 @@ public class TelephonyRegistryManager {
        }
    }

    /**
     * Notify external listeners that carrier roaming non-terrestrial network
     * signal strength changed.
     * @param subId subscription ID.
     * @param ntnSignalStrength non-terrestrial network signal strength.
     * @hide
     */
    public final void notifyCarrierRoamingNtnSignalStrengthChanged(int subId,
            @NonNull NtnSignalStrength ntnSignalStrength) {
        try {
            sRegistry.notifyCarrierRoamingNtnSignalStrengthChanged(subId, ntnSignalStrength);
        } catch (RemoteException ex) {
            // system server crash
            throw ex.rethrowFromSystemServer();
        }
    }

    /**
     * Processes potential event changes from the provided {@link TelephonyCallback}.
     *
@@ -1293,6 +1311,7 @@ public class TelephonyRegistryManager {
            eventList.add(TelephonyCallback.EVENT_CARRIER_ROAMING_NTN_MODE_CHANGED);
            eventList.add(TelephonyCallback.EVENT_CARRIER_ROAMING_NTN_ELIGIBLE_STATE_CHANGED);
            eventList.add(TelephonyCallback.EVENT_CARRIER_ROAMING_NTN_AVAILABLE_SERVICES_CHANGED);
            eventList.add(TelephonyCallback.EVENT_CARRIER_ROAMING_NTN_SIGNAL_STRENGTH_CHANGED);
        }
        return eventList;
    }
+2 −0
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.telephony.PhoneCapability;
import android.telephony.PhysicalChannelConfig;
import android.telephony.PreciseCallState;
import android.telephony.PreciseDataConnectionState;
import android.telephony.satellite.NtnSignalStrength;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.emergency.EmergencyNumber;
@@ -85,4 +86,5 @@ oneway interface IPhoneStateListener {
    void onCarrierRoamingNtnModeChanged(in boolean active);
    void onCarrierRoamingNtnEligibleStateChanged(in boolean eligible);
    void onCarrierRoamingNtnAvailableServicesChanged(in int[] availableServices);
    void onCarrierRoamingNtnSignalStrengthChanged(in NtnSignalStrength ntnSignalStrength);
}
+3 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.telephony.ims.ImsReasonInfo;
import android.telephony.PhoneCapability;
import android.telephony.PhysicalChannelConfig;
import android.telephony.PreciseDataConnectionState;
import android.telephony.satellite.NtnSignalStrength;
import android.telephony.ServiceState;
import android.telephony.SignalStrength;
import android.telephony.emergency.EmergencyNumber;
@@ -125,8 +126,10 @@ interface ITelephonyRegistry {
    void notifyCarrierRoamingNtnModeChanged(int subId, in boolean active);
    void notifyCarrierRoamingNtnEligibleStateChanged(int subId, in boolean eligible);
    void notifyCarrierRoamingNtnAvailableServicesChanged(int subId, in int[] availableServices);
    void notifyCarrierRoamingNtnSignalStrengthChanged(int subId, in NtnSignalStrength ntnSignalStrength);

    void addSatelliteStateChangeListener(ISatelliteStateChangeListener listener, String pkg, String featureId);
    void removeSatelliteStateChangeListener(ISatelliteStateChangeListener listener, String pkg);
    void notifySatelliteStateChanged(boolean isEnabled);

}
Loading