Add subtext for Wi-Fi items on Wi-Fi slice
- Sync the Wi-Fi slice items subtexts with Wi-Fi page, and add "Not connected" when the returned subtext is empty - Wi-Fi slice header subtext just simply reveals on/off state - Add a placeholder to the loading row to sync its height with other rows - Show contextual Wi-Fi slice when the connected network is captive portal, is invalidated, or has limited connectivity Bug: 130751985 Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.wifi Change-Id: I0b2715295f00edc8dd7d6d75b7fdc18263675797
This commit is contained in:
@@ -17,7 +17,10 @@
|
||||
package com.android.settings.wifi.slice;
|
||||
|
||||
import android.content.Context;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.Uri;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.net.wifi.WifiSsid;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
@@ -69,6 +72,22 @@ public class ContextualWifiSlice extends WifiSlice {
|
||||
}
|
||||
|
||||
private boolean hasWorkingNetwork() {
|
||||
return !TextUtils.equals(getActiveSSID(), WifiSsid.NONE) && !isCaptivePortal();
|
||||
return !TextUtils.equals(getActiveSSID(), WifiSsid.NONE) && hasInternetAccess();
|
||||
}
|
||||
|
||||
private String getActiveSSID() {
|
||||
if (mWifiManager.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
|
||||
return WifiSsid.NONE;
|
||||
}
|
||||
return WifiInfo.removeDoubleQuotes(mWifiManager.getConnectionInfo().getSSID());
|
||||
}
|
||||
|
||||
private boolean hasInternetAccess() {
|
||||
final NetworkCapabilities nc = mConnectivityManager.getNetworkCapabilities(
|
||||
mWifiManager.getCurrentNetwork());
|
||||
return nc != null
|
||||
&& !nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL)
|
||||
&& !nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY)
|
||||
&& nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user