summaryrefslogtreecommitdiff
path: root/packages/SettingsLib/src/com/android/settingslib/Utils.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/SettingsLib/src/com/android/settingslib/Utils.java')
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/Utils.java21
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();
+ }
}