Commit Graph

433 Commits

Author SHA1 Message Date
Bonian Chen
e9cdc176a6 Merge "[Settings] Adjusted the API of Settings app" into tm-dev am: 29a00dbc31
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18660040

Change-Id: I8391c6e89654e3595a496de6da4485f27834bfda
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-22 19:24:20 +00:00
Bonian Chen
d10618d489 [Settings] Adjusted the API of Settings app
The API of Settings app get changed in order to support large screen.
This is a fix to adopt the change related to this work.

A short brief:
1. Accept ACTION_MAIN for launching MobileNetworkActivity.
2. Support deep-link intent while MobileNetworkActivity in foreground.
3. Avoid from binding MobileNetworkActivity as a single instance.

Bug: 230047450
Bug: 234406562
Bug: 229371407
Test: local & unittest
Change-Id: Ifcb9d4c564839199d998bd503f390f021c6bf3ad
2022-06-22 07:51:47 +08:00
SongFerng Wang
95f153642c Merge changes Idf0ce198,Ibd324b78,I6daa38f5,I242402e4 am: 8be3ebd163 am: a5a729f523
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2121199

Change-Id: I2ed62ef98c1e81d6549ba1eb0c271ef3bf61d168
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-14 07:27:08 +00:00
SongFerngWang
e63dfcbd90 [MEP] Modify the comments
Bug: 235792308
Test: build pass
Change-Id: Idf0ce19814ce8b23bc1eea864b36815203069f87
2022-06-13 18:24:30 +08:00
SongFerngWang
56e1297abe Unable to enable the removable esim
When the user enable the removable esim, the settings select wrong
slot(esim slot). The slot shold be the removable + esim slot and the
UiccCardInfo's cardId is the same as the removable esim's cardId.

Bug: 233170453
Bug: 233338345
Test: atest UiccSlotUtilTest
Change-Id: Ibd324b781c84318c994e3742bb82e1d1393b94e4
Merged-In: Ibd324b781c84318c994e3742bb82e1d1393b94e4
2022-06-13 17:49:00 +08:00
SongFerngWang
64430ba2d2 Unable to enable the removable esim
When the user enable the removable esim, the settings select wrong
slot(esim slot). The slot shold be the removable + esim slot and the
UiccCardInfo's cardId is the same as the removable esim's cardId.

Bug: 233170453
Bug: 233338345
Test: atest UiccSlotUtilTest
Change-Id: Ibd324b781c84318c994e3742bb82e1d1393b94e4
2022-06-06 17:56:25 +08:00
SongFerngWang
82bf2a66b7 Changing the condition since the esim may be removable
The condition whether the slot is esim slot should use getIsEuicc
api since the esim may be removable.

Bug: 233338345
Test: atest UiccSlotUtilTest
Change-Id: I47dc068e57a0faa7f7ce85af7933a48caa2c93e4
Merged-In: I47dc068e57a0faa7f7ce85af7933a48caa2c93e4
2022-05-27 07:10:28 +00:00
SongFerngWang
948f512098 Changing the condition since the esim may be removable
The condition whether the slot is esim slot should use getIsEuicc
api since the esim may be removable.

Bug: 233338345
Test: atest UiccSlotUtilTest
Change-Id: I47dc068e57a0faa7f7ce85af7933a48caa2c93e4
2022-05-26 10:54:39 +08:00
Chaohui Wang
87f8135959 Merge "Clean up lifecycle in MobileNetworkSettings" into tm-dev 2022-05-25 09:13:44 +00:00
Chaohui Wang
866b79c245 Clean up lifecycle in MobileNetworkSettings
To avoid double registering, which prevent potential issues and could
improve latency.

Since DashboardFragment already supported register lifecycle
automatically for the controllers bound by XML which implements
androidx.lifecycle.Lifecycle, so doing a cleanup to prevent register
lifecycle event manually (doubling).

Bug: 149338098
Test: temporarily add logging to make sure the lifecycle method is
      called and only called once
Change-Id: I4dbc36414991ef6b599be61aa77ff0dc8c52468c
2022-05-25 13:46:55 +08:00
Weng Su
77f9cbe315 Refine carrier Wi-Fi functions
- Sync the same design to query and set carrier Wi-Fi enabled status from MergedCarrierEntry

- Add more logs for issue tracking

Bug: 227236604
Test: manual test
atest -c CarrierWifiTogglePreferenceControllerTest \
         WifiPickerTrackerHelperTest

Change-Id: I869fa97bd24ed31a3224b4a395ffc97a17aa1471
2022-05-24 03:16:36 +08:00
TreeHugger Robot
f16c90f91d Merge "Show mobile data icon with carrier Wi-Fi level in Settings" into tm-dev 2022-05-20 11:21:18 +00:00
Weng Su
f8f2d17b66 Show mobile data icon with carrier Wi-Fi level in Settings
- If carrier Wi-Fi is active then use carrier Wi-Fi level instead of
  mobile data level.

- If carrier Wi-Fi level is less than min-level, use min-level instead.

Bug: 222885558
Test: manual test
atest -c SubscriptionsPreferenceControllerTest \
         WifiPickerTrackerHelperTest

Change-Id: I46ba5129357bae47e5e44dcbbb26e6673581fdc8
2022-05-20 16:02:47 +08:00
Bonian Chen
08b7f53383 Merge "[Settings] Select RAT in between SIMs for Internet" into tm-dev 2022-05-19 10:28:21 +00:00
Bonian Chen
fa6c9f3a53 [Settings] Stop network mode query when changing config
Changing the configuration of network mode could take a long time.
In some cases, it blocks the query operation.
This is a change to stop query operation from execution during the time
when configuration is changing.

Bug: 227431634
Test: local
Change-Id: Ifeb16e7e9a0ec3de970fe588a1cce6d31fbba9cd
2022-05-17 15:25:12 +00:00
Bonian Chen
61a85eaee7 [Settings] Select RAT in between SIMs for Internet
The internet page RAT need to be selected based on default data SIM.

Bug: 230190055
Test: local
Change-Id: I87edd7a9ddadf877b9cc0c678e3bba423666125e
2022-05-17 18:40:06 +08:00
Bonian Chen
a9eb5f27c1 Merge "[Settings] Ignore failure test cases - DefaultSubscriptionControllerTest" into tm-dev 2022-05-09 03:41:42 +00:00
Bonian Chen
c4033b6d3e Merge "[Settings] Ignore failure test cases - NetworkProviderSimListControllerTest" into tm-dev 2022-05-09 02:58:00 +00:00
Bonian Chen
a89902e9c9 Merge "[Settings] Ignore failure test cases - ProviderModelSliceHelperTest" into tm-dev 2022-05-09 02:56:35 +00:00
Bonian Chen
830d8e0fec [Settings] Ignore failure test cases - NetworkProviderSimListControllerTest
This is a change regarding ignoring the failure of test cases within
NetworkProviderSimListControllerTest in order to keep build green.

Bug: 231883966
Test: presubmit
Change-Id: I11bf23c1cab0e97619688ce1ed2c0f539f42a3be
2022-05-09 08:02:28 +08:00
Bonian Chen
e25b88a8f9 [Settings] Ignore failure test cases - DefaultSubscriptionControllerTest
This is a change regarding ignoring the failure of test cases within
DefaultSubscriptionControllerTest in order to keep build green.

Bug: 231886723
Test: presubmit
Change-Id: Ice611f1a893e5604b044f69d6b6076fc64844074
2022-05-09 07:39:14 +08:00
Bonian Chen
651a548e84 [Settings] Ignore failure test cases - SubscriptionUtilTest
This is a change regarding ignoring the failure of test cases within
SubscriptionUtilTest in order to keep build green.

Bug: 231886555
Test: presubmit
Change-Id: I0f5c13511968740e439a69be936a75d9f34e4c30
2022-05-09 07:32:13 +08:00
Bonian Chen
a34f5053df [Settings] Ignore failure test cases - ProviderModelSliceHelperTest
This is a change regarding ignoring the failure of test cases within
ProviderModelSliceHelperTest in order to keep build green.

Bug: 231886711
Test: presubmit
Change-Id: I0138c9eefad1541a6302393c035b641fc3f4bfac
2022-05-09 07:23:28 +08:00
Bonian Chen
649ad42457 [Settings] Remove the subscription name verification.
Subscription name may override by other design (for instance, unique
name display).
A verification of subscription name within this test case could be
inappropirate.

Bug: 231660194
Test: unit test
Change-Id: I4182d1de3c0d210bdc1ac699a4f8f862dcf55266
2022-05-08 19:52:14 +08:00
Bonian Chen
68981a3004 [Settings] Fix flaky presubmit failure
Bug: 229689535
Test: unit test
Change-Id: Iabea21aa5d7dd9e489b7b5839c8fcc32c9ba979c
2022-04-27 15:58:06 +00:00
Bonian Chen
b92156c03e Merge "Revert "[Settings] Code refactor for BroadcastReceiver under Lifecycle"" into tm-dev 2022-04-27 15:57:30 +00:00
TreeHugger Robot
c28169adb9 Merge "Revert "[Settings] Code refactor for combining TelephonyCallback with Lifecycle"" into tm-dev 2022-04-27 05:56:10 +00:00
Bonian Chen
8789731cde Revert "[Settings] Code refactor for BroadcastReceiver under Lifecycle"
This reverts commit 81d230b250.

Reason for revert: merge failure in other branches

Change-Id: If8661f5f321f22df96aab54eb8ba967c232348ac
2022-04-27 05:13:30 +00:00
Bonian Chen
3bddc056d8 Revert "[Settings] Code refactor for combining TelephonyCallback with Lifecycle"
This reverts commit aeac0619df.

Reason for revert: merge failure in other branches

Change-Id: I601e674be41fc5d4c97bd8db54ab1982377455f1
2022-04-27 00:03:20 +00:00
Bonian Chen
73c8e2f45a Merge "[Settings] Code refactor for BroadcastReceiver under Lifecycle" into tm-dev 2022-04-26 10:25:31 +00:00
Bonian Chen
3fc05a917e Merge "[Settings] Code refactor for combining TelephonyCallback with Lifecycle" into tm-dev 2022-04-26 10:25:02 +00:00
SongFerng Wang
564c88485a Merge "Gray out the network mode UI before the carrier config is ready" into tm-dev 2022-04-25 07:40:43 +00:00
SongFerngWang
b76feffe4f Gray out the network mode UI before the carrier config is ready
Bug: 202167671
Test: atest EnabledNetworkModePreferenceControllerTest
Change-Id: Ib502ac19ea2c19dae95025302dd82aa2b1c7ff88
2022-04-22 19:28:13 +08:00
Bonian Chen
aeac0619df [Settings] Code refactor for combining TelephonyCallback with Lifecycle
This is a helper class which may support monitoring the
TelephonyCallback under the condition of Lifecycle state STARTED or
RESUMED.

Bug: 229689535
Test: unit test
Change-Id: I6d26bee604d9559e207e107b2f26583f700f8e0a
(cherry picked from commit 7c5259efad)
2022-04-22 10:39:04 +00:00
TreeHugger Robot
49cc66afd3 Merge "[Settings] Code refactor for async Lifecycle listening" into tm-dev 2022-04-22 05:50:05 +00:00
Bonian Chen
81d230b250 [Settings] Code refactor for BroadcastReceiver under Lifecycle
This is an implementation of BroadcastReceiver which supported by
LifecycleCallbackConverter.
Registration of BroadcastReceiver only take place when Lifecycle in
RESUME status.

Bug: 229689535
Test: unit test
Change-Id: Ia2af82d5cbb391034627e5259a9e0c8683a0c5a1
(cherry picked from commit c2030898ef)
2022-04-20 16:54:41 +00:00
Bonian Chen
3856ac4be9 [Settings] Code refactor for async Lifecycle listening
This is an extension of LifecycleCallbackAdapter.
A postResult(T) and a Consumer<T> is designed for supporting pass result
back to UI thread, and is invoked only when required.

Bug: 229689535
Test: unit test
Change-Id: I0ef5afc31cd23aa865a2dd1d05f9b212242c2e41
(cherry picked from commit 5d2a76cbb4)
2022-04-20 12:47:39 +00:00
Bonian Chen
37a326bd3e [Settings] Code refactor for Lifecycle listening
This is an abstract class for building a set of callback behavior
based on Lifecycle status change.

Through extending this class, the implemented methods are invoked
only when required.

Bug: 229689535
Test: unit test
Change-Id: I7534393546f821738a63ebde121a5a88ee03b23b
(cherry picked from commit 9a4c66d23b)
2022-04-20 12:46:26 +00:00
SongFerngWang
ef80331fb0 [MEP] sort the simSlotMapping by logcal slot id
The modem assign the simSlotMapping like UiccSlotMapping[
(mPortIndex=0, mPhysicalSlotIndex=0, mLogicalSlotIndex=1),
UiccSlotMapping (mPortIndex=1, mPhysicalSlotIndex=0,
mLogicalSlotIndex=0)]. The settings replace the first one
UiccSlotMapping when user insert psim and the both of esim
profile are not enabled. It is not correct. The root cause is that
the settings did not sort the simSlotMapping by logcal slot id.

Bug: 223662007
Test: atest UiccSlotUtilTest  (PASS)
Change-Id: I6871db6c2d8d7b9f3cb334bb5cd2c7978b5b3b85
Merged-In: I6871db6c2d8d7b9f3cb334bb5cd2c7978b5b3b85
2022-04-14 03:47:20 +08:00
SongFerngWang
ccd55cc5c9 In E+E, the user can't enable the PSIM
In the E+E and there is the empty slot, the user can't enable PSIM.
Since the settings can't set the correct simSlotMapping.

Bug: 222231991
Test: atest UiccSlotUtilTest (All passes) and Build pass
Change-Id: Ia261e3b41c6c4a43a5429815d93ae9f6ff16f0ec
Merged-In: Ia261e3b41c6c4a43a5429815d93ae9f6ff16f0ec
2022-04-14 03:46:28 +08:00
SongFerngWang
2479c9f7bd [MEP] psim's logical slot index is 0
psim's logical slot index is 0, so changing the API and adding test
cases.

Bug: 221839363
Test: atest UiccSlotUtilTest
Change-Id: I1588bd4a2f552a6b41844883b6ad50f1bfec95de
(cherry picked from commit b162438b5d)
Merged-In: I1588bd4a2f552a6b41844883b6ad50f1bfec95de
2022-04-14 03:45:55 +08:00
SongFerngWang
d3f3730721 [MEP]The Esim's PhysicalSlotIndex is wrong
Using the getUiccSlotInfo API to get the PhysicalSlotIndex of esim

Bug: 215302360
Test: atest UiccSlotUtilTest
Change-Id: Ic43d6c4a3209d24673769b71b9a148e780ee81ab
Merged-In: Ic43d6c4a3209d24673769b71b9a148e780ee81ab
2022-04-14 03:33:42 +08:00
Weng Su
22c8bf81e1 Restrict Wi-Fi toggle in Internet Settings
- Disable Wi-Fi toggle when user is not allowed to change Wi-Fi state.

- Show restriction message in Wi-Fi toggle summary.

- See the result screenshot in b/203168097#comment24

Bug: 203168097
Test: manual test
atest -c WifiSwitchPreferenceControllerTest

Change-Id: I3cfe2f4f0e855dde91a82babe3a03005c3985d59
2022-04-07 12:06:13 +08:00
Treehugger Robot
973031b290 Merge "Settings: Fix cellular internet option Not seen after internet reset" am: 0159ca5d9c am: a1a5091f12 am: 3fb5213538
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2033445

Change-Id: I3e34f4f6ef32064e7de1ca0a9aee94c02f94e7e3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 07:49:23 +00:00
hoffc
5710b02972 Settings: Fix cellular internet option Not seen after internet reset
Cellular internet preference will be hidden during reset internet, and resume to be visible after successfully reset or reset timeout. Due to the wrong immediately param value assigned for hidePreference method, which results in cellular internet preference not seen after internet reset.

Assign correct immediately param value when resuming after internet reset.

Bug: 224893326
Test: manual test
atest InternetResetHelperTest

Change-Id: I3f8d5dd9de2a56ecfe201483ee8a95b379e8fe65
2022-03-31 04:01:58 +00:00
SongFerngWang
506c3df5b9 [MEP] sort the simSlotMapping by logcal slot id
The modem assign the simSlotMapping like UiccSlotMapping[
(mPortIndex=0, mPhysicalSlotIndex=0, mLogicalSlotIndex=1),
UiccSlotMapping (mPortIndex=1, mPhysicalSlotIndex=0,
mLogicalSlotIndex=0)]. The settings replace the first one
UiccSlotMapping when user insert psim and the both of esim
profile are not enabled. It is not correct. The root cause is that
the settings did not sort the simSlotMapping by logcal slot id.

Bug: 223662007
Test: atest UiccSlotUtilTest  (PASS)
Change-Id: I6871db6c2d8d7b9f3cb334bb5cd2c7978b5b3b85
2022-03-11 02:58:55 +08:00
SongFerngWang
68cfaafe73 In E+E, the user can't enable the PSIM
In the E+E and there is the empty slot, the user can't enable PSIM.
Since the settings can't set the correct simSlotMapping.

Bug: 222231991
Test: atest UiccSlotUtilTest (All passes) and Build pass
Change-Id: Ia261e3b41c6c4a43a5429815d93ae9f6ff16f0ec
2022-03-07 12:44:00 +08:00
SongFerngWang
0b948c827b [MEP] psim's logical slot index is 0
psim's logical slot index is 0, so changing the API and adding test
cases.

Bug: 221839363
Test: atest UiccSlotUtilTest
Change-Id: I1588bd4a2f552a6b41844883b6ad50f1bfec95de
(cherry picked from commit b162438b5d)
2022-03-03 17:14:44 +00:00
SongFerngWang
28bed8ec9f [MEP]The Esim's PhysicalSlotIndex is wrong
Using the getUiccSlotInfo API to get the PhysicalSlotIndex of esim

Bug: 215302360
Test: atest UiccSlotUtilTest
Change-Id: Ic43d6c4a3209d24673769b71b9a148e780ee81ab
2022-01-27 21:13:16 +08:00
Weng Su
7822750c31 Enable Carrier-Config cache for Settings
- Since the "Mobile-Data Details Settings" (NETWORK_OPERATOR_SETTINGS) will query Carrier-Config around 70 times during launching, use the Carrier-Config cache to reduce 69 times to speed up the launching time.

- It takes about 3ms to query a Carrier-Config each time.

- Create a singleton class to share the Carrier-Config for all
sub-settings.

Bug: 204135235
Test: manual test
atest -c ApnPreferenceControllerTest \
         AutoSelectPreferenceControllerTest \
         BackupCallingPreferenceControllerTest \
         CarrierConfigCacheTest \
         CarrierPreferenceControllerTest \
         CarrierSettingsVersionPreferenceControllerTest \
         DataServiceSetupPreferenceControllerTest \
         Enable2gPreferenceControllerTest \
         EnabledNetworkModePreferenceControllerTest \
         Enhanced4gBasePreferenceControllerTest \
         MobileNetworkUtilsTest \
         NetworkProviderBackupCallingGroupTest \
         NrAdvancedCallingPreferenceControllerTest \
         PreferredNetworkModePreferenceControllerTest \
         TelephonyTogglePreferenceControllerTest \
         WifiPickerTrackerHelperTest
make RunSettingsRoboTests \
     ROBOTEST_FILTER=ContactDiscoveryPreferenceControllerTest
make RunSettingsRoboTests \
     ROBOTEST_FILTER=VideoCallingPreferenceControllerTest

Change-Id: I26f9ac115a754910b5d59e820703f1a0e701bb7f
2022-01-14 23:28:50 +08:00