summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Bright <dbright@google.com>2020-11-20 18:48:36 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2020-11-20 18:48:36 +0000
commit5b38038d57cf8b346a887feadfd36fea7d48a709 (patch)
treed46356019b748f5868697fc7c3f1ade2e8faa723
parent1b414d61b4dc26335fd58cb9188edaabda2de4cb (diff)
parentb9b195be2367376b24ced309676f547ec1033325 (diff)
Merge "Added global retry support"
-rw-r--r--core/api/system-current.txt7
-rw-r--r--telephony/java/android/telephony/data/DataCallResponse.java48
2 files changed, 46 insertions, 9 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index e3e2655aeaa8..e784756a76e8 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -10380,7 +10380,8 @@ package android.telephony.data {
method public int getMtuV6();
method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
method public int getProtocolType();
- method public int getSuggestedRetryTime();
+ method public long getRetryIntervalMillis();
+ method @Deprecated public int getSuggestedRetryTime();
method public void writeToParcel(android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
@@ -10392,6 +10393,7 @@ package android.telephony.data {
field public static final int LINK_STATUS_DORMANT = 1; // 0x1
field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
+ field public static final int RETRY_INTERVAL_UNDEFINED = -1; // 0xffffffff
}
public static final class DataCallResponse.Builder {
@@ -10410,7 +10412,8 @@ package android.telephony.data {
method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
- method @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
+ method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryIntervalMillis(long);
+ method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
}
public final class DataProfile implements android.os.Parcelable {
diff --git a/telephony/java/android/telephony/data/DataCallResponse.java b/telephony/java/android/telephony/data/DataCallResponse.java
index a39031d6846e..badae4f7f411 100644
--- a/telephony/java/android/telephony/data/DataCallResponse.java
+++ b/telephony/java/android/telephony/data/DataCallResponse.java
@@ -108,8 +108,14 @@ public final class DataCallResponse implements Parcelable {
*/
public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3;
+ /**
+ * Indicates that data retry interval is not specified. Platform can determine when to
+ * perform data setup appropriately.
+ */
+ public static final int RETRY_INTERVAL_UNDEFINED = -1;
+
private final @DataFailureCause int mCause;
- private final int mSuggestedRetryTime;
+ private final long mSuggestedRetryTime;
private final int mId;
private final @LinkStatus int mLinkStatus;
private final @ProtocolType int mProtocolType;
@@ -171,7 +177,7 @@ public final class DataCallResponse implements Parcelable {
mHandoverFailureMode = HANDOVER_FAILURE_MODE_LEGACY;
}
- private DataCallResponse(@DataFailureCause int cause, int suggestedRetryTime, int id,
+ private DataCallResponse(@DataFailureCause int cause, long suggestedRetryTime, int id,
@LinkStatus int linkStatus, @ProtocolType int protocolType,
@Nullable String interfaceName, @Nullable List<LinkAddress> addresses,
@Nullable List<InetAddress> dnsAddresses, @Nullable List<InetAddress> gatewayAddresses,
@@ -201,7 +207,7 @@ public final class DataCallResponse implements Parcelable {
@VisibleForTesting
public DataCallResponse(Parcel source) {
mCause = source.readInt();
- mSuggestedRetryTime = source.readInt();
+ mSuggestedRetryTime = source.readLong();
mId = source.readInt();
mLinkStatus = source.readInt();
mProtocolType = source.readInt();
@@ -228,8 +234,22 @@ public final class DataCallResponse implements Parcelable {
/**
* @return The suggested data retry time in milliseconds.
+ *
+ * @deprecated Use {@link #getRetryIntervalMillis()} instead.
+ */
+ @Deprecated
+ public int getSuggestedRetryTime() {
+ return (int) mSuggestedRetryTime;
+ }
+
+ /**
+ * @return The network suggested data retry interval in milliseconds. {@code Long.MAX_VALUE}
+ * indicates data retry should not occur. {@link #RETRY_INTERVAL_UNDEFINED} indicates network
+ * did not suggest any retry interval.
*/
- public int getSuggestedRetryTime() { return mSuggestedRetryTime; }
+ public long getRetryIntervalMillis() {
+ return mSuggestedRetryTime;
+ }
/**
* @return The unique id of the data connection.
@@ -381,7 +401,7 @@ public final class DataCallResponse implements Parcelable {
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(mCause);
- dest.writeInt(mSuggestedRetryTime);
+ dest.writeLong(mSuggestedRetryTime);
dest.writeInt(mId);
dest.writeInt(mLinkStatus);
dest.writeInt(mProtocolType);
@@ -445,7 +465,7 @@ public final class DataCallResponse implements Parcelable {
public static final class Builder {
private @DataFailureCause int mCause;
- private int mSuggestedRetryTime;
+ private long mSuggestedRetryTime = RETRY_INTERVAL_UNDEFINED;
private int mId;
@@ -493,9 +513,23 @@ public final class DataCallResponse implements Parcelable {
*
* @param suggestedRetryTime The suggested data retry time in milliseconds.
* @return The same instance of the builder.
+ *
+ * @deprecated Use {@link #setRetryIntervalMillis(long)} instead.
*/
+ @Deprecated
public @NonNull Builder setSuggestedRetryTime(int suggestedRetryTime) {
- mSuggestedRetryTime = suggestedRetryTime;
+ mSuggestedRetryTime = (long) suggestedRetryTime;
+ return this;
+ }
+
+ /**
+ * Set the network suggested data retry interval.
+ *
+ * @param retryIntervalMillis The suggested data retry interval in milliseconds.
+ * @return The same instance of the builder.
+ */
+ public @NonNull Builder setRetryIntervalMillis(long retryIntervalMillis) {
+ mSuggestedRetryTime = retryIntervalMillis;
return this;
}