From 5e0c60d2ac8d0ede4f372a85e700de2a3098b2cf Mon Sep 17 00:00:00 2001 From: Amin Shaikh Date: Tue, 28 Mar 2017 11:41:32 -0700 Subject: [PATCH] Remove delayed processing of UI events in onStop Bug: 36682492 Test: manually; test tracking in b/36403635 Change-Id: Ia369cd61a6473ae2af4891cf6b923900504921c1 --- .../android/settings/wifi/WifiSettings.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index e9204f9f9a2..af4d8f8dd56 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -115,6 +115,13 @@ public class WifiSettings extends RestrictedSettingsFragment private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_settings"; private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks"; + private final Runnable mUpdateAccessPointsRunnable = () -> { + updateAccessPointPreferences(); + }; + private final Runnable mHideProgressBarRunnable = () -> { + setProgressBarVisible(false); + }; + protected WifiManager mWifiManager; private WifiManager.ActionListener mConnectListener; private WifiManager.ActionListener mSaveListener; @@ -360,8 +367,10 @@ public class WifiSettings extends RestrictedSettingsFragment @Override public void onStop() { - super.onStop(); mWifiTracker.stopTracking(); + getView().removeCallbacks(mUpdateAccessPointsRunnable); + getView().removeCallbacks(mHideProgressBarRunnable); + super.onStop(); } @Override @@ -625,9 +634,7 @@ public class WifiSettings extends RestrictedSettingsFragment case WifiManager.WIFI_STATE_ENABLED: setProgressBarVisible(true); // Have the progress bar displayed before starting to modify APs - getView().postDelayed(() -> { - updateAccessPointPreferences(); - }, 300 /* delay milliseconds */); + getView().postDelayed(mUpdateAccessPointsRunnable, 300 /* delay milliseconds */); break; case WifiManager.WIFI_STATE_ENABLING: @@ -705,9 +712,7 @@ public class WifiSettings extends RestrictedSettingsFragment mAccessPointsPreferenceCategory.addPreference(pref); } else { // Continuing showing progress bar for an additional delay to overlap with animation - getView().postDelayed(() -> { - setProgressBarVisible(false); - }, 1700 /* delay millis */); + getView().postDelayed(mHideProgressBarRunnable, 1700 /* delay millis */); } }