[Wi-Fi] Add STA+AP information in Hotspot & tethering footer

Use WifiManager#isStaApConcurrencySupported() to check if a
device supports STA+AP and shows the footer information.

Bug: 121328949
Test: make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
      make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherFooterPreferenceControllerTest
Change-Id: I3446abb5cc9cdf76da8d17f5de31bd65715c165c
This commit is contained in:
Arc Wang
2020-03-04 21:03:54 +08:00
parent be753c3543
commit 005fe6951c
12 changed files with 190 additions and 3 deletions

View File

@@ -31,6 +31,7 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.hardware.usb.UsbManager;
import android.net.ConnectivityManager;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
@@ -71,6 +72,8 @@ public class TetherSettings extends RestrictedSettingsFragment
@VisibleForTesting
static final String KEY_ENABLE_BLUETOOTH_TETHERING = "enable_bluetooth_tethering";
private static final String KEY_DATA_SAVER_FOOTER = "disabled_on_data_saver";
@VisibleForTesting
static final String KEY_TETHER_PREFS_FOOTER = "tether_prefs_footer";
private static final String TAG = "TetheringSettings";
@@ -141,6 +144,7 @@ public class TetherSettings extends RestrictedSettingsFragment
mUsbTether = (SwitchPreference) findPreference(KEY_USB_TETHER_SETTINGS);
mBluetoothTether = (SwitchPreference) findPreference(KEY_ENABLE_BLUETOOTH_TETHERING);
setFooterPreferenceTitle();
mDataSaverBackend.addListener(this);
@@ -201,6 +205,18 @@ public class TetherSettings extends RestrictedSettingsFragment
public void onBlacklistStatusChanged(int uid, boolean isBlacklisted) {
}
@VisibleForTesting
void setFooterPreferenceTitle() {
final Preference footerPreference = findPreference(KEY_TETHER_PREFS_FOOTER);
final WifiManager wifiManager =
(WifiManager) getContext().getSystemService(Context.WIFI_SERVICE);
if (wifiManager.isStaApConcurrencySupported()) {
footerPreference.setTitle(R.string.tethering_footer_info_sta_ap_concurrency);
} else {
footerPreference.setTitle(R.string.tethering_footer_info);
}
}
private class TetherChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context content, Intent intent) {