diff --git a/framework-t/api/system-current.txt b/framework-t/api/system-current.txt
index 03f9c8e..4f41cc7 100644
--- a/framework-t/api/system-current.txt
+++ b/framework-t/api/system-current.txt
@@ -26,6 +26,7 @@
     method public int getVersion();
     field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3
     field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff
+    field public static final int MEDIUM_BLE = 1; // 0x1
     field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff
     field public static final int PRESENCE_VERSION_V0 = 0; // 0x0
     field public static final int PRESENCE_VERSION_V1 = 1; // 0x1
@@ -338,7 +339,6 @@
     field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
     field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
     field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
-    field public static final int IDENTITY_TYPE_PUBLIC = 4; // 0x4
     field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
     field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
   }
diff --git a/nearby/framework/java/android/nearby/BroadcastRequest.java b/nearby/framework/java/android/nearby/BroadcastRequest.java
index 3273ea1..90f4d0f 100644
--- a/nearby/framework/java/android/nearby/BroadcastRequest.java
+++ b/nearby/framework/java/android/nearby/BroadcastRequest.java
@@ -78,15 +78,17 @@
     }
 
     /**
+     * Broadcast the request using the Bluetooth Low Energy (BLE) medium.
+     */
+    public static final int MEDIUM_BLE = 1;
+
+    /**
      * The medium where the broadcast request should be sent.
      *
      * @hide
      */
-    @IntDef({Medium.BLE, Medium.MDNS})
-    public @interface Medium {
-        int BLE = 1;
-        int MDNS = 2;
-    }
+    @IntDef({MEDIUM_BLE})
+    public @interface Medium {}
 
     /**
      * Creates a {@link BroadcastRequest} from parcel.
@@ -149,7 +151,8 @@
     }
 
     /**
-     * Returns the list of broadcast mediums.
+     * Returns the list of broadcast mediums. A medium represents the channel on which the broadcast
+     * request is sent.
      */
     @NonNull
     @Medium
diff --git a/nearby/framework/java/android/nearby/PresenceCredential.java b/nearby/framework/java/android/nearby/PresenceCredential.java
index 1e851d6..0a3cc1d 100644
--- a/nearby/framework/java/android/nearby/PresenceCredential.java
+++ b/nearby/framework/java/android/nearby/PresenceCredential.java
@@ -57,8 +57,6 @@
     public static final int IDENTITY_TYPE_PROVISIONED = 2;
     /** Trusted identity type. */
     public static final int IDENTITY_TYPE_TRUSTED = 3;
-    /** Public identity type. */
-    public static final int IDENTITY_TYPE_PUBLIC = 4;
 
     /**
      * @hide *
@@ -68,8 +66,7 @@
         IDENTITY_TYPE_UNKNOWN,
         IDENTITY_TYPE_PRIVATE,
         IDENTITY_TYPE_PROVISIONED,
-        IDENTITY_TYPE_TRUSTED,
-        IDENTITY_TYPE_PUBLIC
+        IDENTITY_TYPE_TRUSTED
     })
     public @interface IdentityType {}
 
