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
This commit is contained in:
committed by
Aishwarya Mallampati
parent
81dba11a65
commit
3b6d7a2a41
@@ -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 {
|
||||
|
||||
public final class FontConfig implements android.os.Parcelable {
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
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):
|
||||
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):
|
||||
@@ -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
|
||||
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
|
||||
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):
|
||||
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):
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package android.telephony.satellite;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.compat.annotation.UnsupportedAppUsage;
|
||||
import android.annotation.SystemApi;
|
||||
import android.os.Parcel;
|
||||
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.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class AntennaDirection implements Parcelable {
|
||||
/** Antenna x axis direction. */
|
||||
private float mX;
|
||||
@@ -50,7 +51,6 @@ public final class AntennaDirection implements Parcelable {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@UnsupportedAppUsage
|
||||
public AntennaDirection(float x, float y, float z) {
|
||||
mX = x;
|
||||
mY = y;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
package android.telephony.satellite;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.compat.annotation.UnsupportedAppUsage;
|
||||
import android.annotation.SystemApi;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
@@ -28,6 +28,7 @@ import java.util.Objects;
|
||||
* direction to be used with satellite communication and suggested device hold positions.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class AntennaPosition implements Parcelable {
|
||||
/** Antenna direction used for satellite communication. */
|
||||
@NonNull AntennaDirection mAntennaDirection;
|
||||
@@ -38,7 +39,6 @@ public final class AntennaPosition implements Parcelable {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@UnsupportedAppUsage
|
||||
public AntennaPosition(@NonNull AntennaDirection antennaDirection, int suggestedHoldPosition) {
|
||||
mAntennaDirection = antennaDirection;
|
||||
mSuggestedHoldPosition = suggestedHoldPosition;
|
||||
|
||||
@@ -17,12 +17,19 @@
|
||||
package android.telephony.satellite;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.SystemApi;
|
||||
import android.os.Parcel;
|
||||
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
|
||||
*/
|
||||
@SystemApi
|
||||
public final class PointingInfo implements Parcelable {
|
||||
/** Satellite azimuth in degrees */
|
||||
private float mSatelliteAzimuthDegrees;
|
||||
@@ -33,7 +40,6 @@ public final class PointingInfo implements Parcelable {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
|
||||
public PointingInfo(float satelliteAzimuthDegrees, float satelliteElevationDegrees) {
|
||||
mSatelliteAzimuthDegrees = satelliteAzimuthDegrees;
|
||||
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
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
@@ -17,6 +17,8 @@
|
||||
package android.telephony.satellite;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
@@ -27,8 +29,11 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* SatelliteCapabilities is used to represent the capabilities of the satellite service
|
||||
* received from satellite modem.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SatelliteCapabilities implements Parcelable {
|
||||
/**
|
||||
* List of technologies supported by the satellite modem.
|
||||
@@ -56,7 +61,7 @@ public final class SatelliteCapabilities implements Parcelable {
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
public SatelliteCapabilities(Set<Integer> supportedRadioTechnologies,
|
||||
public SatelliteCapabilities(@Nullable Set<Integer> supportedRadioTechnologies,
|
||||
boolean isPointingRequired, int maxBytesPerOutgoingDatagram,
|
||||
@NonNull Map<Integer, AntennaPosition> antennaPositionMap) {
|
||||
mSupportedRadioTechnologies = supportedRadioTechnologies == null
|
||||
|
||||
@@ -17,12 +17,16 @@
|
||||
package android.telephony.satellite;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.SystemApi;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
|
||||
/**
|
||||
* SatelliteDatagram is used to store data that is to be sent or received over satellite.
|
||||
* Data is stored in byte array format.
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public final class SatelliteDatagram implements Parcelable {
|
||||
/**
|
||||
* Datagram to be sent or received over satellite.
|
||||
@@ -63,6 +67,12 @@ public final class SatelliteDatagram implements Parcelable {
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Get satellite datagram.
|
||||
* @return byte array. The format of the byte array is determined by the corresponding
|
||||
* satellite provider. Client application should be aware of how to encode the datagram based
|
||||
* upon the satellite provider.
|
||||
*/
|
||||
@NonNull public byte[] getSatelliteDatagram() {
|
||||
return mData;
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package android.telephony.satellite;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.SystemApi;
|
||||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
@@ -25,6 +26,7 @@ import java.util.function.Consumer;
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public interface SatelliteDatagramCallback {
|
||||
/**
|
||||
* Called when there is an incoming datagram to be received.
|
||||
|
||||
@@ -23,6 +23,7 @@ import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.RequiresFeature;
|
||||
import android.annotation.RequiresPermission;
|
||||
import android.annotation.SystemApi;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Binder;
|
||||
@@ -55,6 +56,7 @@ import java.util.function.Consumer;
|
||||
* @hide
|
||||
*/
|
||||
@RequiresFeature(PackageManager.FEATURE_TELEPHONY_SATELLITE)
|
||||
@SystemApi
|
||||
public class SatelliteManager {
|
||||
private static final String TAG = "SatelliteManager";
|
||||
|
||||
@@ -386,9 +388,16 @@ public class SatelliteManager {
|
||||
public @interface DisplayMode {}
|
||||
|
||||
/**
|
||||
* Request to enable or disable the satellite modem and demo mode. If the satellite modem is
|
||||
* enabled, this may also disable the cellular modem, and if the satellite modem is disabled,
|
||||
* this may also re-enable the cellular modem.
|
||||
* Request to enable or disable the satellite modem and demo mode.
|
||||
* If satellite modem and cellular modem cannot work concurrently,
|
||||
* then this will disable the cellular modem if satellite modem is enabled,
|
||||
* and will re-enable the cellular modem if satellite modem is disabled.
|
||||
*
|
||||
* Demo mode is created to simulate the experience of sending and receiving messages over
|
||||
* satellite. If user enters demo mode, a request should be sent to framework to enable
|
||||
* satellite with enableDemoMode set to {code true}. Once satellite is enabled and device is
|
||||
* aligned with the satellite, user can send a message and also receive a reply in demo mode.
|
||||
* If enableSatellite is {@code false}, enableDemoMode has no impact on the behavior.
|
||||
*
|
||||
* @param enableSatellite {@code true} to enable the satellite modem and
|
||||
* {@code false} to disable.
|
||||
@@ -911,8 +920,8 @@ public class SatelliteManager {
|
||||
* Provision the device with a satellite provider.
|
||||
* This is needed if the provider allows dynamic registration.
|
||||
*
|
||||
* @param token The token to be used as a unique identifier for provisioning with satellite
|
||||
* gateway.
|
||||
* @param token The token is generated by the user which is used as a unique identifier for
|
||||
* provisioning with satellite gateway.
|
||||
* @param provisionData Data from the provisioning app that can be used by provisioning server
|
||||
* @param cancellationSignal The optional signal used by the caller to cancel the provision
|
||||
* request. Even when the cancellation is signaled, Telephony will
|
||||
@@ -965,9 +974,12 @@ public class SatelliteManager {
|
||||
* {@link SatelliteProvisionStateCallback#onSatelliteProvisionStateChanged(boolean)}
|
||||
* should report as deprovisioned.
|
||||
* For provisioning satellite service, refer to
|
||||
* {@link #provisionSatelliteService(String, String, CancellationSignal, Executor, Consumer)}
|
||||
* {@link #provisionSatelliteService(String, byte[], CancellationSignal, Executor, Consumer)}
|
||||
*
|
||||
* @param token The token of the device/subscription to be deprovisioned.
|
||||
* This should match with the token passed as input in
|
||||
* {@link #provisionSatelliteService(String, byte[], CancellationSignal, Executor,
|
||||
* Consumer)}
|
||||
* @param resultListener Listener for the {@link SatelliteError} result of the operation.
|
||||
*
|
||||
* @throws SecurityException if the caller doesn't have required permission.
|
||||
@@ -1213,6 +1225,9 @@ public class SatelliteManager {
|
||||
/**
|
||||
* Register to receive incoming datagrams over satellite.
|
||||
*
|
||||
* To poll for pending satellite datagrams, refer to
|
||||
* {@link #pollPendingSatelliteDatagrams(Executor, Consumer)}
|
||||
*
|
||||
* @param executor The executor on which the callback will be called.
|
||||
* @param callback The callback to handle incoming datagrams over satellite.
|
||||
* This callback with be invoked when a new datagram is received from satellite.
|
||||
@@ -1305,6 +1320,7 @@ public class SatelliteManager {
|
||||
/**
|
||||
* Poll pending satellite datagrams over satellite.
|
||||
*
|
||||
* This method should be called when user specifies to check incoming messages over satellite.
|
||||
* This method requests modem to check if there are any pending datagrams to be received over
|
||||
* satellite. If there are any incoming datagrams, they will be received via
|
||||
* {@link SatelliteDatagramCallback#onSatelliteDatagramReceived(long, SatelliteDatagram, int,
|
||||
@@ -1518,6 +1534,9 @@ public class SatelliteManager {
|
||||
/**
|
||||
* Inform whether the device is aligned with the satellite for demo mode.
|
||||
*
|
||||
* Framework can send datagram to modem only when device is aligned with the satellite.
|
||||
* This method helps framework to simulate the experience of sending datagram over satellite.
|
||||
*
|
||||
* @param isAligned {@true} Device is aligned with the satellite for demo mode
|
||||
* {@false} Device is not aligned with the satellite for demo mode
|
||||
*
|
||||
|
||||
@@ -16,17 +16,22 @@
|
||||
|
||||
package android.telephony.satellite;
|
||||
|
||||
import android.annotation.SystemApi;
|
||||
|
||||
/**
|
||||
* A callback class for monitoring satellite provision state change events.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public interface SatelliteProvisionStateCallback {
|
||||
/**
|
||||
* Called when satellite provision state changes.
|
||||
*
|
||||
* @param provisioned The new provision state. {@code true} means satellite is provisioned
|
||||
* {@code false} means satellite is not provisioned.
|
||||
* It is generally expected that the provisioning app retries if
|
||||
* provisioning fails.
|
||||
*/
|
||||
void onSatelliteProvisionStateChanged(boolean provisioned);
|
||||
}
|
||||
|
||||
@@ -16,11 +16,14 @@
|
||||
|
||||
package android.telephony.satellite;
|
||||
|
||||
import android.annotation.SystemApi;
|
||||
|
||||
/**
|
||||
* A callback class for monitoring satellite modem state change events.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public interface SatelliteStateCallback {
|
||||
/**
|
||||
* Called when satellite modem state changes.
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package android.telephony.satellite;
|
||||
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.SystemApi;
|
||||
|
||||
/**
|
||||
* A callback class for monitoring satellite position update and datagram transfer state change
|
||||
@@ -24,6 +25,7 @@ import android.annotation.NonNull;
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public interface SatelliteTransmissionUpdateCallback {
|
||||
/**
|
||||
* Called when the satellite position changed.
|
||||
|
||||
Reference in New Issue
Block a user