From 61e494012d0c9ea72a418189e75a163cf949e9ab Mon Sep 17 00:00:00 2001 From: Chiachang Wang Date: Mon, 3 Jun 2019 15:16:27 +0800 Subject: [PATCH] Re-notify if the network goes to PARTIAL. If NetworkMonitor detects partial connectivity before EVENT_PROMPT_UNVALIDATED arrives, show the partial connectivity notification immediately. Re-notify partial connectivity silently if no internet notification already there. Bug: 130683832 Bug: 130766237 Test: atest com.android.server.ConnectivityServiceTest Change-Id: I7d4eddc643ec795c3961097dc1bdd314d168f6c7 --- .../java/com/android/server/ConnectivityService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index dbee09450f..c64c2783da 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2661,6 +2661,17 @@ public class ConnectivityService extends IConnectivityManager.Stub NetworkAgent.CMD_REPORT_NETWORK_STATUS, (valid ? NetworkAgent.VALID_NETWORK : NetworkAgent.INVALID_NETWORK), 0, redirectUrlBundle); + + // If NetworkMonitor detects partial connectivity before + // EVENT_PROMPT_UNVALIDATED arrives, show the partial connectivity notification + // immediately. Re-notify partial connectivity silently if no internet + // notification already there. + if (!wasPartial && nai.partialConnectivity) { + // Remove delayed message if there is a pending message. + mHandler.removeMessages(EVENT_PROMPT_UNVALIDATED, nai.network); + handlePromptUnvalidated(nai.network); + } + if (wasValidated && !nai.lastValidated) { handleNetworkUnvalidated(nai); }