[Wi-Fi] Fix EntityHeader signal strength icon invisible problem

WifiDetailPreferenceController2#onUpdated() triggers each controller
to displayPreference(PreferenceScreen screen) for visibility
updating. However, WifiDetailPreferenceController2 is a much
complex controller which should controll it's components visibility
by itself.

Bug: 152886237
Test: manual visual
      Observe EntityHeader signal strength icon UI display.
Change-Id: I80a8341ae051f21410070a81e01716eb49d2c8da
This commit is contained in:
Arc Wang
2020-04-06 16:36:04 +08:00
parent 75d6c9fce3
commit 62e3a8276e

View File

@@ -235,6 +235,13 @@ public class WifiNetworkDetailsFragment2 extends DashboardFragment implements
public void refreshPreferences() { public void refreshPreferences() {
final PreferenceScreen screen = getPreferenceScreen(); final PreferenceScreen screen = getPreferenceScreen();
for (AbstractPreferenceController controller : mControllers) { for (AbstractPreferenceController controller : mControllers) {
// WifiDetailPreferenceController2 gets the callback WifiEntryCallback#onUpdated,
// it can control the visibility change by itself.
// And WifiDetailPreferenceController2#updatePreference renew mEntityHeaderController
// instance which will cause icon reset.
if (controller instanceof WifiDetailPreferenceController2) {
continue;
}
controller.displayPreference(screen); controller.displayPreference(screen);
} }
} }