- Due to the design adjustment, the default value of SoftApConfiguration is not Security None, so the update of Security None cannot be omitted.
Bug: 283762826
Test: Manual test
atest -c WifiTetherSettingsTest
Change-Id: I07d18b8f73ab8190152332c01814a4bd72cf28d6
- Use current SoftApConfiguration to build new SoftApConfiguration to keep unchanged properties
Bug: 279717060
Test: manual test
atest -c WifiTetherSettingsTest
Change-Id: I3ee7960b13b339445cc79c3d440f5c56c78c015f
- When the Wi-Fi Hotspot is already started, if the user changes the configuration, the Wi-Fi Hotspot will be restarted automatically.
- When the Wi-Fi hotspot restarts, display a circle on the screen to indicate that it is processing.
Bug: 245258763
Test: manual test
atest -c WifiTetherSettingsTest \
WifiHotspotSpeedSettingsTest
atest -c WifiHotspotRepositoryTest \
WifiHotspotSecuritySettingsTest \
WifiHotspotSecurityViewModelTest \
WifiHotspotSpeedViewModelTest \
WifiTetherViewModelTest
Change-Id: I6fdd5892916703095f28d0589ebc3b7dd59fcd61
- Fallback to the "Extended Compatibility" design when the following conditions occur
- 5 GHz band is not supported on the device
- 5 GHz SAP available channels cannot be obtained from WifiManager
- 6 GHz SAP available channels cannot be obtained from WifiManager
Bug: 272450463
Test: manual test
atest -c WifiTetherSettingsTest
atest -c WifiTetherViewModelTest \
WifiHotspotRepositoryTest \
WifiTetherSecurityPreferenceControllerTest.java \
WifiTetherMaximizeCompatibilityPreferenceControllerTest
Change-Id: If7c8c41ebe86f5e7d8e4737ab7a82d38c9d633de
- Restrict low security type when 6 GHz band is selected
- Disable "WPA2/WPA3-Personal" security type
- Disable "WPA2-Personal" security type
- Disable "None" security type
- Automatically updated security type to WPA3 when 6 GHz band is selected
- Regenerate password when security type is changed from None
Bug: 245258763
Test: manual test
atest -c WifiTetherSettingsTest
atest -c WifiTetherViewModelTest \
WifiHotspotSecuritySettingsTest \
WifiHotspotSecurityViewModelTest \
WifiHotspotRepositoryTest
Change-Id: I31b08795419baed10dc40b876aeec175f6f41e69
- Show each band option individually in single-band devices
- Show "2.4 and 5GHz" combined option in dual-band devices
- Disable 5 GHz option if the device is in the restricted country
- Disable 6 GHz option if the device is in the restricted country
- Hide 6 GHz option if the old device does not support 6 GHz band.
Bug: 245258763
Test: manual test
atest -c WifiHotspotSpeedSettingsTest
atest -c WifiHotspotSpeedViewModelTest \
WifiHotspotRepositoryTest
Change-Id: I358d4ff8d62df72fd5080e55f40d588c238d01fb
- Query the last Hotspot password when security type is SECURITY_TYPE_OPEN and it will be used when the user changes to another security type
- If the last hotspot password is an empty string, then generate random password
Bug: 201789473
Test: manual test
atest -c WifiHotspotRepositoryTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPasswordPreferenceControllerTest
Change-Id: Id3a846099238433e7b6c8b934fa26a74df0dcb61
- Add Wi-Fi hotspot toggle with vertical divider
- Disable preference and toggle when Data Saver is enabled
Bug: 245569117
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
atest -c TetheringManagerModelTest
Change-Id: Ic2baf7d3d0a7bf9527da38d24ecc511b7c91265a
- Declare the service callback as static class and use WeakReference to avoid the callback link being occupied
- Use application context instead of fragment context to avoid context being occupied by external modules
Bug: 237273138
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
Change-Id: Icca145b8ef08b9949feafbbd4e761f8d50c99181
The intent WIFI_AP_STATE_CHANGED_ACTION is not sticky intent after
SC-V2, query wifi ap state and run intent handling after registering intent.
Bug: 231214355
Test: make RunSettingsRoboTests ROBOTEST_FILTER=Hotspot
Test: make RunSettingsRoboTests ROBOTEST_FILTER=Tether
Test: Manual test, the state shows correctly even if resume hotspot settings page from recent app.
Change-Id: Iab6b2b8628d725b003d5e5c4086420a329611745
When AP config is changed, setting of "TurnOff hotspot automatically"
will be reset to default. Hence keep the setting when AP config changed.
Keep setting of whether auto shut down is enabled when AP
config changed.
Co-authored-by: Fangxiao Cao <fangxiao.x.cao@sony.com>
Test: manual test
Bug: 235370570
Change-Id: Ibd3d59b6a86edaf1253a2c9b035576e60a7beb96
- If Wi-Fi tethering is enabled or enabling, avoid to startTethering again.
- If Wi-Fi tethering is disabled or disabling, avoid to stopTethering again.
- Add more logs to know which module stopped Tethering.
Bug: 230457055
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSwitchBarControllerTest
Change-Id: I51d42ac0117d935ecaa9fa7312acc646b43d3593
- Remove Wi-Fi hotspot preferences in settings search if Wi-Fi hotspot is disallowed
- See the result screenshot in b/203168953#comment12
Bug: 203168953
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest
Change-Id: Id4416fd0659b596e4e6f31890a139198219f4552
- Refine WifiTetherPreferenceController
- See the result screenshot in b/203168953#comment8
Bug: 203168953
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiTetherPreferenceControllerTest
Change-Id: If094178eb0cd9ccf20ff3899dc4b087b45c66f6b
- WiFi tethering settings currently listeners two sets of WiFi tethering
state from framework at the same time, There is a timing issue when
the deprecated callback is sent earlier than the available callback,
it will cause WiFi tethering settings to start tethering twice in a
short period of time, causing the WiFi framework to respond with a
startup error.
- Remove redundant obsolete WiFi tethering state listener to avoid
WiFi tethering startup error.
Bug: 227719584
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTetherSettingsTest
Change-Id: I59cb5222acb763f630fb621250d7740a240bbd92
- Filter out unnecessary onSwitchChanged callbacks when the switch is
disabled, which should not be triggered by user input.
- Refine the state handling function to avoid unnecessary
onSwitchChanged callback.
- Refine the error handling of isHotspotPasswordValid function.
Bug: 227719584
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiTetherSwitchBarControllerTest
Change-Id: If62aaadc8ddb214769b1367d7801b6125bb5377c
- The Wi-Fi hotspot switch only handles the click event from the UI.
- Use the onSwitchChanged callback to handle click and swipe events.
Bug: 218891956
Test: manual test
make RunSettingsRoboTests \
ROBOTEST_FILTER=WifiTetherSwitchBarControllerTest
Change-Id: Ie4136443845489be295a8ee0f3058f493a3b5829
- Use MessageFormat instead of getQuantityString().
Bug: 199229953
Test: manual test
See b/199229953#comment2 for a screenshot result.
Change-Id: I4fc9cecc83f503203ec5dbc1af638036d7026e07
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting T or later
registering a receiver for non-system broadcasts must specify either
the exported or not exported flag when invoking #registerReceiver;
if one of these flags is not provided, the platform will throw a
SecurityException. This commit updates all the exposed receivers
with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing
behavior of exporting the receiver while also flagging the receiver
for audit before the T release.
Bug: 161145287
Test: Build
Change-Id: Ie97372efebd8258d9a4c503771d55109a85e6ae9
Security option index values are currently converted using
toBinaryString() which converts indexes to binary String. Thus
index values doesn't match the expected Security config values in
SoftApConfiguration.
This commit uses toString() API to avoid index mismatch.
Bug: 197497991
Test: manual test
atest -c WifiTetherSecurityPreferenceControllerTest
Change-Id: I43d236d071a8141845f312c63b1a693fde254358
Since the broadcast receiver in question is permission protected we will add a RECEIVER_EXPORTED flag to make this receiver compatible with Android T+.
Change-Id: Ib6453b47641a32796e202f4f9e37099c36b6c683
Test:no-op
Bug:161145287
- Use the same service name(WifiManager.class) to mock
WifiManager.class
- Use the same service name(TetheringManager.class) to mock
TetheringManager.class
Bug: 184018452
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiTether
Change-Id: I64741818d3455154866097f83e3a96c1c510e23b
- The return value defined by the Wi-Fi framework API is opposite to the
UI
Compatibility on: isBridgedModeOpportunisticShutdownEnabled() = false
Compatibility off: isBridgedModeOpportunisticShutdownEnabled() = true
- Need to use the reverse value from Settings UI to the Wi-Fi framework API.
Bug: 183576049
Test: manual test
atest -c WifiTetherMaximizeCompatibilityPreferenceControllerTest
Change-Id: I731156806661bfbca14e7eaaa648a205a3d77b74
Add getSystemService(Class<T>) to align the capability with framework
part.
This is a back port from aosp/1639943, aosp/1645152 and aosp/1648047
Bug: 179640862
Test: local
Change-Id: I035db55a71f94000ca35f8d71f03c19208423c73
Connectivity is becoming a mainline module in S, so
ConnectivityManager hidden symbols can not be used for outside
components. Besides, most Tethering relevant methods or variables
on CM are migrated to TetheringManager. So replace all these
methods or variables from ConnectivityManager to TetheringManager
on Settings.
Bug: 180693313
Test: make RunSettingsRoboTests ROBOTEST_FILTER=<Modified Test>
Change-Id: Iba4b121a4ddf3f04252aa0355e0e6494a593682a
To log Settings metrics, the MainSwitch extends MainSwitchBar and
replace the SwitchBar in SettingsActivity.
Bug: 175181773
Test: Run robotest and apply the widget in Settings and see the ui
Change-Id: I3add3702e9058ad9192b5172c7cf0e2ccfb55a70
- The SW (Swahili) language is used for a different noun class and is
inappropriate in the context.
- Need to separate different strings for specific situations.
- Use new strings from SettingsLib resource
Bug: 168801172
Bug: 168733667
Test: Manual test
Change-Id: I0e0a688f54ca2ee1b4cd5049c7e0f3ff3112b127