Merge "[Jetpack] Add a public filter for config id." into androidx-main
diff --git a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbManagerImpl.kt b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbManagerImpl.kt
index a8d9bd8..157369b 100644
--- a/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbManagerImpl.kt
+++ b/core/uwb/uwb/src/main/java/androidx/core/uwb/impl/UwbManagerImpl.kt
@@ -23,6 +23,10 @@
 import android.os.IBinder
 import android.util.Log
 import androidx.core.uwb.RangingCapabilities
+import androidx.core.uwb.RangingParameters.Companion.CONFIG_MULTICAST_DS_TWR
+import androidx.core.uwb.RangingParameters.Companion.CONFIG_PROVISIONED_MULTICAST_DS_TWR
+import androidx.core.uwb.RangingParameters.Companion.CONFIG_PROVISIONED_UNICAST_DS_TWR
+import androidx.core.uwb.RangingParameters.Companion.CONFIG_UNICAST_DS_TWR
 import androidx.core.uwb.UwbAddress
 import androidx.core.uwb.UwbClientSessionScope
 import androidx.core.uwb.UwbComplexChannel
@@ -42,6 +46,12 @@
 internal class UwbManagerImpl(private val context: Context) : UwbManager {
     companion object {
         const val TAG = "UwbMangerImpl"
+        val PUBLIC_AVAILABLE_CONFIG_IDS = setOf(
+            CONFIG_UNICAST_DS_TWR,
+            CONFIG_MULTICAST_DS_TWR,
+            CONFIG_PROVISIONED_UNICAST_DS_TWR,
+            CONFIG_PROVISIONED_MULTICAST_DS_TWR
+        )
         var iUwb: IUwb? = null
     }
 
@@ -96,6 +106,8 @@
             val nearbyLocalAddress = uwbClient.localAddress.await()
             val nearbyRangingCapabilities = uwbClient.rangingCapabilities.await()
             val localAddress = UwbAddress(nearbyLocalAddress.address)
+            val supportedConfigIds = nearbyRangingCapabilities.supportedConfigIds
+            supportedConfigIds.retainAll(PUBLIC_AVAILABLE_CONFIG_IDS)
             val rangingCapabilities = RangingCapabilities(
                 nearbyRangingCapabilities.supportsDistance(),
                 nearbyRangingCapabilities.supportsAzimuthalAngle(),
@@ -103,7 +115,7 @@
                 nearbyRangingCapabilities.minRangingInterval,
                 nearbyRangingCapabilities.supportedChannels.toSet(),
                 nearbyRangingCapabilities.supportedNtfConfigs.toSet(),
-                nearbyRangingCapabilities.supportedConfigIds.toSet(),
+                supportedConfigIds.toSet(),
                 nearbyRangingCapabilities.supportedSlotDurations.toSet(),
                 nearbyRangingCapabilities.supportedRangingUpdateRates.toSet(),
                 nearbyRangingCapabilities.supportsRangingIntervalReconfigure(),
@@ -149,7 +161,7 @@
                     it.minRangingInterval,
                     it.supportedChannels.toSet(),
                     it.supportedNtfConfigs.toSet(),
-                    it.supportedConfigIds.toSet(),
+                    it.supportedConfigIds.filter { it in PUBLIC_AVAILABLE_CONFIG_IDS }.toSet(),
                     it.supportedSlotDurations.toSet(),
                     it.supportedRangingUpdateRates.toSet(),
                     it.supportsRangingIntervalReconfigure,