Merge "Add config value to switch between Tether Settings UIs."

This commit is contained in:
Zhen Zhang
2020-01-23 07:07:09 +00:00
committed by Android (Google) Code Review
6 changed files with 35 additions and 7 deletions

View File

@@ -434,4 +434,7 @@
<!-- Package name of dialer supports RTT setting-->
<string name="config_rtt_setting_package_name" translatable="false"></string>
<!--Whether tether settings should be shown in one screen or not-->
<bool name="config_show_all_in_one_tether_settings">false</bool>
</resources>

View File

@@ -201,7 +201,7 @@ public final class AllInOneTetherSettings extends RestrictedDashboardFragment
// Assume we are in a SettingsActivity. This is only safe because we currently use
// SettingsActivity as base for all preference fragments.
final SettingsActivity activity = (SettingsActivity) getActivity();
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if (adapter != null) {
adapter.getProfileProxy(activity.getApplicationContext(), mProfileServiceListener,
BluetoothProfile.PAN);
@@ -404,6 +404,12 @@ public final class AllInOneTetherSettings extends RestrictedDashboardFragment
return keys;
}
@Override
protected boolean isPageSearchEnabled(Context context) {
return context.getResources().getBoolean(
R.bool.config_show_all_in_one_tether_settings);
}
@Override
public List<AbstractPreferenceController> createPreferenceControllers(
Context context) {

View File

@@ -450,6 +450,12 @@ public class TetherSettings extends RestrictedSettingsFragment
return Arrays.asList(sir);
}
@Override
protected boolean isPageSearchEnabled(Context context) {
return !context.getResources().getBoolean(
R.bool.config_show_all_in_one_tether_settings);
}
@Override
public List<String> getNonIndexableKeys(Context context) {
final List<String> keys = super.getNonIndexableKeys(context);

View File

@@ -109,6 +109,10 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
// Grey out if provisioning is not available.
mPreference.setEnabled(!TetherSettings.isProvisioningNeededButUnavailable(mContext));
if (mContext.getResources().getBoolean(R.bool.config_show_all_in_one_tether_settings)) {
mPreference.setFragment("com.android.settings.AllInOneTetherSettings");
}
}
}

View File

@@ -257,6 +257,12 @@ public class WifiTetherSettings extends RestrictedDashboardFragment
return keys;
}
@Override
protected boolean isPageSearchEnabled(Context context) {
return !context.getResources().getBoolean(
R.bool.config_show_all_in_one_tether_settings);
}
@Override
public List<AbstractPreferenceController> createPreferenceControllers(
Context context) {

View File

@@ -69,18 +69,21 @@ public class AllInOneTetherSettingsTest {
}
@Test
public void getNonIndexableKeys_tetherAvailable_keysNotReturned() {
public void getNonIndexableKeys_tetherAvailable_keysReturned() {
// To let TetherUtil.isTetherAvailable return true, select one of the combinations
setupIsTetherAvailable(true);
final List<String> niks =
AllInOneTetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_AP_BAND);
assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_TETHER_PREFS_SCREEN);
// TODO(b/147675042) Should revert these assertions, after switching to new UI.
// Because of the config check, we are not indexing these keys. Once we enable the config
// these assert would also need to change.
assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_AP_BAND);
assertThat(niks).contains(AllInOneTetherSettings.KEY_TETHER_PREFS_SCREEN);
}
@Test