Add "Speed & compatibility" preference to Wi-Fi hotspot Settings

- Show 4 speed types in summary
  - 2.4 Ghz
  - 5 Ghz
  - 2.4 and 5 GHz
  - 6 GHz

Bug: 245258763
Test: manual test
atest -c WifiTetherViewModelTest
atest -c WifiHotspotRepositoryTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest

Change-Id: I6deb41cb355b0ceb1f1fd2d84408a83b90433e7d
This commit is contained in:
Weng Su
2023-03-07 23:38:38 +08:00
parent ebf06975e3
commit bcca5ebf1a
10 changed files with 690 additions and 1 deletions

View File

@@ -41,6 +41,8 @@ import android.util.FeatureFlagUtils;
import android.widget.TextView;
import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.ViewModelStoreOwner;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import androidx.test.core.app.ApplicationProvider;
@@ -49,6 +51,8 @@ import com.android.settings.core.FeatureFlags;
import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settings.wifi.factory.WifiFeatureProvider;
import com.android.settings.wifi.repository.WifiHotspotRepository;
import org.junit.Before;
import org.junit.Rule;
@@ -90,6 +94,10 @@ public class WifiTetherSettingsTest {
private PreferenceScreen mPreferenceScreen;
@Mock
private TextView mEmptyTextView;
@Mock
WifiTetherViewModel mWifiTetherViewModel;
@Mock
WifiHotspotRepository mWifiHotspotRepository;
private WifiTetherSettings mWifiTetherSettings;
@@ -106,6 +114,11 @@ public class WifiTetherSettingsTest {
when(mWifiRestriction.isTetherAvailable(mContext)).thenReturn(true);
when(mWifiRestriction.isHotspotAvailable(mContext)).thenReturn(true);
WifiFeatureProvider provider = FakeFeatureFactory.setupForTest().getWifiFeatureProvider();
when(provider.getWifiHotspotRepository()).thenReturn(mWifiHotspotRepository);
when(provider.getWifiTetherViewModel(mock(ViewModelStoreOwner.class)))
.thenReturn(mWifiTetherViewModel);
mWifiTetherSettings = new WifiTetherSettings(mWifiRestriction);
}
@@ -142,6 +155,16 @@ public class WifiTetherSettingsTest {
verify(mEmptyTextView).setText(anyInt());
}
@Test
public void onSpeedSummaryChanged_canNotShowWifiHotspot_returnFalse() {
int stringResId = R.string.wifi_hotspot_speed_6g_summary;
mWifiTetherSettings.mWifiHotspotSpeed = mock(Preference.class);
mWifiTetherSettings.onSpeedSummaryChanged(stringResId);
verify(mWifiTetherSettings.mWifiHotspotSpeed).setSummary(stringResId);
}
@Test
public void createPreferenceControllers_getPreferenceControllersNotEmpty() {
assertThat(WifiTetherSettings.SEARCH_INDEX_DATA_PROVIDER.getPreferenceControllers(mContext))