From e9911c28cfef07d352583358ce0da8ed33e05283 Mon Sep 17 00:00:00 2001 From: Bonian Chen Date: Tue, 5 May 2020 14:01:33 +0800 Subject: [PATCH] [Settings] Code refactor Code refactor. Bug: 141833767 Test: manual Merged-In: I3fa9dcc630b7612c1af3300024dee4f8deb6b308 Change-Id: I3fa9dcc630b7612c1af3300024dee4f8deb6b308 --- .../AbstractMobileNetworkSettings.java | 50 +++++++++++++++++++ .../telephony/MobileNetworkSettings.java | 48 ------------------ 2 files changed, 50 insertions(+), 48 deletions(-) diff --git a/src/com/android/settings/network/telephony/AbstractMobileNetworkSettings.java b/src/com/android/settings/network/telephony/AbstractMobileNetworkSettings.java index 889fbaec4e9..e92cdfcd9d1 100644 --- a/src/com/android/settings/network/telephony/AbstractMobileNetworkSettings.java +++ b/src/com/android/settings/network/telephony/AbstractMobileNetworkSettings.java @@ -16,6 +16,11 @@ package com.android.settings.network.telephony; +import android.text.TextUtils; + +import androidx.preference.Preference; +import androidx.preference.PreferenceScreen; + import com.android.settings.dashboard.RestrictedDashboardFragment; import com.android.settingslib.core.AbstractPreferenceController; @@ -27,6 +32,9 @@ abstract class AbstractMobileNetworkSettings extends RestrictedDashboardFragment private static final String LOG_TAG = "AbsNetworkSettings"; + private List mHiddenControllerList = + new ArrayList(); + /** * @param restrictionKey The restriction key to check before pin protecting * this settings page. Pass in {@link RESTRICT_IF_OVERRIDABLE} if it should @@ -50,4 +58,46 @@ abstract class AbstractMobileNetworkSettings extends RestrictedDashboardFragment .build(); } + @Override + public void onExpandButtonClick() { + final PreferenceScreen screen = getPreferenceScreen(); + mHiddenControllerList.stream() + .filter(controller -> controller.isAvailable()) + .forEach(controller -> { + final String key = controller.getPreferenceKey(); + final Preference preference = screen.findPreference(key); + controller.updateState(preference); + }); + super.onExpandButtonClick(); + } + + /* + * Replace design within {@link DashboardFragment#updatePreferenceStates()} + */ + @Override + protected void updatePreferenceStates() { + mHiddenControllerList.clear(); + + final PreferenceScreen screen = getPreferenceScreen(); + getPreferenceControllersAsList().forEach(controller -> { + final String key = controller.getPreferenceKey(); + if (TextUtils.isEmpty(key)) { + return; + } + final Preference preference = screen.findPreference(key); + if (preference == null) { + return; + } + if (!isPreferenceExpanded(preference)) { + mHiddenControllerList.add(controller); + return; + } + if (!controller.isAvailable()) { + return; + } + controller.updateState(preference); + }); + } + + } diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java index a9148dd2ef7..7c1c8dd2c58 100644 --- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java +++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java @@ -34,7 +34,6 @@ import android.view.MenuItem; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; -import androidx.preference.PreferenceScreen; import com.android.internal.telephony.TelephonyIntents; import com.android.settings.R; @@ -56,7 +55,6 @@ import com.android.settingslib.utils.ThreadUtils; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; @@ -86,8 +84,6 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings { private UserManager mUserManager; private String mClickedPrefKey; - private List mHiddenControllerList; - public MobileNetworkSettings() { super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS); } @@ -210,50 +206,6 @@ public class MobileNetworkSettings extends AbstractMobileNetworkSettings { onRestoreInstance(icicle); } - @Override - public void onExpandButtonClick() { - final PreferenceScreen screen = getPreferenceScreen(); - mHiddenControllerList.stream() - .filter(controller -> controller.isAvailable()) - .forEach(controller -> { - final String key = controller.getPreferenceKey(); - final Preference preference = screen.findPreference(key); - controller.updateState(preference); - }); - super.onExpandButtonClick(); - } - - /* - * Replace design within {@link DashboardFragment#updatePreferenceStates()} - */ - @Override - protected void updatePreferenceStates() { - mHiddenControllerList = new ArrayList(); - - final PreferenceScreen screen = getPreferenceScreen(); - final Collection> controllerLists = - getPreferenceControllers(); - controllerLists.stream().flatMap(Collection::stream) - .forEach(controller -> { - final String key = controller.getPreferenceKey(); - if (TextUtils.isEmpty(key)) { - return; - } - final Preference preference = screen.findPreference(key); - if (preference == null) { - return; - } - if (!isPreferenceExpanded(preference)) { - mHiddenControllerList.add(controller); - return; - } - if (!controller.isAvailable()) { - return; - } - controller.updateState(preference); - }); - } - @VisibleForTesting void onRestoreInstance(Bundle icicle) { if (icicle != null) {