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

Commit fdd9e2f7 authored by Chalard Jean's avatar Chalard Jean
Browse files

Fix SSID not being logged by the validation logs

Also add it in the logs of the notification manager.

Clean cherry-pick of ag/4022397

Bug: 78547904
Test: manual
Change-Id: I0afc18c94adf97154c61af2a5bdf933fb5f0e622
Merged-In: Iad5388a31a1502bc1944346276bb9600ac1386bd
Merged-In: I8bdd4a020e9d04f46847ef3c7e80ccf5c5cd19ea
parent ff8710ae
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -497,24 +497,24 @@ public class ConnectivityService extends IConnectivityManager.Stub
    private static final int MAX_VALIDATION_LOGS = 10;
    private static class ValidationLog {
        final Network mNetwork;
        final String mNetworkExtraInfo;
        final String mName;
        final ReadOnlyLocalLog mLog;

        ValidationLog(Network network, String networkExtraInfo, ReadOnlyLocalLog log) {
        ValidationLog(Network network, String name, ReadOnlyLocalLog log) {
            mNetwork = network;
            mNetworkExtraInfo = networkExtraInfo;
            mName = name;
            mLog = log;
        }
    }
    private final ArrayDeque<ValidationLog> mValidationLogs =
            new ArrayDeque<ValidationLog>(MAX_VALIDATION_LOGS);

    private void addValidationLogs(ReadOnlyLocalLog log, Network network, String networkExtraInfo) {
    private void addValidationLogs(ReadOnlyLocalLog log, Network network, String name) {
        synchronized (mValidationLogs) {
            while (mValidationLogs.size() >= MAX_VALIDATION_LOGS) {
                mValidationLogs.removeLast();
            }
            mValidationLogs.addFirst(new ValidationLog(network, networkExtraInfo, log));
            mValidationLogs.addFirst(new ValidationLog(network, name, log));
        }
    }

@@ -2059,7 +2059,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
            synchronized (mValidationLogs) {
                pw.println("mValidationLogs (most recent first):");
                for (ValidationLog p : mValidationLogs) {
                    pw.println(p.mNetwork + " - " + p.mNetworkExtraInfo);
                    pw.println(p.mNetwork + " - " + p.mName);
                    pw.increaseIndent();
                    p.mLog.dump(fd, pw, args);
                    pw.decreaseIndent();
@@ -4584,8 +4584,10 @@ public class ConnectivityService extends IConnectivityManager.Stub
        synchronized (this) {
            nai.networkMonitor.systemReady = mSystemReady;
        }
        addValidationLogs(nai.networkMonitor.getValidationLogs(), nai.network,
                networkInfo.getExtraInfo());
        final String extraInfo = networkInfo.getExtraInfo();
        final String name = TextUtils.isEmpty(extraInfo)
                ? nai.networkCapabilities.getSSID() : extraInfo;
        addValidationLogs(nai.networkMonitor.getValidationLogs(), nai.network, name);
        if (DBG) log("registerNetworkAgent " + nai);
        mHandler.sendMessage(mHandler.obtainMessage(EVENT_REGISTER_NETWORK_AGENT, nai));
        return nai.network.netId;
+8 −7
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import android.net.NetworkCapabilities;
import android.net.wifi.WifiInfo;
import android.os.UserHandle;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseIntArray;
@@ -131,16 +132,17 @@ public class NetworkNotificationManager {
        final String tag = tagFor(id);
        final int eventId = notifyType.eventId;
        final int transportType;
        final String extraInfo;
        final String name;
        if (nai != null) {
            transportType = getFirstTransportType(nai);
            extraInfo = nai.networkInfo.getExtraInfo();
            final String extraInfo = nai.networkInfo.getExtraInfo();
            name = TextUtils.isEmpty(extraInfo) ? nai.networkCapabilities.getSSID() : extraInfo;
            // Only notify for Internet-capable networks.
            if (!nai.networkCapabilities.hasCapability(NET_CAPABILITY_INTERNET)) return;
        } else {
            // Legacy notifications.
            transportType = TRANSPORT_CELLULAR;
            extraInfo = null;
            name = null;
        }

        // Clear any previous notification with lower priority, otherwise return. http://b/63676954.
@@ -157,9 +159,8 @@ public class NetworkNotificationManager {

        if (DBG) {
            Slog.d(TAG, String.format(
                    "showNotification tag=%s event=%s transport=%s extraInfo=%s highPrioriy=%s",
                    tag, nameOf(eventId), getTransportName(transportType), extraInfo,
                    highPriority));
                    "showNotification tag=%s event=%s transport=%s name=%s highPriority=%s",
                    tag, nameOf(eventId), getTransportName(transportType), name, highPriority));
        }

        Resources r = Resources.getSystem();
@@ -188,7 +189,7 @@ public class NetworkNotificationManager {
                    break;
                default:
                    title = r.getString(R.string.network_available_sign_in, 0);
                    details = r.getString(R.string.network_available_sign_in_detailed, extraInfo);
                    details = r.getString(R.string.network_available_sign_in_detailed, name);
                    break;
            }
        } else if (notifyType == NotificationType.NETWORK_SWITCH) {