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

Commit 9b0d4419 authored by Thomas Nguyen's avatar Thomas Nguyen
Browse files

Add CONNECTED and NOT_CONNECTED stellite modem states for NB IOT

Bug: 297943030
Test: SMS, MMS, call with live network.
atest android.telephony.satellite.cts.SatelliteManagerTestOnMockService
atest com.android.internal.telephony.satellite.SatelliteSessionControllerTest
atest com.android.internal.telephony.satellite.SatelliteControllerTest

Change-Id: I72a73a8cffd4d2e123d9c2c15941b1fbc526b9cc
parent 6f37abf3
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -16707,10 +16707,12 @@ package android.telephony.satellite {
    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED = 3; // 0x3
    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_SUCCESS = 2; // 0x2
    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN = -1; // 0xffffffff
    field @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) public static final int SATELLITE_MODEM_STATE_CONNECTED = 7; // 0x7
    field public static final int SATELLITE_MODEM_STATE_DATAGRAM_RETRYING = 3; // 0x3
    field public static final int SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING = 2; // 0x2
    field public static final int SATELLITE_MODEM_STATE_IDLE = 0; // 0x0
    field public static final int SATELLITE_MODEM_STATE_LISTENING = 1; // 0x1
    field @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG) public static final int SATELLITE_MODEM_STATE_NOT_CONNECTED = 6; // 0x6
    field public static final int SATELLITE_MODEM_STATE_OFF = 4; // 0x4
    field public static final int SATELLITE_MODEM_STATE_UNAVAILABLE = 5; // 0x5
    field public static final int SATELLITE_MODEM_STATE_UNKNOWN = -1; // 0xffffffff
+21 −0
Original line number Diff line number Diff line
@@ -151,6 +151,27 @@
    <integer name="config_timeout_to_receive_delivered_ack_millis">300000</integer>
    <java-symbol type="integer" name="config_timeout_to_receive_delivered_ack_millis" />

    <!-- The time duration in millis that the satellite will stay at listening state to wait for the
         next incoming page before disabling listening and moving to IDLE state. This timeout
         duration is used when transitioning from sending state to listening state.
         -->
    <integer name="config_satellite_stay_at_listening_from_sending_millis">180000</integer>
    <java-symbol type="integer" name="config_satellite_stay_at_listening_from_sending_millis" />

    <!-- The time duration in millis that the satellite will stay at listening state to wait for the
         next incoming page before disabling listening and moving to IDLE state. This timeout
         duration is used when transitioning from receiving state to listening state.
         -->
    <integer name="config_satellite_stay_at_listening_from_receiving_millis">30000</integer>
    <java-symbol type="integer" name="config_satellite_stay_at_listening_from_receiving_millis" />

    <!-- The time duration in millis after which cellular scanning will be enabled and satellite
         will move to IDLE state. This timeout duration is used for satellite with NB IOT radio
         technologies.
         -->
    <integer name="config_satellite_nb_iot_inactivity_timeout_millis">180000</integer>
    <java-symbol type="integer" name="config_satellite_nb_iot_inactivity_timeout_millis" />

    <!-- Telephony config for services supported by satellite providers. The format of each config
         string in the array is as follows: "PLMN_1:service_1,service_2,..."
         where PLMN is the satellite PLMN of a provider and service is an integer with the
+14 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.telephony.satellite;

import android.Manifest;
import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -39,6 +40,7 @@ import android.telephony.TelephonyFrameworkInitializer;
import com.android.internal.telephony.IIntegerConsumer;
import com.android.internal.telephony.ITelephony;
import com.android.internal.telephony.IVoidConsumer;
import com.android.internal.telephony.flags.Flags;
import com.android.telephony.Rlog;

import java.lang.annotation.Retention;
@@ -768,6 +770,16 @@ public final class SatelliteManager {
     * Satellite modem is unavailable.
     */
    public static final int SATELLITE_MODEM_STATE_UNAVAILABLE = 5;
    /**
     * The satellite modem is powered on but the device is not registered to a satellite cell.
     */
    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
    public static final int SATELLITE_MODEM_STATE_NOT_CONNECTED = 6;
    /**
     * The satellite modem is powered on and the device is registered to a satellite cell.
     */
    @FlaggedApi(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
    public static final int SATELLITE_MODEM_STATE_CONNECTED = 7;
    /**
     * Satellite modem state is unknown. This generic modem state should be used only when the
     * modem state cannot be mapped to other specific modem states.
@@ -782,6 +794,8 @@ public final class SatelliteManager {
            SATELLITE_MODEM_STATE_DATAGRAM_RETRYING,
            SATELLITE_MODEM_STATE_OFF,
            SATELLITE_MODEM_STATE_UNAVAILABLE,
            SATELLITE_MODEM_STATE_NOT_CONNECTED,
            SATELLITE_MODEM_STATE_CONNECTED,
            SATELLITE_MODEM_STATE_UNKNOWN
    })
    @Retention(RetentionPolicy.SOURCE)
+8 −0
Original line number Diff line number Diff line
@@ -45,6 +45,14 @@ enum SatelliteModemState {
     * Satellite modem is unavailable.
     */
    SATELLITE_MODEM_STATE_UNAVAILABLE = 5,
    /**
     * The satellite modem is powered on but the device is not registered to a satellite cell.
     */
    SATELLITE_MODEM_STATE_NOT_CONNECTED = 6,
    /**
     * The satellite modem is powered on and the device is registered to a satellite cell.
     */
    SATELLITE_MODEM_STATE_CONNECTED = 7,
    /**
     * Satellite modem state is unknown. This generic modem state should be used only when the
     * modem state cannot be mapped to other specific modem states.