IpConn metrics: use @IntDef
Change-Id: Iae23f04abd3d1a43e7217f4fd641cd5fa61a7a1b
diff --git a/core/java/android/net/metrics/IpManagerEvent.java b/core/java/android/net/metrics/IpManagerEvent.java
index 8949fae..a5b4eb5 100644
--- a/core/java/android/net/metrics/IpManagerEvent.java
+++ b/core/java/android/net/metrics/IpManagerEvent.java
@@ -16,6 +16,7 @@
package android.net.metrics;
+import android.annotation.IntDef;
import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;
@@ -23,23 +24,32 @@
import com.android.internal.util.MessageUtils;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
/**
+ * An event recorded by IpManager when IP provisioning completes for a network or
+ * when a network disconnects.
* {@hide}
*/
@SystemApi
public final class IpManagerEvent implements Parcelable {
- // TODO: use @IntDef
public static final int PROVISIONING_OK = 1;
public static final int PROVISIONING_FAIL = 2;
public static final int COMPLETE_LIFECYCLE = 3;
+ /** {@hide} */
+ @IntDef(value = {PROVISIONING_OK, PROVISIONING_FAIL, COMPLETE_LIFECYCLE})
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface EventType {}
+
public final String ifName;
- public final int eventType;
+ public final @EventType int eventType;
public final long durationMs;
/** {@hide} */
- public IpManagerEvent(String ifName, int eventType, long duration) {
+ public IpManagerEvent(String ifName, @EventType int eventType, long duration) {
this.ifName = ifName;
this.eventType = eventType;
this.durationMs = duration;
@@ -51,12 +61,14 @@
this.durationMs = in.readLong();
}
+ @Override
public void writeToParcel(Parcel out, int flags) {
out.writeString(ifName);
out.writeInt(eventType);
out.writeLong(durationMs);
}
+ @Override
public int describeContents() {
return 0;
}