Loading src/com/android/settings/network/NetworkProviderSettings.java +9 −31 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.net.NetworkTemplate; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.Handler; import android.os.PowerManager; import android.os.UserHandle; import android.os.UserManager; Loading Loading @@ -184,7 +183,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } }; private boolean mIsWifiEntryListStale = true; @VisibleForTesting final Runnable mUpdateWifiEntryPreferencesRunnable = () -> { updateWifiEntryPreferences(); Loading Loading @@ -536,7 +534,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @Override public void onStop() { mIsWifiEntryListStale = true; getView().removeCallbacks(mRemoveLoadingRunnable); getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable); getView().removeCallbacks(mHideProgressBarRunnable); Loading Loading @@ -878,6 +875,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } } @Override public void onScanRequested() { setProgressBarVisible(true); } @VisibleForTesting void setWifiScanMessage(boolean isWifiEnabled) { final Context context = getContext(); Loading Loading @@ -908,12 +910,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } @Override public void onWifiEntriesChanged() { if (mIsWifiEntryListStale) { mIsWifiEntryListStale = false; public void onWifiEntriesChanged(@WifiPickerTracker.WifiEntriesChangedReason int reason) { updateWifiEntryPreferences(); } else { updateWifiEntryPreferencesDelayed(); if (reason == WifiPickerTracker.WIFI_ENTRIES_CHANGED_REASON_SCAN_RESULTS) { setProgressBarVisible(false); } changeNextButtonState(mWifiPickerTracker != null && mWifiPickerTracker.getConnectedWifiEntry() != null); Loading Loading @@ -950,24 +950,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment setAdditionalSettingsSummaries(); } /** * Updates WifiEntries from {@link WifiPickerTracker#getWifiEntries()}. Adds a delay to have * progress bar displayed before starting to modify entries. */ private void updateWifiEntryPreferencesDelayed() { // Safeguard from some delayed event handling if (getActivity() != null && !mIsRestricted && mWifiPickerTracker != null && mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED) { final View view = getView(); final Handler handler = view.getHandler(); if (handler != null && handler.hasCallbacks(mUpdateWifiEntryPreferencesRunnable)) { return; } setProgressBarVisible(true); view.postDelayed(mUpdateWifiEntryPreferencesRunnable, 300); } } protected void updateWifiEntryPreferences() { // bypass the update if the activity and the view are not ready, or it's restricted UI. if (getActivity() == null || getView() == null || mIsRestricted) { Loading Loading @@ -1050,16 +1032,12 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment removeCachedPrefs(mWifiEntryPreferenceCategory); if (!hasAvailableWifiEntries) { setProgressBarVisible(true); Preference pref = new Preference(getPrefContext()); pref.setSelectable(false); pref.setSummary(R.string.wifi_empty_list_wifi_on); pref.setOrder(index++); pref.setKey(PREF_KEY_EMPTY_WIFI_LIST); mWifiEntryPreferenceCategory.addPreference(pref); } else { // Continuing showing progress bar for an additional delay to overlap with animation getView().postDelayed(mHideProgressBarRunnable, 1700 /* delay millis */); } mAddWifiNetworkPreference.setOrder(index++); Loading Loading
src/com/android/settings/network/NetworkProviderSettings.java +9 −31 Original line number Diff line number Diff line Loading @@ -32,7 +32,6 @@ import android.net.NetworkTemplate; import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.Handler; import android.os.PowerManager; import android.os.UserHandle; import android.os.UserManager; Loading Loading @@ -184,7 +183,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } }; private boolean mIsWifiEntryListStale = true; @VisibleForTesting final Runnable mUpdateWifiEntryPreferencesRunnable = () -> { updateWifiEntryPreferences(); Loading Loading @@ -536,7 +534,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment @Override public void onStop() { mIsWifiEntryListStale = true; getView().removeCallbacks(mRemoveLoadingRunnable); getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable); getView().removeCallbacks(mHideProgressBarRunnable); Loading Loading @@ -878,6 +875,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } } @Override public void onScanRequested() { setProgressBarVisible(true); } @VisibleForTesting void setWifiScanMessage(boolean isWifiEnabled) { final Context context = getContext(); Loading Loading @@ -908,12 +910,10 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } @Override public void onWifiEntriesChanged() { if (mIsWifiEntryListStale) { mIsWifiEntryListStale = false; public void onWifiEntriesChanged(@WifiPickerTracker.WifiEntriesChangedReason int reason) { updateWifiEntryPreferences(); } else { updateWifiEntryPreferencesDelayed(); if (reason == WifiPickerTracker.WIFI_ENTRIES_CHANGED_REASON_SCAN_RESULTS) { setProgressBarVisible(false); } changeNextButtonState(mWifiPickerTracker != null && mWifiPickerTracker.getConnectedWifiEntry() != null); Loading Loading @@ -950,24 +950,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment setAdditionalSettingsSummaries(); } /** * Updates WifiEntries from {@link WifiPickerTracker#getWifiEntries()}. Adds a delay to have * progress bar displayed before starting to modify entries. */ private void updateWifiEntryPreferencesDelayed() { // Safeguard from some delayed event handling if (getActivity() != null && !mIsRestricted && mWifiPickerTracker != null && mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED) { final View view = getView(); final Handler handler = view.getHandler(); if (handler != null && handler.hasCallbacks(mUpdateWifiEntryPreferencesRunnable)) { return; } setProgressBarVisible(true); view.postDelayed(mUpdateWifiEntryPreferencesRunnable, 300); } } protected void updateWifiEntryPreferences() { // bypass the update if the activity and the view are not ready, or it's restricted UI. if (getActivity() == null || getView() == null || mIsRestricted) { Loading Loading @@ -1050,16 +1032,12 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment removeCachedPrefs(mWifiEntryPreferenceCategory); if (!hasAvailableWifiEntries) { setProgressBarVisible(true); Preference pref = new Preference(getPrefContext()); pref.setSelectable(false); pref.setSummary(R.string.wifi_empty_list_wifi_on); pref.setOrder(index++); pref.setKey(PREF_KEY_EMPTY_WIFI_LIST); mWifiEntryPreferenceCategory.addPreference(pref); } else { // Continuing showing progress bar for an additional delay to overlap with animation getView().postDelayed(mHideProgressBarRunnable, 1700 /* delay millis */); } mAddWifiNetworkPreference.setOrder(index++); Loading