diff options
Diffstat (limited to 'packages/SettingsLib/src/com/android/settingslib/Utils.java')
-rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/Utils.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/Utils.java b/packages/SettingsLib/src/com/android/settingslib/Utils.java index 176bce12505f..f38f3d1db72e 100644 --- a/packages/SettingsLib/src/com/android/settingslib/Utils.java +++ b/packages/SettingsLib/src/com/android/settingslib/Utils.java @@ -1,6 +1,7 @@ package com.android.settingslib; import android.annotation.ColorInt; +import android.annotation.Nullable; import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; @@ -23,6 +24,9 @@ import android.graphics.drawable.Drawable; import android.location.LocationManager; import android.media.AudioManager; import android.net.ConnectivityManager; +import android.net.NetworkCapabilities; +import android.net.vcn.VcnTransportInfo; +import android.net.wifi.WifiInfo; import android.os.BatteryManager; import android.os.SystemProperties; import android.os.UserHandle; @@ -625,4 +629,21 @@ public class Utils { drawable.draw(canvas); return roundedBitmap; } + + /** + * Returns the WifiInfo for the underlying WiFi network of the VCN network, returns null if the + * input NetworkCapabilities is not for a VCN network with underlying WiFi network. + * + * @param networkCapabilities NetworkCapabilities of the network. + */ + @Nullable + public static WifiInfo tryGetWifiInfoForVcn(NetworkCapabilities networkCapabilities) { + if (networkCapabilities.getTransportInfo() == null + || !(networkCapabilities.getTransportInfo() instanceof VcnTransportInfo)) { + return null; + } + VcnTransportInfo vcnTransportInfo = + (VcnTransportInfo) networkCapabilities.getTransportInfo(); + return vcnTransportInfo.getWifiInfo(); + } } |