From 91bcc2b594edf0aa2a477dd7dae4388ab32c95cf Mon Sep 17 00:00:00 2001 From: tomhsu Date: Mon, 8 Apr 2024 07:35:24 +0000 Subject: [PATCH] Listen wifi entry change to make sure UI correct. Bug: 319905522 Test: make pass. Test: atest pass. Change-Id: I0900caf6521bd9a250e85863f48e39668734f1be --- .../NetworkMobileProviderController.java | 7 ----- .../network/NetworkProviderSettings.java | 4 --- .../SubscriptionsPreferenceController.java | 27 ++++++++++++++++--- ...SubscriptionsPreferenceControllerTest.java | 2 +- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/com/android/settings/network/NetworkMobileProviderController.java b/src/com/android/settings/network/NetworkMobileProviderController.java index e0db395caf4..8d9d353b736 100644 --- a/src/com/android/settings/network/NetworkMobileProviderController.java +++ b/src/com/android/settings/network/NetworkMobileProviderController.java @@ -24,7 +24,6 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import com.android.settings.core.BasePreferenceController; -import com.android.settings.wifi.WifiPickerTrackerHelper; import com.android.settingslib.core.lifecycle.Lifecycle; /** @@ -117,12 +116,6 @@ public class NetworkMobileProviderController extends BasePreferenceController im mPreferenceCategory.setVisible(available); } - public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) { - if (mSubscriptionsController != null) { - mSubscriptionsController.setWifiPickerTrackerHelper(helper); - } - } - /** * Hides the preference. */ diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java index 0bc426c9887..d45447ddcbb 100644 --- a/src/com/android/settings/network/NetworkProviderSettings.java +++ b/src/com/android/settings/network/NetworkProviderSettings.java @@ -477,10 +477,6 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment mOpenSsid = intent.getStringExtra(EXTRA_START_CONNECT_SSID); } - if (mNetworkMobileProviderController != null) { - mNetworkMobileProviderController.setWifiPickerTrackerHelper(mWifiPickerTrackerHelper); - } - requireActivity().addMenuProvider(mMenuProvider); } diff --git a/src/com/android/settings/network/SubscriptionsPreferenceController.java b/src/com/android/settings/network/SubscriptionsPreferenceController.java index 09ce02ee194..d9a64646aef 100644 --- a/src/com/android/settings/network/SubscriptionsPreferenceController.java +++ b/src/com/android/settings/network/SubscriptionsPreferenceController.java @@ -68,6 +68,7 @@ import com.android.settingslib.mobile.MobileMappings.Config; import com.android.settingslib.mobile.TelephonyIcons; import com.android.settingslib.net.SignalStrengthUtil; import com.android.wifitrackerlib.WifiEntry; +import com.android.wifitrackerlib.WifiPickerTracker; import java.util.Collections; import java.util.List; @@ -82,7 +83,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl LifecycleObserver, SubscriptionsChangeListener.SubscriptionsChangeListenerClient, MobileDataEnabledListener.Client, DataConnectivityListener.Client, SignalStrengthListener.Callback, TelephonyDisplayInfoListener.Callback, - TelephonyCallback.CarrierNetworkListener { + TelephonyCallback.CarrierNetworkListener, WifiPickerTracker.WifiPickerTrackerCallback { private static final String TAG = "SubscriptionsPrefCntrlr"; private UpdateListener mUpdateListener; @@ -95,7 +96,8 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl private DataConnectivityListener mConnectivityListener; private SignalStrengthListener mSignalStrengthListener; private TelephonyDisplayInfoListener mTelephonyDisplayInfoListener; - private WifiPickerTrackerHelper mWifiPickerTrackerHelper; + @VisibleForTesting + WifiPickerTrackerHelper mWifiPickerTrackerHelper; private final WifiManager mWifiManager; private boolean mCarrierNetworkChangeMode; @@ -163,6 +165,7 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl mSignalStrengthListener = new SignalStrengthListener(context, this); mTelephonyDisplayInfoListener = new TelephonyDisplayInfoListener(context, this); lifecycle.addObserver(this); + mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(lifecycle, context, this); mSubsPrefCtrlInjector = createSubsPrefCtrlInjector(); mConfig = mSubsPrefCtrlInjector.getConfig(mContext); } @@ -485,8 +488,24 @@ public class SubscriptionsPreferenceController extends AbstractPreferenceControl update(); } - public void setWifiPickerTrackerHelper(WifiPickerTrackerHelper helper) { - mWifiPickerTrackerHelper = helper; + @Override + public void onNumSavedNetworksChanged() { + //Do nothing + } + + @Override + public void onNumSavedSubscriptionsChanged() { + //Do nothing + } + + @Override + public void onWifiStateChanged() { + update(); + } + + @Override + public void onWifiEntriesChanged() { + update(); } @VisibleForTesting diff --git a/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java index 58a3f3a1d85..c443b230f5f 100644 --- a/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java @@ -165,7 +165,7 @@ public class SubscriptionsPreferenceControllerTest { mController = new FakeSubscriptionsPreferenceController(mContext, mLifecycle, mUpdateListener, KEY, 5); Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0); - mController.setWifiPickerTrackerHelper(mWifiPickerTrackerHelper); + mController.mWifiPickerTrackerHelper = mWifiPickerTrackerHelper; } @After