Fine-tune launch time in Network & Internet settings

- Avoid creating WifiPickerTracker if Hotspot network feature is not enabled

Fix: 312905628
Test: unit test
atest -c InternetPreferenceControllerTest

Change-Id: I5818698ce06244aa7660e90a5f2fd372a3a221bf
This commit is contained in:
Weng Su
2023-11-28 06:45:19 +08:00
parent 958a6ab7aa
commit 129ff9b8fe
2 changed files with 15 additions and 1 deletions

View File

@@ -43,6 +43,7 @@ import com.android.settings.R;
import com.android.settings.widget.SummaryUpdater;
import com.android.settings.wifi.WifiPickerTrackerHelper;
import com.android.settings.wifi.WifiSummaryUpdater;
import com.android.settings.wifi.repository.SharedConnectivityRepository;
import com.android.settingslib.Utils;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
@@ -77,6 +78,7 @@ public class InternetPreferenceController extends AbstractPreferenceController i
private List<SubscriptionInfoEntity> mSubInfoEntityList = new ArrayList<>();
private int mDefaultDataSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
private boolean mIsHotspotNetworkEnabled = SharedConnectivityRepository.isDeviceConfigEnabled();
@VisibleForTesting
WifiPickerTrackerHelper mWifiPickerTrackerHelper;
@@ -111,7 +113,9 @@ public class InternetPreferenceController extends AbstractPreferenceController i
mLifecycleOwner = lifecycleOwner;
mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
if (mIsHotspotNetworkEnabled) {
mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(lifecycle, context, this);
}
lifecycle.addObserver(this);
}
@@ -162,6 +166,9 @@ public class InternetPreferenceController extends AbstractPreferenceController i
@VisibleForTesting
boolean updateHotspotNetwork() {
if (mWifiPickerTrackerHelper == null) {
return false;
}
WifiEntry entry = mWifiPickerTrackerHelper.getWifiPickerTracker().getConnectedWifiEntry();
if (!(entry instanceof HotspotNetworkEntry)) {
return false;

View File

@@ -298,4 +298,11 @@ public class InternetPreferenceControllerTest {
assertThat(mPreference.getSummary().toString()).isEqualTo(TEST_SUMMARY);
}
@Test
public void updateHotspotNetwork_hotspotNetworkNotEnabled_returnFalse() {
mController.mWifiPickerTrackerHelper = null;
assertThat(mController.updateHotspotNetwork()).isFalse();
}
}