Commit Graph

7 Commits

Author SHA1 Message Date
Weng Su
086d062cb2 Fix TetherSettings crash issue
- When the user is a guest user, the UI will remove all preferences to restrict setting changes. If the ViewModel updates the UI in this situation, it will cause Settings to crash.
  - Avoid to setup ViewModel when UI is restricted

Bug: 284435378
Test: Manual test
atest -c TetherSettingsTest

Change-Id: I52d4ea717c34eacc9cc2321e3950dc89408049f8
2023-05-31 20:38:36 +08:00
Chaohui Wang
3988d11ddd Fix Bluetooth tethering toggle status
The mBluetoothPan is updated async, toggle status is set before data
loaded.

Refresh the status after load to fix this issue.

Fix: 272525310
Test: Manually when Bluetooth tethering is on
Change-Id: Ia306f3648ba8d32a63a8ec6c72260f7f43b830bc
2023-05-12 09:47:40 +00:00
Hieu Dang
12fc50ca3b Check availability on start for TetherSettings
mUnavailable variable is only assigned when creating the activity. This make the app crash when we disable tethering and then resume + toggle on the Bluetooth Tethering. This cl remove the variable and directly check whenever the app start.

Bug: 270285631
Test: manual
Change-Id: I0dff1d11cbcc06816a69985f96eee828bb83e87c
2023-03-31 05:30:44 +00:00
Weng Su
f779e6c9d3 Add toggle for Wi-Fi hotspot
- 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
2023-01-13 08:52:54 +08:00
Weng Su
a396a4d8b9 Refine TetherSettings with ViewModel
- Use ViewModel to handle the TetheringManager's lifecycle.

- Use LiveData to observe TetheredInterfaces's changes instead of callbacks.

Bug: 246531382
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
atest -c TetheringManagerModelTest

Change-Id: Ib1a710a19a5340f63401a37b5c2b0bc307ac82f0
2023-01-05 17:13:57 +08:00
Weng Su
29846984e7 Refine TetherSettings to avoid activity leaks
- Get system service by application context instead of fragment context to avoid the context being occupied

- Use the application main executor instead of creating new executor locally to avoid the executor being occupied

Bug: 246531382
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest
atest -c TetheringHelperTest

Change-Id: I0de5e9c2bedfc8a224b3f8306224542212c9fcf5
2022-12-28 07:45:47 +00:00
Weng Su
f077b83586 Refine TetherSettings
- Move TetherSettings to network/tether folder

- Refine unit tests

Bug: 237273138
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=TetherSettingsTest

Change-Id: I1eb79780df824c575e79047bdeb3a9276f061fe9
2022-12-22 23:04:59 +08:00