Commit Graph

549 Commits

Author SHA1 Message Date
Hakjun Choi
197a10a0a9 Filter out satellite plmn when in SAT mode
[SAT-070] : PLMNs associated with SAT MODE, as specified in SAT-008, should not be displayed or selectable in Manual Selection/Network Operator Menu

Bug: 316264277
Test: Manual test with pixel in live network
Test: atest NetworkSelectSettingsTest

Change-Id: Ic100772c97fa1ab18d7e63b654e397d8a80eda8a
2024-01-11 07:14:30 +00:00
Treehugger Robot
e8d26737a6 Merge "Reset telephony stack during Reset Mobile Network flow" into main 2024-01-05 04:49:29 +00:00
Rambo Wang
4c384506d5 Reset telephony stack during Reset Mobile Network flow
This CL introduces two more steps to restart Phone process and RILD
during the Reset mobile network flow by the help of the
TelephonyContentProvider which has been used by Pixel Adaptive
Connectivity Services ("SCONE") for a while.

The additional reset options can resolve issues like resources leak
and internal state stuck, effectively recover telephony stack into
fresh state.

The reset options are performed in the background and have no impact
on UX of the reset flow.

Bug: 271921464
Test: ResetNetworkOperationBuilderTest
Test: Feature test with both flag on and off
Change-Id: If09d20d79e908dd43f3f654fb7cca7f713b7f03a
2024-01-05 03:53:21 +00:00
Chaohui Wang
7cbfc40681 Migrate NetworkOperatorPreference to Kotlin
Bug: 293845605
Test: manual - with SIM Settings
Test: unit test
Change-Id: I5c21085a4ec9c2f53f93867813ba298690f161ff
2024-01-04 13:02:31 +08:00
Chaohui Wang
e3b527a2bf Refactor CellInfoUtil
Unify and simplify the logic, and add unit test.

Bug: 293845605
Test: manual - on Mobile Settings
Test: unit test
Change-Id: I5467b92baa8e47fbd400c7a21fd39fd5ec90ed3a
2024-01-03 13:41:45 +08:00
Chaohui Wang
355144675a Fix ANR in WifiCallingPreferenceController.getAvailabilityStatus
Move the following to background thread to avoid block main thread,
- MobileNetworkUtils.isWifiCallingEnabled(mContext, mSubId, null)
- MobileNetworkUtils.buildPhoneAccountConfigureIntent()
- getSummaryForWfcMode()
- Call State

Since WifiCallingPreferenceController no longer calculate availability
in getAvailabilityStatus(), also update the
CallingPreferenceCategoryController accordingly.

Also introduce ImsMmTelRepository for split business logic for easy
testing.

Fix: 292401934
Test: manual - on Mobile Settings
Test: unit test
Change-Id: If92e2c8f6e137e40b83e578294c03c1b917eef8e
2023-12-29 17:16:49 +08:00
Chaohui Wang
851996d01c Clean up ServiceStateStatus
And LifecycleCallback*, which is no longer used.

Bug: 299068234
Test: m Settings
Change-Id: I29ce5609db2a4b249477da1bcbb0502fa04902fa
2023-12-28 16:58:42 +08:00
Chaohui Wang
2ec3840987 Improve AutoSelectPreferenceController
Deprecate ServiceStateStatus (which could produce wrong value),
and replaced with serviceStateFlow.

Fix: 299068234
Test: manual - turn auto select off and on
Test: unit test
Change-Id: I42fe160500c68cc9ee0fe383121f64146ddbb7f2
2023-12-28 16:58:42 +08:00
SongFerng Wang
4ee6d84eb4 Merge "Using ACTION_SIM_CARD_STATE_CHANGED to detect simSlotMapping is complete" into main 2023-12-26 06:47:44 +00:00
rambowang
41ba9dc658 Support reset IMS stack in Reset Mobile Network flow
Reset the IMS stack for the specified subscription
with the help of API TelephonyManager#resetIms.

Bug: 271921464
Test: ResetNetworkOperationBuilderTest
Change-Id: I61575f18bcc300f362000dc7f4257b9d794b6b69
2023-12-22 10:33:46 -06:00
SongFerng Wang
ba2a86ad9f Using ACTION_SIM_CARD_STATE_CHANGED to detect simSlotMapping is complete
Sometime modem can't return the GET_SIM_STATUS immediately, so that the settings send the sim switching too early after simSlotMapping.

Bug: 291733084
Change-Id: If547c8b02020bc86c83915334e29945176a4ee9f
Test: tester will test it manually.
2023-12-22 05:57:53 +00:00
Chaohui Wang
28b85b5810 Refresh "Choose network" summary when service state changes
This summary display service connection state, which should be refreshed
when service state changes.

Fix: 313026209
Test: manual - on Mobile Settings
Test: unit test
Change-Id: I6ca2f89e05f21460a7db055f037919b6ebd19182
2023-12-20 16:19:08 +08:00
Weng Su
129ff9b8fe Fine-tune launch time in Network & Internet settings
- Avoid creating WifiPickerTracker if Hotspot network feature is not enabled

Fix: 312905628
Test: unit test
atest -c InternetPreferenceControllerTest

Change-Id: I5818698ce06244aa7660e90a5f2fd372a3a221bf
2023-11-28 06:51:39 +08:00
Chaohui Wang
a39905eabd Clean up unused MobilePlanPreferenceController
Which can improve the latency of "Network & internet" page.

Bug: 311604902
Test: manual - on "Network & internet" page
Change-Id: If306e93491402278ede4f20591296765b30bde37
2023-11-24 23:55:14 +08:00
Weng Su
203931d038 Show Hotspot network in Network & internet settings
- Show Hotspot icons

- Show getAlternateSummary instead of original getSummary

Fix: 308187592
Test: unit test
atest -c InternetPreferenceControllerTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:a9ea40dc71362b372c5adc89b82dbe2024253688)
Merged-In: I8afe54edebc904c9ec936f5851a33c6c20f13e29
Change-Id: I8afe54edebc904c9ec936f5851a33c6c20f13e29
2023-11-22 09:58:07 +00:00
Chaohui Wang
9e0bd18686 Fix restriction to configure Calls & SMS
Restriction UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS is added.

Fix: 278062379
Test: manual - apply restriction no_config_mobile_networks
Test: unit test
Change-Id: I87bf2269359bbceb989fa10524d55dd7ceb55de1
2023-11-14 09:48:52 +00:00
Chaohui Wang
d8b21d7846 Avoid unnecessary Html.fromHtml()
Check if string contains html tag, before call Html.fromHtml()

Fix: 308681068
Test: atest SubscriptionsPreferenceControllerTest
Test: atest ProviderModelSliceHelperTest NetworkProviderWorkerTest
Test: manual - on Internet page
Change-Id: Id914689f2861a8c997d18afd03ecfdf47b91c631
2023-11-09 11:10:43 +00:00
Chaohui Wang
478ab50c01 Prevent Erase SIM during call
By collecting call state and only enable preference when idle.

Fix: 298893271
Test: manual - on Mobile Settings during call
Test: unit tests
Change-Id: Ifd567a6b68a3efbb0b42bfa0233f7c54eca07ae1
2023-11-08 03:08:56 +00:00
Chaohui Wang
8a5bba1f22 Check MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED
To know whether MMS is always allowed, should check
isMobileDataPolicyEnabled(MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED)
instead of isDataEnabledForApn(ApnSetting.TYPE_MMS).

Fix: 303759893
Test: manual - toggle "MMS messages" switch
Test: unit test
Change-Id: Id0417e569ff4e3dbac1ecff9327b4a964125c122
2023-10-26 11:07:03 +00:00
Chaohui Wang
2a166676d4 Migrate test to TwoStatePreference
Bug: 306771414
Test: m SettingsUnitTests
Change-Id: I67c8e0c7f04faba377a156587f43929ac73e500f
2023-10-24 18:14:50 +08:00
Chaohui Wang
d1577c5e68 Remove NetworkProviderSimsCategoryController
Which no real logic in it, just a proxy of
NetworkProviderSimListController.

Bug: 302628642
Test: manually - on MobileNetworkListFragment
Test: robo test
Change-Id: I4785ac9509f92f5a778e1bda1f8da12e2880589e
2023-10-19 15:56:22 +08:00
Chaohui Wang
dae71fffb4 Dismiss the open dialog if preference is disabled
In EnabledNetworkModePreferenceController, to prevent user changing the
value.

Fix: 304952402
Test: manually - open dialog, then received a call
Change-Id: Ia1be0840b061c796f72bf5053870fa9e90bd215f
2023-10-18 19:50:35 +08:00
Gil Cukierman
761fd612c4 Stop honoring CarrierConfigManager.KEY_HIDE_ENABLE_2G
KEY_HIDE_ENABLE_2G is soft removed in Android API level 35
because it hides a security feature. This patch
introduces simplified logic that ignores the
carrier config value. The new behavior is behind a feature flag.

This patch also includes some cleanup.
1. It removes an unneeded check for null carrier config
2. It removes test logic that set the value of KEY_HIDE_ENABLE_2G
   in places where it had no impact on the test.

Bug: 300248708
Test: atest Enable2gPreferenceControllerTest
Change-Id: I892d115d1ae173d2f3cd69e8f8b97bc5bfa7c67b
2023-10-04 13:59:55 +00:00
Tom Hsu
f357f32284 Merge "When device has a call, avoid user inactive/active SIM." into main 2023-09-25 06:59:44 +00:00
tom hsu
e7d98dea9d When device has a call, avoid user inactive/active SIM.
Bug: 296314216
Test: atest passed
Change-Id: I1a717d24a87316ccf065a2c02c49dc7e29825905
2023-09-25 13:32:52 +08:00
Chaohui Wang
30b81d637e Clean up Backup Calling
Fix: 289967466
Test: m Settings
Change-Id: Ic487c06383f1dba04b59a54301f083c265717d9b
2023-09-23 22:35:55 +08:00
SongFerng Wang
176d358c32 Merge "Remove the cached display name" into udc-qpr-dev am: 26a1866b8d am: c7ea38203a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24793547

Change-Id: If9ddb12284b6e4022c18bd54095eb67b8809d985
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-19 13:17:07 +00:00
SongFerngWang
d21f14a002 Remove the cached display name
If the display name is changed, then the Settings should remove the
cached display name.

Bug: 296157273
Test: [pass] atest SubscriptionUtilTest  [pass]Build and manual test
Change-Id: I3b1297ddddf9f9051dd16523b97fc27255cf3923
2023-09-19 06:25:33 +00:00
Chaohui Wang
e4f5ac6b24 Clean up SettingsUnitTests unused dependencies
Bug: 290856342
Test: atest SettingsUnitTests
Change-Id: Ifcec968b3dfca965c8cd5b897bbdf84dfe220fd5
2023-09-14 15:59:59 +08:00
SongFerngWang
7f62ae77dc Fix ClassCastException at NetworkSelectSettings
Bug: 296172317
Test: atest NetworkSelectSettingsTest
Change-Id: I811ef95f679bb1b0235a335320654c2acd68110c
2023-08-28 19:17:10 +08:00
SongFerng Wang
d3f8caa506 Merge "To fix waiting too long issue when psim -> esim" into udc-d1-dev am: 717ce2b91f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23913080

Change-Id: Ifd57844fa7d17836a8c681b16b8b7e1830aabfec
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-11 05:26:45 +00:00
SongFerngWang
d94ac12190 To fix waiting too long issue when psim -> esim
if the user swithes slot from psim to esim, then the settings
need to wait the simSlotMapping completed and it has a timer to avoid
UI stay here too long.

Since the framework did not sned the carrier config changed with vaild
subId in MEP + psim->esim case, it cause the settings does not know the
simSlotMapping completed and it stay here until timeout.

For MEP case, changing this condition as SimSlotStatusChanged

Bug: 273813956
Test: atest UiccSlotUtilTest
Change-Id: Ic09dbcb3629fe13770f3ad301c0a396d6745969f
2023-07-07 10:22:49 +00:00
tom hsu
0b3da89a91 [Settings] Fix inactive SIM show display name with subectiption id.
- Cached active SIM' display name with last 4 digits phone number to
   avoid that this active SIM change to inactive SIM then show the
   display name with subscription id.

Bug: 271567615
Test: Manual test passed
Test: atest passed
Change-Id: I119d60ab4e92b1f04fb42f96df10bc81aa378a7c
2023-06-30 05:51:40 +00:00
tom hsu
0a4458a9d1 [Settings] Imporve MMS message UI state update
- When activity entered from outside, the MMS message is not udpated.
   Therefore, add a update behavior to onStart()

Bug: 281566495#5
Test: Manual test passed
Test: atest passed.
Change-Id: I3e5994ad0dbcdd1b78ae3e10e3cb564ce210e93e
2023-06-14 12:28:59 +08:00
tom hsu
97a1fc643e [Settings] Use background thread to get VoNr state.
- TelephonyManager#isVoNrEnabled may not send back the result in time,
   so use different thread and timer to prevent ANR.

Bug: 282876876
Test: atest passed
Change-Id: Ie6cc0f8a459f5ebed930e457dacb9b742df70fad
2023-05-25 10:56:03 +08:00
Chaohui Wang
2901125674 Fix flicker in SIM card page
Before fix, the DefaultSubscriptionController will set an empty summary
before data is ready.

Not set the summary before data is ready to fix.

Also fix the ignored tests.

Fix: 277301125
Test: Manual on Mobile Settings
Test: Unit test
Change-Id: I07d964b9f9ce21f8f168cb775eea188e48172c5d
2023-05-08 19:07:28 +08:00
Chaohui Wang
ab8a130674 Clean up DefaultSubscriptionController.getSummary
Which is always overridden by subclass after Change
I7d29b58ca5476ae0bb6fe2e04fecb96164cb1ada

This is a no op.

Bug: 277301125
Test: Manually with Mobile Settings
Test: Unit test
Change-Id: Ifa5928e1026b18c33f2bdd51fdcba267249dcee5
2023-05-08 18:56:06 +08:00
TreeHugger Robot
3a2b8e81e5 Merge "[Settings] Remove WFC enabled state condition of querying Telecomm." into udc-dev 2023-05-04 14:57:36 +00:00
tom hsu
21860761e8 [Settings] Remove WFC enabled state condition of querying Telecomm.
- Query WFC enabled state by querying Telecomm may have problem.
 - Only use ImsMmTelManager API to check WFC enabled state.

Bug: 278108377
Test: atest passed
Change-Id: I6d1122bcf66ed5cd274e99b7b4f13558ab922162
2023-05-02 12:57:35 +00:00
tom hsu
fa0bdabc6a [Settings] Fix NPE from updating subinfo changed.
- Refactor code to avoid NPE.

Bug: 278721219
Test: make passed
Test: atest MobileDataPreferenceControllerTest passed
Change-Id: I1fe57b8835677335ae9102cfff71451060ea4f78
2023-05-02 11:40:12 +00:00
Zoey Chen
cf88640701 [Settings] Remove the intent receiver due to the register exception
Bug: 274899027
Test: atest SystemUIMicrobenchmark:android.platform.test.scenario.sysui.quicksettings
Change-Id: Ia19b91cfd1073f22180cc9679025447b4d5fecd9
2023-03-29 04:57:08 +00:00
SongFerngWang
7b9c22348a Avoid ANR when UI query network selection state
Moving the quert network selection state to back ground
and listening the service state to detect the betwork selection
changed.

Bug: 270652395
Test: atest AutoSelectPreferenceControllerTest
Change-Id: I81a597f28cf7ce25ff4eff5100bdb4d29c897a14
(cherry picked from commit 7b80b4ecd9)
2023-03-15 07:54:06 +00:00
SongFerngWang
f7685dd715 Add a config to hide the 3G option at preferred network mode UI
Add a config config_display_network_mode_3g_option to hide the 3G
option at preferred network mode UI

Bug: 261615630
Test: build pass. local test pass.
atest EnabledNetworkModePreferenceControllerTest

Change-Id: I4f94971add1d1eddc9f7c7458b8fc8fdcec3935e
2023-02-08 07:48:08 +08:00
Zoey Chen
69fe84219a [Settings] Add the CarrierNetworkChange case
Bug: 262927206
Test: atest SubscriptionsPreferenceControllerTest
Change-Id: If7eeb185224179d59ab841af0062ec5b98b956e9
2023-02-07 08:59:14 +00:00
Gil Cukierman
0251b272aa Change Toggle UX to "Require encryption"
Changes the UX of enable/disable null ciphers to
"Require encryption". The default value is off, making
the default behavior equivalent to the previous version
of the toggle.

Test: atest NullAlgorithmsPreferenceControllerTest
Test: Manual testing in cuttlefish
Bug: 264540492
Change-Id: Iaa0c9c259559a205aacad9fb9af8de6b54782c8d
2023-01-11 18:42:05 +00:00
Gil Cukierman
58f946072d Add Extra Exception Checks to Null Cipher Toggle
Adds broad exception safety to all TelephonyManager calls.
Without these extra catch blocks, the entire Settings app would
crash if a TelephonyManager API were to throw an exception.

Bug: 262914591
Test: atest NullAlgorithmsPreferenceControllerTest
Change-Id: I997a37fe71bf007d67989c89b3abe3e520d79d3c
2023-01-06 19:30:26 +00:00
Bonian Chen
1dd47d5c1d Revert "[Settings] Ignore some failure test cases"
This reverts commit c9db203edd.

Reason for revert: Try to see how many test cases can be passed.

Change-Id: I6499c6499d4f30718d18ca03e02cf1f5e4b7918e
2022-12-22 14:45:11 +00:00
Bonian Chen
c9db203edd [Settings] Ignore some failure test cases
Ignore some failure test cases to improve presubmit time.

Bug: 260806431
Test: local run unit test

Change-Id: I0be69bd6c9ae64e880c264c09952f915329753da
2022-12-19 13:51:24 +00:00
Dominik Maier
2f81c06361 Add toggle to allow or disable null algorithms
This adds the allow null algorithms toogle to the Settings UI.

If supported by the smartphone baseband, the toggle allows users to opt
out of null algorithms, unencrypted cellular communication, for all
cellular generations.

This toggle is behind a feature flag that is off by default. It also
requires radio network HAL 2.1 or later to show.

Co-authored-by: Gil Cukierman <cukie@google.com>
Bug: b/237529943
Test: atest NullAlgorithmsPreferenceControllerTest
Test: adb shell device_config put cellular_security
enable_null_cipher_toggle true; // On cuttlefish, you can now see the
toggle in SIM settings.

Change-Id: Ia03cceee5463171ca455fa0624b911e06f222d2d
2022-12-16 16:29:49 +00:00
SongFerng Wang
b64d2b2f9e Merge "Revert "Remove "Backup Calling" button from Settings UI"" 2022-12-14 05:56:43 +00:00