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

Commit fb755b75 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Remove redundant connected notification"

parents 88d585be be79321d
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -3450,8 +3450,6 @@
    <!-- A notification is shown when connected network without internet due to private dns validation failed. This is the notification's message. [CHAR LIMIT=NONE] -->
    <string name="private_dns_broken_detailed">Private DNS server cannot be accessed</string>

    <!-- A notification is shown after the user logs in to a captive portal network, to indicate that the network should now have internet connectivity. This is the message of notification. [CHAR LIMIT=50] -->
    <string name="captive_portal_logged_in_detailed">Connected</string>
    <!-- A notification is shown when the user connects to a network that doesn't have access to some services (e.g. Push notifications may not work). This is the notification's title. [CHAR LIMIT=50] -->
    <string name="network_partial_connectivity"><xliff:g id="network_ssid" example="GoogleGuest">%1$s</xliff:g> has limited connectivity</string>

+0 −1
Original line number Diff line number Diff line
@@ -735,7 +735,6 @@
  <java-symbol type="string" name="capability_title_canControlMagnification" />
  <java-symbol type="string" name="capability_desc_canPerformGestures" />
  <java-symbol type="string" name="capability_title_canPerformGestures" />
  <java-symbol type="string" name="captive_portal_logged_in_detailed" />
  <java-symbol type="string" name="cfTemplateForwarded" />
  <java-symbol type="string" name="cfTemplateForwardedTime" />
  <java-symbol type="string" name="cfTemplateNotForwarded" />
+4 −36
Original line number Diff line number Diff line
@@ -275,9 +275,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
    // connect anyway?" dialog after the user selects a network that doesn't validate.
    private static final int PROMPT_UNVALIDATED_DELAY_MS = 8 * 1000;

    // How long to dismiss network notification.
    private static final int TIMEOUT_NOTIFICATION_DELAY_MS = 20 * 1000;

    // Default to 30s linger time-out. Modifiable only for testing.
    private static final String LINGER_DELAY_PROPERTY = "persist.netmon.linger";
    private static final int DEFAULT_LINGER_DELAY_MS = 30_000;
@@ -524,11 +521,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
     */
    private static final int EVENT_PROVISIONING_NOTIFICATION = 43;

    /**
     * This event can handle dismissing notification by given network id.
     */
    private static final int EVENT_TIMEOUT_NOTIFICATION = 44;

    /**
     * Used to specify whether a network should be used even if connectivity is partial.
     * arg1 = whether to accept the network if its connectivity is partial (1 for true or 0 for
@@ -536,7 +528,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
     * arg2 = whether to remember this choice in the future (1 for true or 0 for false)
     * obj  = network
     */
    private static final int EVENT_SET_ACCEPT_PARTIAL_CONNECTIVITY = 45;
    private static final int EVENT_SET_ACCEPT_PARTIAL_CONNECTIVITY = 44;

    /**
     * Event for NetworkMonitor to inform ConnectivityService that the probe status has changed.
@@ -545,7 +537,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
     * arg1 = A bitmask to describe which probes are completed.
     * arg2 = A bitmask to describe which probes are successful.
     */
    public static final int EVENT_PROBE_STATUS_CHANGED = 46;
    public static final int EVENT_PROBE_STATUS_CHANGED = 45;

    /**
     * Event for NetworkMonitor to inform ConnectivityService that captive portal data has changed.
@@ -553,7 +545,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
     * arg2 = netId
     * obj = captive portal data
     */
    private static final int EVENT_CAPPORT_DATA_CHANGED = 47;
    private static final int EVENT_CAPPORT_DATA_CHANGED = 46;

    /**
     * Argument for {@link #EVENT_PROVISIONING_NOTIFICATION} to indicate that the notification
@@ -2870,13 +2862,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
            final boolean valid = ((testResult & NETWORK_VALIDATION_RESULT_VALID) != 0);
            final boolean wasValidated = nai.lastValidated;
            final boolean wasDefault = isDefaultNetwork(nai);
            // Only show a connected notification if the network is pending validation
            // after the captive portal app was open, and it has now validated.
            if (nai.captivePortalValidationPending && valid) {
                // User is now logged in, network validated.
                nai.captivePortalValidationPending = false;
                showNetworkNotification(nai, NotificationType.LOGGED_IN);
            }

            if (DBG) {
                final String logMsg = !TextUtils.isEmpty(redirectUrl)
@@ -3757,12 +3742,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
                new CaptivePortal(new CaptivePortalImpl(network).asBinder()));
        appIntent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);

        // This runs on a random binder thread, but getNetworkAgentInfoForNetwork is thread-safe,
        // and captivePortalValidationPending is volatile.
        final NetworkAgentInfo nai = getNetworkAgentInfoForNetwork(network);
        if (nai != null) {
            nai.captivePortalValidationPending = true;
        }
        Binder.withCleanCallingIdentity(() ->
                mContext.startActivityAsUser(appIntent, UserHandle.CURRENT));
    }
@@ -3881,14 +3860,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
        final String action;
        final boolean highPriority;
        switch (type) {
            case LOGGED_IN:
                action = Settings.ACTION_WIFI_SETTINGS;
                mHandler.removeMessages(EVENT_TIMEOUT_NOTIFICATION);
                mHandler.sendMessageDelayed(mHandler.obtainMessage(EVENT_TIMEOUT_NOTIFICATION,
                        nai.network.netId, 0), TIMEOUT_NOTIFICATION_DELAY_MS);
                // High priority because it is a direct result of the user logging in to a portal.
                highPriority = true;
                break;
            case NO_INTERNET:
                action = ConnectivityManager.ACTION_PROMPT_UNVALIDATED;
                // High priority because it is only displayed for explicitly selected networks.
@@ -3916,7 +3887,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
        }

        Intent intent = new Intent(action);
        if (type != NotificationType.LOGGED_IN && type != NotificationType.PRIVATE_DNS_BROKEN) {
        if (type != NotificationType.PRIVATE_DNS_BROKEN) {
            intent.setData(Uri.fromParts("netId", Integer.toString(nai.network.netId), null));
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setClassName("com.android.settings",
@@ -4132,9 +4103,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
                case EVENT_DATA_SAVER_CHANGED:
                    handleRestrictBackgroundChanged(toBool(msg.arg1));
                    break;
                case EVENT_TIMEOUT_NOTIFICATION:
                    mNotifier.clearNotification(msg.arg1, NotificationType.LOGGED_IN);
                    break;
            }
        }
    }
+0 −5
Original line number Diff line number Diff line
@@ -160,10 +160,6 @@ public class NetworkAgentInfo implements Comparable<NetworkAgentInfo> {
    // Whether a captive portal was found during the last network validation attempt.
    public boolean lastCaptivePortalDetected;

    // Indicates the captive portal app was opened to show a login UI to the user, but the network
    // has not validated yet.
    public volatile boolean captivePortalValidationPending;

    // Set to true when partial connectivity was detected.
    public boolean partialConnectivity;

@@ -638,7 +634,6 @@ public class NetworkAgentInfo implements Comparable<NetworkAgentInfo> {
                + "acceptUnvalidated{" + networkAgentConfig.acceptUnvalidated + "} "
                + "everCaptivePortalDetected{" + everCaptivePortalDetected + "} "
                + "lastCaptivePortalDetected{" + lastCaptivePortalDetected + "} "
                + "captivePortalValidationPending{" + captivePortalValidationPending + "} "
                + "partialConnectivity{" + partialConnectivity + "} "
                + "acceptPartialConnectivity{" + networkAgentConfig.acceptPartialConnectivity + "} "
                + "clat{" + clatd + "} "
+5 −14
Original line number Diff line number Diff line
@@ -51,7 +51,6 @@ public class NetworkNotificationManager {
        LOST_INTERNET(SystemMessage.NOTE_NETWORK_LOST_INTERNET),
        NETWORK_SWITCH(SystemMessage.NOTE_NETWORK_SWITCH),
        NO_INTERNET(SystemMessage.NOTE_NETWORK_NO_INTERNET),
        LOGGED_IN(SystemMessage.NOTE_NETWORK_LOGGED_IN),
        PARTIAL_CONNECTIVITY(SystemMessage.NOTE_NETWORK_PARTIAL_CONNECTIVITY),
        SIGN_IN(SystemMessage.NOTE_NETWORK_SIGN_IN),
        PRIVATE_DNS_BROKEN(SystemMessage.NOTE_NETWORK_PRIVATE_DNS_BROKEN);
@@ -114,14 +113,10 @@ public class NetworkNotificationManager {
        }
    }

    private static int getIcon(int transportType, NotificationType notifyType) {
        if (transportType != TRANSPORT_WIFI) {
            return R.drawable.stat_notify_rssi_in_range;
        }

        return notifyType == NotificationType.LOGGED_IN
            ? R.drawable.ic_wifi_signal_4
            : R.drawable.stat_notify_wifi_in_range;  // TODO: Distinguish ! from ?.
    private static int getIcon(int transportType) {
        return (transportType == TRANSPORT_WIFI)
                ? R.drawable.stat_notify_wifi_in_range :  // TODO: Distinguish ! from ?.
                R.drawable.stat_notify_rssi_in_range;
    }

    /**
@@ -185,7 +180,7 @@ public class NetworkNotificationManager {
        Resources r = mContext.getResources();
        final CharSequence title;
        final CharSequence details;
        int icon = getIcon(transportType, notifyType);
        int icon = getIcon(transportType);
        if (notifyType == NotificationType.NO_INTERNET && transportType == TRANSPORT_WIFI) {
            title = r.getString(R.string.wifi_no_internet,
                    WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID()));
@@ -235,9 +230,6 @@ public class NetworkNotificationManager {
                    details = r.getString(R.string.network_available_sign_in_detailed, name);
                    break;
            }
        } else if (notifyType == NotificationType.LOGGED_IN) {
            title = WifiInfo.sanitizeSsid(nai.networkCapabilities.getSSID());
            details = r.getString(R.string.captive_portal_logged_in_detailed);
        } else if (notifyType == NotificationType.NETWORK_SWITCH) {
            String fromTransport = getTransportName(transportType);
            String toTransport = getTransportName(approximateTransportType(switchToNai));
@@ -379,7 +371,6 @@ public class NetworkNotificationManager {
            case NETWORK_SWITCH:
                return 2;
            case LOST_INTERNET:
            case LOGGED_IN:
                return 1;
            default:
                return 0;
Loading