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

Commit 3b6d7a2a authored by Aishwarya Mallamapti's avatar Aishwarya Mallamapti Committed by Aishwarya Mallampati
Browse files

Convert SatelliteManager APIs to SystemApis.

Bug: 285607031
API-Coverage-Bug: 286255423
Test: atest android.telephony.satellite.cts,
      Flashed build on raven-userdebug and performed basic functionality
      tests.
Change-Id: Ic9d48c1228bb6edfd410cd96ecabf0baa6c3f5ca
parent 81dba11a
Loading
Loading
Loading
Loading
+148 −0
Original line number Original line Diff line number Diff line
@@ -17178,6 +17178,154 @@ package android.telephony.mbms.vendor {
}
}
package android.telephony.satellite {
  public final class AntennaDirection implements android.os.Parcelable {
    method public int describeContents();
    method public float getX();
    method public float getY();
    method public float getZ();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaDirection> CREATOR;
  }
  public final class AntennaPosition implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.telephony.satellite.AntennaDirection getAntennaDirection();
    method public int getSuggestedHoldPosition();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaPosition> CREATOR;
  }
  public final class PointingInfo implements android.os.Parcelable {
    method public int describeContents();
    method public float getSatelliteAzimuthDegrees();
    method public float getSatelliteElevationDegrees();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.PointingInfo> CREATOR;
  }
  public final class SatelliteCapabilities implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public java.util.Map<java.lang.Integer,android.telephony.satellite.AntennaPosition> getAntennaPositionMap();
    method public int getMaxBytesPerOutgoingDatagram();
    method @NonNull public java.util.Set<java.lang.Integer> getSupportedRadioTechnologies();
    method public boolean isPointingRequired();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteCapabilities> CREATOR;
  }
  public final class SatelliteDatagram implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public byte[] getSatelliteDatagram();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteDatagram> CREATOR;
  }
  public interface SatelliteDatagramCallback {
    method public void onSatelliteDatagramReceived(long, @NonNull android.telephony.satellite.SatelliteDatagram, int, @NonNull java.util.function.Consumer<java.lang.Void>);
  }
  public class SatelliteManager {
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void deprovisionSatelliteService(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void onDeviceAlignedWithSatellite(boolean);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void pollPendingSatelliteDatagrams(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void provisionSatelliteService(@NonNull String, @NonNull byte[], @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForSatelliteDatagram(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteDatagramCallback);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForSatelliteModemStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteStateCallback);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForSatelliteProvisionStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsDemoModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsSatelliteCommunicationAllowedForCurrentLocation(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsSatelliteEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsSatelliteProvisioned(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
    method public void requestIsSatelliteSupported(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestSatelliteCapabilities(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.SatelliteCapabilities,android.telephony.satellite.SatelliteManager.SatelliteException>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestSatelliteEnabled(boolean, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestTimeForNextSatelliteVisibility(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.time.Duration,android.telephony.satellite.SatelliteManager.SatelliteException>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void sendSatelliteDatagram(int, @NonNull android.telephony.satellite.SatelliteDatagram, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void startSatelliteTransmissionUpdates(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void stopSatelliteTransmissionUpdates(@NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForSatelliteDatagram(@NonNull android.telephony.satellite.SatelliteDatagramCallback);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForSatelliteModemStateChanged(@NonNull android.telephony.satellite.SatelliteStateCallback);
    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForSatelliteProvisionStateChanged(@NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
    field public static final int DATAGRAM_TYPE_LOCATION_SHARING = 2; // 0x2
    field public static final int DATAGRAM_TYPE_SOS_MESSAGE = 1; // 0x1
    field public static final int DATAGRAM_TYPE_UNKNOWN = 0; // 0x0
    field public static final int DEVICE_HOLD_POSITION_LANDSCAPE_LEFT = 2; // 0x2
    field public static final int DEVICE_HOLD_POSITION_LANDSCAPE_RIGHT = 3; // 0x3
    field public static final int DEVICE_HOLD_POSITION_PORTRAIT = 1; // 0x1
    field public static final int DEVICE_HOLD_POSITION_UNKNOWN = 0; // 0x0
    field public static final int DISPLAY_MODE_CLOSED = 3; // 0x3
    field public static final int DISPLAY_MODE_FIXED = 1; // 0x1
    field public static final int DISPLAY_MODE_OPENED = 2; // 0x2
    field public static final int DISPLAY_MODE_UNKNOWN = 0; // 0x0
    field public static final int NT_RADIO_TECHNOLOGY_EMTC_NTN = 3; // 0x3
    field public static final int NT_RADIO_TECHNOLOGY_NB_IOT_NTN = 1; // 0x1
    field public static final int NT_RADIO_TECHNOLOGY_NR_NTN = 2; // 0x2
    field public static final int NT_RADIO_TECHNOLOGY_PROPRIETARY = 4; // 0x4
    field public static final int NT_RADIO_TECHNOLOGY_UNKNOWN = 0; // 0x0
    field public static final int SATELLITE_ACCESS_BARRED = 16; // 0x10
    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE = 0; // 0x0
    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED = 7; // 0x7
    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_NONE = 6; // 0x6
    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS = 5; // 0x5
    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING = 4; // 0x4
    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING = 1; // 0x1
    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 public static final int SATELLITE_ERROR = 1; // 0x1
    field public static final int SATELLITE_ERROR_NONE = 0; // 0x0
    field public static final int SATELLITE_INVALID_ARGUMENTS = 8; // 0x8
    field public static final int SATELLITE_INVALID_MODEM_STATE = 7; // 0x7
    field public static final int SATELLITE_INVALID_TELEPHONY_STATE = 6; // 0x6
    field public static final int SATELLITE_MODEM_BUSY = 22; // 0x16
    field public static final int SATELLITE_MODEM_ERROR = 4; // 0x4
    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 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
    field public static final int SATELLITE_NETWORK_ERROR = 5; // 0x5
    field public static final int SATELLITE_NETWORK_TIMEOUT = 17; // 0x11
    field public static final int SATELLITE_NOT_AUTHORIZED = 19; // 0x13
    field public static final int SATELLITE_NOT_REACHABLE = 18; // 0x12
    field public static final int SATELLITE_NOT_SUPPORTED = 20; // 0x14
    field public static final int SATELLITE_NO_RESOURCES = 12; // 0xc
    field public static final int SATELLITE_RADIO_NOT_AVAILABLE = 10; // 0xa
    field public static final int SATELLITE_REQUEST_ABORTED = 15; // 0xf
    field public static final int SATELLITE_REQUEST_FAILED = 9; // 0x9
    field public static final int SATELLITE_REQUEST_IN_PROGRESS = 21; // 0x15
    field public static final int SATELLITE_REQUEST_NOT_SUPPORTED = 11; // 0xb
    field public static final int SATELLITE_SERVER_ERROR = 2; // 0x2
    field public static final int SATELLITE_SERVICE_ERROR = 3; // 0x3
    field public static final int SATELLITE_SERVICE_NOT_PROVISIONED = 13; // 0xd
    field public static final int SATELLITE_SERVICE_PROVISION_IN_PROGRESS = 14; // 0xe
  }
  public static class SatelliteManager.SatelliteException extends java.lang.Exception {
    ctor public SatelliteManager.SatelliteException(int);
    method public int getErrorCode();
  }
  public interface SatelliteProvisionStateCallback {
    method public void onSatelliteProvisionStateChanged(boolean);
  }
  public interface SatelliteStateCallback {
    method public void onSatelliteModemStateChanged(int);
  }
  public interface SatelliteTransmissionUpdateCallback {
    method public void onReceiveDatagramStateChanged(int, int, int);
    method public void onSatellitePositionChanged(@NonNull android.telephony.satellite.PointingInfo);
    method public void onSendDatagramStateChanged(int, int, int);
  }
}
package android.text {
package android.text {
  public final class FontConfig implements android.os.Parcelable {
  public final class FontConfig implements android.os.Parcelable {
+8 −0
Original line number Original line Diff line number Diff line
@@ -15,6 +15,12 @@ KotlinKeyword: android.app.Notification#when:
    Avoid field names that are Kotlin hard keywords ("when"); see https://android.github.io/kotlin-guides/interop.html#no-hard-keywords
    Avoid field names that are Kotlin hard keywords ("when"); see https://android.github.io/kotlin-guides/interop.html#no-hard-keywords




ListenerLast: android.telephony.satellite.SatelliteManager#stopSatelliteTransmissionUpdates(android.telephony.satellite.SatelliteTransmissionUpdateCallback, java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Integer>) parameter #1:
    Listeners should always be at end of argument list (method `stopSatelliteTransmissionUpdates`)
ListenerLast: android.telephony.satellite.SatelliteManager#stopSatelliteTransmissionUpdates(android.telephony.satellite.SatelliteTransmissionUpdateCallback, java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Integer>) parameter #2:
    Listeners should always be at end of argument list (method `stopSatelliteTransmissionUpdates`)


MissingGetterMatchingBuilder: android.telecom.CallScreeningService.CallResponse.Builder#setShouldScreenCallViaAudioProcessing(boolean):
MissingGetterMatchingBuilder: android.telecom.CallScreeningService.CallResponse.Builder#setShouldScreenCallViaAudioProcessing(boolean):
    android.telecom.CallScreeningService.CallResponse does not declare a `shouldScreenCallViaAudioProcessing()` method matching method android.telecom.CallScreeningService.CallResponse.Builder.setShouldScreenCallViaAudioProcessing(boolean)
    android.telecom.CallScreeningService.CallResponse does not declare a `shouldScreenCallViaAudioProcessing()` method matching method android.telecom.CallScreeningService.CallResponse.Builder.setShouldScreenCallViaAudioProcessing(boolean)
MissingGetterMatchingBuilder: android.telephony.mbms.DownloadRequest.Builder#setServiceId(String):
MissingGetterMatchingBuilder: android.telephony.mbms.DownloadRequest.Builder#setServiceId(String):
@@ -211,6 +217,8 @@ SamShouldBeLast: android.security.KeyChain#choosePrivateKeyAlias(android.app.Act
    SAM-compatible parameters (such as parameter 2, "response", in android.security.KeyChain.choosePrivateKeyAlias) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
    SAM-compatible parameters (such as parameter 2, "response", in android.security.KeyChain.choosePrivateKeyAlias) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
SamShouldBeLast: android.security.KeyChain#choosePrivateKeyAlias(android.app.Activity, android.security.KeyChainAliasCallback, String[], java.security.Principal[], android.net.Uri, String):
SamShouldBeLast: android.security.KeyChain#choosePrivateKeyAlias(android.app.Activity, android.security.KeyChainAliasCallback, String[], java.security.Principal[], android.net.Uri, String):
    SAM-compatible parameters (such as parameter 2, "response", in android.security.KeyChain.choosePrivateKeyAlias) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
    SAM-compatible parameters (such as parameter 2, "response", in android.security.KeyChain.choosePrivateKeyAlias) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
SamShouldBeLast: android.telephony.satellite.SatelliteManager#startSatelliteTransmissionUpdates(java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Integer>, android.telephony.satellite.SatelliteTransmissionUpdateCallback):
    SAM-compatible parameters (such as parameter 2, "resultListener", in android.telephony.satellite.SatelliteManager.startSatelliteTransmissionUpdates) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
SamShouldBeLast: android.view.View#postDelayed(Runnable, long):
SamShouldBeLast: android.view.View#postDelayed(Runnable, long):
    SAM-compatible parameters (such as parameter 1, "action", in android.view.View.postDelayed) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
    SAM-compatible parameters (such as parameter 1, "action", in android.view.View.postDelayed) should be last to improve Kotlin interoperability; see https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions
SamShouldBeLast: android.view.View#postOnAnimationDelayed(Runnable, long):
SamShouldBeLast: android.view.View#postOnAnimationDelayed(Runnable, long):
+2 −2
Original line number Original line Diff line number Diff line
@@ -17,7 +17,7 @@
package android.telephony.satellite;
package android.telephony.satellite;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;


@@ -37,6 +37,7 @@ import java.util.Objects;
 * positive X and pointing away from back of the phone for negative X.
 * positive X and pointing away from back of the phone for negative X.
 * @hide
 * @hide
 */
 */
@SystemApi
public final class AntennaDirection implements Parcelable {
public final class AntennaDirection implements Parcelable {
    /** Antenna x axis direction. */
    /** Antenna x axis direction. */
    private float mX;
    private float mX;
@@ -50,7 +51,6 @@ public final class AntennaDirection implements Parcelable {
    /**
    /**
     * @hide
     * @hide
     */
     */
    @UnsupportedAppUsage
    public AntennaDirection(float x, float y, float z) {
    public AntennaDirection(float x, float y, float z) {
        mX = x;
        mX = x;
        mY = y;
        mY = y;
+2 −2
Original line number Original line Diff line number Diff line
@@ -17,7 +17,7 @@
package android.telephony.satellite;
package android.telephony.satellite;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.compat.annotation.UnsupportedAppUsage;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;


@@ -28,6 +28,7 @@ import java.util.Objects;
 * direction to be used with satellite communication and suggested device hold positions.
 * direction to be used with satellite communication and suggested device hold positions.
 * @hide
 * @hide
 */
 */
@SystemApi
public final class AntennaPosition implements Parcelable {
public final class AntennaPosition implements Parcelable {
    /** Antenna direction used for satellite communication. */
    /** Antenna direction used for satellite communication. */
    @NonNull AntennaDirection mAntennaDirection;
    @NonNull AntennaDirection mAntennaDirection;
@@ -38,7 +39,6 @@ public final class AntennaPosition implements Parcelable {
    /**
    /**
     * @hide
     * @hide
     */
     */
    @UnsupportedAppUsage
    public AntennaPosition(@NonNull AntennaDirection antennaDirection, int suggestedHoldPosition) {
    public AntennaPosition(@NonNull AntennaDirection antennaDirection, int suggestedHoldPosition) {
        mAntennaDirection = antennaDirection;
        mAntennaDirection = antennaDirection;
        mSuggestedHoldPosition = suggestedHoldPosition;
        mSuggestedHoldPosition = suggestedHoldPosition;
+21 −1
Original line number Original line Diff line number Diff line
@@ -17,12 +17,19 @@
package android.telephony.satellite;
package android.telephony.satellite;


import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;


import java.util.Objects;

/**
/**
 * PointingInfo is used to store the position of satellite received from satellite modem.
 * The position of satellite is represented by azimuth and elevation angles
 * with degrees as unit of measurement.
 * @hide
 * @hide
 */
 */
@SystemApi
public final class PointingInfo implements Parcelable {
public final class PointingInfo implements Parcelable {
    /** Satellite azimuth in degrees */
    /** Satellite azimuth in degrees */
    private float mSatelliteAzimuthDegrees;
    private float mSatelliteAzimuthDegrees;
@@ -33,7 +40,6 @@ public final class PointingInfo implements Parcelable {
    /**
    /**
     * @hide
     * @hide
     */
     */

    public PointingInfo(float satelliteAzimuthDegrees, float satelliteElevationDegrees) {
    public PointingInfo(float satelliteAzimuthDegrees, float satelliteElevationDegrees) {
        mSatelliteAzimuthDegrees = satelliteAzimuthDegrees;
        mSatelliteAzimuthDegrees = satelliteAzimuthDegrees;
        mSatelliteElevationDegrees = satelliteElevationDegrees;
        mSatelliteElevationDegrees = satelliteElevationDegrees;
@@ -67,6 +73,20 @@ public final class PointingInfo implements Parcelable {
                }
                }
            };
            };


    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        PointingInfo that = (PointingInfo) o;
        return mSatelliteAzimuthDegrees == that.mSatelliteAzimuthDegrees
                && mSatelliteElevationDegrees == that.mSatelliteElevationDegrees;
    }

    @Override
    public int hashCode() {
        return Objects.hash(mSatelliteAzimuthDegrees, mSatelliteElevationDegrees);
    }

    @NonNull
    @NonNull
    @Override
    @Override
    public String toString() {
    public String toString() {
Loading