Commit Graph

102 Commits

Author SHA1 Message Date
Tomasz Wasilczyk
6a311b9f5b Fix settings crashes on missing Telephony features
Bug: 310710841
Test: open settings app
Flag: EXEMPT bugfix
Change-Id: Ic96585fb34902de54ec838c5692673b33edd2c27
2025-02-08 21:34:21 -08:00
hoffc
39d16d7bfb Fix sim status details not updated after sim hotswap
Telephony callback may be removed in onPause during sim hotswap, but they are not re-registered in onResume for sub info still null.

Listen sub info change and re-register telephony callback when need.

Test: function test pass and SimStatusDialogControllerTest unit test pass.

Change-Id: I17e60c9e3441fc593107048494f830408c37ae61
Bug: 384643359
2025-01-08 11:53:26 +08:00
Chaohui Wang
ef12f1ddb5 New CarrierConfigRepository
Benefices,
- Gets the configuration values of the specified keys, for better
  performance
- Check key suffix for correctness
- Support cache
- If CarrierConfigManager throw exception, use default value

Bug: 337417520
Flag: EXEMPT refactor
Test: manual on Sim Status
Test: unit
Change-Id: I68f41ef66d495080f628794ade63cf807efba619
2024-06-21 04:39:24 +00:00
Chaohui Wang
33d73862bf Refactor signal strength in SIM status
- Move data logic into repository for better testing
- Check carrier config first, if not shows some items, we don't need to
  load data
- Tests in SimStatusDialogControllerTest will be fixed in later cls

Bug: 337417520
Test: manual - on SIM status
Test: unit test
Change-Id: Iccd209fd455d66d4f6438652ee7481d2a0e72a99
2024-05-28 12:35:10 +08:00
Chaohui Wang
3b925a0cfe Refactor SimStatusDialogRepository
- Move data logic into repository for better testing
- Check carrier config first, if not shows some items, we don't need to
  load data
- Tests in SimStatusDialogControllerTest will be fixed in later cls

Bug: 337417520
Test: manual - on SIM status
Test: unit test
Change-Id: Ia0c32882f0b35ec9154b3da58ac6a7b98c879efc
2024-05-28 11:41:24 +08:00
Chaohui Wang
fa0c8d4fd1 Migrate to new ImsRegistrationCallback
Migrate from deprecated api, and use new api as flow.

Bug: 337417520
Test: manual - on SIM status
Test: unit test
Change-Id: I8f938c0ccb6e3e61f8d4f6cb72c293f564351d52
2024-05-22 10:51:00 +08:00
SongFerngWang
c6eba747db [Sim UI enhancement] remove the "Tap to show info"
Bug: 318310357
Bug: 298898436
Bug: 298891941

Test: atest PhoneNumberPreferenceControllerTest
atest ImeiInfoPreferenceControllerTest
atest SimEidPreferenceControllerTest

Change-Id: Iadd82173b55b8f66409c1ff056dd4c323d6dcc35
2024-01-31 11:14:38 +00:00
Sunny Shao
076ed573eb Revert^2 "Nullability Annotations replacement"
This reverts commit 19d1d3d15d.

Reason for revert: revert it because this is not the root cause.

bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
2024-01-10 07:34:01 +00:00
Sunny Shao
19d1d3d15d Revert "Nullability Annotations replacement"
This reverts commit cf0501e4d7.

Reason for revert: b/317462033, it seems a flaky but revert it first.

Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
2023-12-29 02:28:24 +00:00
sunnyshao
cf0501e4d7 Nullability Annotations replacement
-- Replace the android.annotation.Nullable / android.annotation.NonNull
   with androidx.annotation.Nullable / androidx.annotation.NonNull

Bug: 316867690
Test: build pass
Change-Id: I0c1da55dfb09ece855151c47e0492d6f46538621
2023-12-20 08:50:09 +08:00
Chaohui Wang
8b7e6c28bc Check isSimHardwareVisible earlier
In SimEidPreferenceController, to reduce flaky on no SIM devices.

Bug: 304560734
Test: manual - on "About phone / tablet" page
Test: unit test
Change-Id: I07ae9b785d0fbe24a866883080a466a2110ca68f
2023-11-17 07:18:44 +00:00
Chaohui Wang
c744aaabae Fix IMEI is not selectable
By settings textIsSelectable = true

Also unify all the similar logic into @style/device_info_dialog_value

Fix: 305248578
Test: manual - on About phone page
Change-Id: Iaa6b4ab45067a01106367de3b8d81d5df51bd6dc
2023-11-06 11:01:18 +08:00
Chaohui Wang
b6e44ce818 Async load eid in SimEidPreferenceController
Avoid data loading in getAvailabilityStatus() to prevent ANR, override
updateNonIndexableKeys() for search availability.

Fix: 304560734
Test: manual - on "About phone" page
Change-Id: I9994abf3787f5db0edc71ff48d08e549a4b70bf7
2023-10-31 02:44:18 +00:00
Colin Cross
87b870a090 Fix kotlin nullable errors in Settings
Fix kotlin nullable errors that were exposed by setting the retention
of android.annotation.NonNull and android.annotation.Nullable to
class retention.

Bug: 294110802
Test: builds
Change-Id: I6aa0516fa4f6443b6d4dff873baf3b08ff9189f0
2023-08-14 12:29:02 -07:00
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
Chaohui Wang
3cdad40840 Fix EID dialog related issues
Fix the following issues,
- After eid dialog dismissed, enter other page and back will trigger
  eid dialog again
- After screen rotation, dialog content disappeared

Fix: 277871671
Test: Manual
Change-Id: Ibd0ffb182cf69ea40e4b3fe0e8e840931d705df6
2023-04-23 15:49:52 +08:00
Zoey Chen
76bb350c73 [Settings] Do not set text if the fragment is not attached
Bug: 273415166
Test: loacl test
Change-Id: I5298727359191d8ce9c4526279faa4e8a3c1df43
2023-03-17 18:14:49 +00:00
Bonian Chen
ad209be4af [Settings] EID should be read out as phone number
EID need to support TTS.

Bug: 270517566
Test: local

Change-Id: I630e94cca8d240595546897ac17ae6c59366c84a
2023-02-23 08:45:25 +00:00
Bonian Chen
6d225b22f1 Merge "[Settings] Unified the source of phone number" 2023-02-13 12:38:14 +00:00
Bonian Chen
c9ace54b03 [Settings] Unified the source of phone number
Route UI access to phone number into a unified util class within
Settings app.

Bug: 265940535
Test: local

Change-Id: Ic747b0044217101d9a6a1e2cd6e59bbdbcd88021
2023-02-13 04:57:18 +00:00
Bonian Chen
eeee2d0d78 [Settings] Device without EID crash settings UI
Device without EID should hide the UI, and avoid from null pointer
exception.

Bug: 268104585
Test: local

Change-Id: I3e0016dbbae11d089de534b3fc383611719d7cbe
2023-02-08 06:21:57 +00:00
Bonian Chen
211920bc7c [Settings] Fix about phone crash no leave
Avoid from crash when LifecycleOwnerLiveData reports null during
destroy.

Bug: 267513122
Test: local

Change-Id: Ie541b0e5b81aa14bd064087c5343716b6bc066a3
2023-02-02 06:10:55 +00:00
Bonian Chen
5f9b1084c3 [Settings] Avoid from accessing LifecycleOwner when not available
Only access LifecycleOwner when available.

Bug: 266872811
Test: local

Change-Id: Id575a71e20e79f8efadb49af128c1a43c058acdd
2023-01-31 08:41:52 +00:00
Bonian Chen
25b403500f [Settings] Remove EID from SimStatusDialog
Remove EID field.

Bug: 260540995
Test: local
Change-Id: I0da91b6e0f21d11aa9ba1660e759b532eb7b7c35
2022-12-28 04:58:55 +00:00
Bonian Chen
dda58d5255 [Settings] Present EID in About phone page
Present EID within about phone page.

Bug: 260540995
Test: local

Change-Id: If5f512c1da6b4b3b1adc1d13dbe11226b7ecad41
2022-12-21 17:39:28 +00:00
Bonian Chen
af8f04c3d1 [Settings] Code Refactor for performance
Reduce number of SubscriptionManager API queries.

Bug: 260540995
Test: local and auto
Change-Id: Ib05660d9ade7f352a7cc82d4065974aec396714a
2022-12-21 01:45:40 +00:00
Bonian Chen
b7480f6713 Merge "[Settings] Add QR code for EID and enable text copy" 2022-12-12 12:50:51 +00:00
Bonian Chen
6a383db74b [Settings] Add QR code for EID and enable text copy
1. Add QR code for EID (when available)
2. Enable text copy

Bug: 260540995
Test: local
Change-Id: Iba7eace2ca3142a065219a3e65371af52df1511c
2022-12-12 12:50:28 +00:00
Bonian Chen
8138e44fde [Settings] Support search of each Sim slot status within about phone
Support searching of each SIM slot status within about phone page.

Bug: 260540995
Test: auto and local
Change-Id: If905fc595af566665fb1077a5ce11a967f7487aa
2022-12-09 09:26:11 +00:00
Bonian Chen
09b0edbdee [Settings] Code refactor
1. Adjust test case for improving testing performance
2. Some code refactor for avoiding from NullPointerException

Bug: 260540995
Test: auto and local
Change-Id: I18bd474304194137166c3c03ff828abdcd58473e
2022-12-08 07:17:13 +00:00
Bonian Chen
854eb4947a [Settings] Code refactor for performance
Perform query in the background thread to reduce the time required for
rendering UI.

Bug: 260540995
Test: local
Change-Id: I4286553b44b51752ae64a9bb2ce5656fe7e9b4e8
2022-12-07 06:28:44 +00:00
Bonian Chen
09bd704c45 [Settings] Code refactor - SIM slot UI preference key
Avoid from controlling Preference key separately in different places.

Bug: 261374879
Test: local & auto
Change-Id: I0a777c3f2511a25e8f619deba964bc343183c3cc
2022-12-06 05:12:19 +00:00
Bonian Chen
967bc7b044 [Settings] Code refactor - apply BasePreferenceController
Apply BasePreferenceController for better compatible with existing
softawre architecture.

Bug: 260540995
Test: local
Change-Id: I6d69ff878a062299b4d8478f6c0341b37a28532d
2022-12-02 17:23:38 +00:00
Bonian Chen
bfacd938f6 [Settings] Code refactor
Create PreferenceController for each of the Preference presented on
screen, which allows SettingsFragment better control the behavior of
Preference.

Bug: 260540995
Test: auto and local test
Change-Id: Iadd9c10fb353d6304d61e65687a505c71a53179a
2022-11-30 23:42:35 +00:00
TreeHugger Robot
6fc971363b Merge "Add unaudited exported flag to exposed runtime receivers" 2022-11-04 08:13:28 +00:00
Bonian Chen
5dae24208b [Settings] configuration for hidding SIM related UI
Add overriable configuration for hidding SIM related UI.

Bug: 240515161
Test: test cases and local testing
Change-Id: I8d7ddd18861a696830da39f040dfb14b9ed46726
2022-10-21 09:21:59 +00:00
Bonian Chen
7364b9bbe3 [Settings] align the long press behavior on secondary sim
Within Settings app, long press allows user to copy status/summary part
when it comes to first SIM.

This is a commit to enable the same feature on the second sim.

Test: local
Change-Id: I58d9cf9cbba213196536781d41b9ec81c0142960
2022-10-19 01:47:11 +00:00
Michael Groover
6ce57b67fb Add unaudited exported flag to exposed runtime receivers
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 U 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 U release.

Bug: 234659204
Test: Build
Change-Id: I8fbcf69575d829f26e02d661498d69f5fc8740d0
2022-10-11 17:26:02 -05:00
Stanley Wang
2b7cadac12 Fix the problem that apps can read SIM card information through
screenshots.

Fix: 217377618
Test: manually test and review the UI
Change-Id: I645c4acc9943a17430889dfeee064a42178870ec
2022-04-21 14:02:11 +08:00
Bonian Chen
d051e65d3c [Settings] Support phone number talkback
Support phone number talkback in about phone UI pages.

Bug: 182923869
Test: local, junit
Change-Id: I159827070a954dee13230ff7cf6de81dbbaa7545
2021-12-07 10:22:24 +00:00
sandeepjs
40ffe69a3e eSIM deprecated API test Refactoring
Test: build
Bug: 159354974
Change-Id: Iedeb90f186ab9f82894e2fecef86d339c8989542
2021-11-15 05:44:54 +00:00
Stanley Wang
9c63c415ea Fix the problem that the SIM status and IMEI after the "Build number".
- Adding the SIM status and IMEI items of SIM2 to the PreferenceScreen
  can not put these items in the correct categories. We have to put
  these items directly into the correct categories.

Bug: 193384705
Test: robotest and see the UI
Change-Id: I2de7ee72fc1315eeef01288b386f8756ca366e33
2021-07-16 19:44:25 +08:00
Jeremy Goldman
300d35062e Null check added when updating the roaming status.
If the serviceState is null, calling getRoaming will cause a crash.
Instead of calling this method, set the string to not-roaming if the
value is null.

Test: atest -c SettingsUnitTest
Bug: 184334050
Change-Id: Ifa8a006838ea17f7d098c1b83bb6ab0349e7d569
2021-06-18 10:46:30 +08:00
Bonian Chen
234b698fb2 Revert "[Settings] Support getSystemService(Class<T>)"
This reverts commit d5ccde31a8.

Reason for revert: failure on test cases

Change-Id: I0a179a6ebb5ef1dec566ce6e8facd5f3b82d7c8a
2021-03-30 00:51:15 +00:00
Bonian Chen
d5ccde31a8 [Settings] Support getSystemService(Class<T>)
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
2021-03-24 00:59:46 +08:00
Zoey Chen
b8a639f8fd [Settings] Use TelephonyManasger.registerTelephonyCallback instead of TelephonyManager.listen
Bug: 175270951
Test: make and atest
Change-Id: I15e1a199e6a34914db97055bfea9392c5bbdc9c6
2021-03-12 19:27:05 +08:00
SongFerngWang
a5035d9ce7 Add NR SA OVERRIDE_NETWORK_TYPE_NR_ADVANCED for TelephonyDisplayInfo
NetworkTypeController set OVERRIDE_NETWORK_TYPE_NR_ADVANCED when
device connect NR and frequency is mmWave.

Bug: 179443240
Bug: 179453836
Test: atest frameworks/opt/telephony/src/java/com/android/internal/telephony/NetworkTypeController.java
atest packages/apps/Settings/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java

Change-Id: Ib95f6a012c0f725335f46e17b8414005a76ad5c9
Merged-In: Ib95f6a012c0f725335f46e17b8414005a76ad5c9
2021-02-08 14:04:18 +00:00
tom hsu
ba845f7fe4 Avoid wrong telephonymanager with wrong sub id.
When initialized SimStatusDialogController, also create TelephonyManager
with sub id.

Bug: 174171839
Test: Manual test passed, see b/174171839#25
Change-Id: I6bd6975e39c75884252b9d0bcd9d5548dbdfe6d5
2021-01-28 06:26:21 +00:00
Jeremy Goldman
e068542f53 SimStatusDialogControllerTest converted to JUnit
Bug: 175389659
Test: atest -c SimStatusDialogControllerTest
Change-Id: Id2cfb01714f1756f9251b2319d83a1609488b0f6
2020-12-21 04:45:13 +00:00
Sarah Chin
396934a092 Sync main branch with QPR branch changes
Original change (ag/13006754) was modified to merge in QPR
(ag/13023201). Adding the same changes to the main branch to keep it
consistent.

Test: make RunSettingsRoboTests
Bug: 167643728
Change-Id: Iedf14d2c2ac9181c9aad0ed929b19ffeb60560b2
2020-11-12 15:58:46 -08:00