Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d30e133 authored by lucaslin's avatar lucaslin
Browse files

Modify SettingsLib for partial connectivity

Add partial connectivity related settings in SettingsLib.

Bug: 113450764
Bug: 128489091
Test: 1. Build pass.
      2. Fake partial connectivity case for testing.

Change-Id: I0733ecc9070e6c4281fdff40f432605d139355ec
Merged-In: I4791abe9351c62d9549ada383aa4cc8aa34ddaf2
parent ac3406f9
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -97,6 +97,9 @@
    <!-- Summary for Connected wifi network without internet -->
    <string name="wifi_connected_no_internet">Connected, no internet</string>

    <!-- Summary for connected wifi network with partial internet connectivity [CHAR LIMIT=50] -->
    <string name="wifi_limited_connection">Limited connection</string>

    <!-- Wi-Fi status indicating that the current network is connected, but has no internet access. -->
    <string name="wifi_status_no_internet">No internet</string>

+5 −1
Original line number Diff line number Diff line
@@ -48,7 +48,6 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.SystemClock;
import android.os.UserHandle;
import androidx.annotation.NonNull;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.TextUtils;
@@ -56,6 +55,8 @@ import android.text.style.TtsSpan;
import android.util.ArraySet;
import android.util.Log;

import androidx.annotation.NonNull;

import com.android.internal.annotations.VisibleForTesting;
import com.android.settingslib.R;
import com.android.settingslib.utils.ThreadUtils;
@@ -1243,6 +1244,9 @@ public class AccessPoint implements Comparable<AccessPoint> {
                    int id = context.getResources()
                            .getIdentifier("network_available_sign_in", "string", "android");
                    return context.getString(id);
                } else if (nc.hasCapability(
                        NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY)) {
                    return context.getString(R.string.wifi_limited_connection);
                } else if (!nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)) {
                    return context.getString(R.string.wifi_connected_no_internet);
                }
+4 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
package com.android.settingslib.wifi;

import static android.net.NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL;
import static android.net.NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY;
import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;

import android.content.Context;
@@ -151,6 +152,9 @@ public class WifiStatusTracker extends ConnectivityManager.NetworkCallback {
            if (networkCapabilities.hasCapability(NET_CAPABILITY_CAPTIVE_PORTAL)) {
                statusLabel = mContext.getString(R.string.wifi_status_sign_in_required);
                return;
            } else if (networkCapabilities.hasCapability(NET_CAPABILITY_PARTIAL_CONNECTIVITY)) {
                statusLabel = mContext.getString(R.string.wifi_limited_connection);
                return;
            } else if (!networkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED)) {
                statusLabel = mContext.getString(R.string.wifi_status_no_internet);
                return;