diff options
| -rw-r--r-- | telephony/java/android/telephony/PreciseDataConnectionState.java | 62 |
1 files changed, 46 insertions, 16 deletions
diff --git a/telephony/java/android/telephony/PreciseDataConnectionState.java b/telephony/java/android/telephony/PreciseDataConnectionState.java index b568f07135b8..e6515f13b858 100644 --- a/telephony/java/android/telephony/PreciseDataConnectionState.java +++ b/telephony/java/android/telephony/PreciseDataConnectionState.java @@ -65,6 +65,7 @@ import java.util.Objects; public final class PreciseDataConnectionState implements Parcelable { private final @TransportType int mTransportType; private final int mId; + private final int mNetId; private final @DataState int mState; private final @NetworkType int mNetworkType; private final @DataFailureCause int mFailCause; @@ -134,7 +135,7 @@ public final class PreciseDataConnectionState implements Parcelable { @ApnType int apnTypes, @NonNull String apn, @Nullable LinkProperties linkProperties, @DataFailureCause int failCause) { - this(AccessNetworkConstants.TRANSPORT_TYPE_INVALID, -1, state, networkType, + this(AccessNetworkConstants.TRANSPORT_TYPE_INVALID, -1, -1, state, networkType, linkProperties, failCause, new ApnSetting.Builder() .setApnTypeBitmask(apnTypes) .setApnName(apn) @@ -158,13 +159,14 @@ public final class PreciseDataConnectionState implements Parcelable { * @param defaultQos If there is a valid QoS for the default bearer supporting this data call, * (supported for LTE and NR), then this is specified. Otherwise it should be null. */ - private PreciseDataConnectionState(@TransportType int transportType, int id, + private PreciseDataConnectionState(@TransportType int transportType, int id, int netId, @DataState int state, @NetworkType int networkType, @Nullable LinkProperties linkProperties, @DataFailureCause int failCause, @Nullable ApnSetting apnSetting, @Nullable Qos defaultQos, @NetworkValidationStatus int networkValidationStatus) { mTransportType = transportType; mId = id; + mNetId = netId; mState = state; mNetworkType = networkType; mLinkProperties = linkProperties; @@ -182,6 +184,7 @@ public final class PreciseDataConnectionState implements Parcelable { private PreciseDataConnectionState(Parcel in) { mTransportType = in.readInt(); mId = in.readInt(); + mNetId = in.readInt(); mState = in.readInt(); mNetworkType = in.readInt(); mLinkProperties = in.readParcelable( @@ -244,6 +247,14 @@ public final class PreciseDataConnectionState implements Parcelable { } /** + * @return the current TelephonyNetworkAgent ID. {@code -1} if no network agent. + * @hide + */ + public int getNetId() { + return mNetId; + } + + /** * @return The high-level state of this data connection. */ public @DataState int getState() { @@ -363,6 +374,7 @@ public final class PreciseDataConnectionState implements Parcelable { public void writeToParcel(@NonNull Parcel out, int flags) { out.writeInt(mTransportType); out.writeInt(mId); + out.writeInt(mNetId); out.writeInt(mState); out.writeInt(mNetworkType); out.writeParcelable(mLinkProperties, flags); @@ -386,7 +398,7 @@ public final class PreciseDataConnectionState implements Parcelable { @Override public int hashCode() { - return Objects.hash(mTransportType, mId, mState, mNetworkType, mFailCause, + return Objects.hash(mTransportType, mId, mNetId, mState, mNetworkType, mFailCause, mLinkProperties, mApnSetting, mDefaultQos, mNetworkValidationStatus); } @@ -398,6 +410,7 @@ public final class PreciseDataConnectionState implements Parcelable { PreciseDataConnectionState that = (PreciseDataConnectionState) o; return mTransportType == that.mTransportType && mId == that.mId + && mNetId == that.mNetId && mState == that.mState && mNetworkType == that.mNetworkType && mFailCause == that.mFailCause @@ -412,17 +425,18 @@ public final class PreciseDataConnectionState implements Parcelable { public String toString() { StringBuilder sb = new StringBuilder(); - sb.append(" state: " + TelephonyUtils.dataStateToString(mState)); - sb.append(", transport: " - + AccessNetworkConstants.transportTypeToString(mTransportType)); - sb.append(", id: " + mId); - sb.append(", network type: " + TelephonyManager.getNetworkTypeName(mNetworkType)); - sb.append(", APN Setting: " + mApnSetting); - sb.append(", link properties: " + mLinkProperties); - sb.append(", default QoS: " + mDefaultQos); - sb.append(", fail cause: " + DataFailCause.toString(mFailCause)); - sb.append(", network validation status: " - + networkValidationStatusToString(mNetworkValidationStatus)); + sb.append(" state: ").append(TelephonyUtils.dataStateToString(mState)); + sb.append(", transport: ").append( + AccessNetworkConstants.transportTypeToString(mTransportType)); + sb.append(", id: ").append(mId); + sb.append(", netId: ").append(mNetId); + sb.append(", network type: ").append(TelephonyManager.getNetworkTypeName(mNetworkType)); + sb.append(", APN Setting: ").append(mApnSetting); + sb.append(", link properties: ").append(mLinkProperties); + sb.append(", default QoS: ").append(mDefaultQos); + sb.append(", fail cause: ").append(DataFailCause.toString(mFailCause)); + sb.append(", network validation status: ").append( + networkValidationStatusToString(mNetworkValidationStatus)); return sb.toString(); } @@ -463,6 +477,11 @@ public final class PreciseDataConnectionState implements Parcelable { */ private int mId = -1; + /** + * The current TelephonyNetworkAgent ID. {@code -1} if no network agent. + */ + private int mNetworkAgentId = -1; + /** The state of the data connection */ private @DataState int mState = TelephonyManager.DATA_UNKNOWN; @@ -511,6 +530,17 @@ public final class PreciseDataConnectionState implements Parcelable { } /** + * Set the id of the data connection. + * + * @param agentId The id of the data connection + * @return The builder + */ + public @NonNull Builder setNetworkAgentId(int agentId) { + mNetworkAgentId = agentId; + return this; + } + + /** * Set the state of the data connection. * * @param state The state of the data connection @@ -598,8 +628,8 @@ public final class PreciseDataConnectionState implements Parcelable { * @return The {@link PreciseDataConnectionState} instance */ public PreciseDataConnectionState build() { - return new PreciseDataConnectionState(mTransportType, mId, mState, mNetworkType, - mLinkProperties, mFailCause, mApnSetting, mDefaultQos, + return new PreciseDataConnectionState(mTransportType, mId, mNetworkAgentId, mState, + mNetworkType, mLinkProperties, mFailCause, mApnSetting, mDefaultQos, mNetworkValidationStatus); } } |