The SIM EID field was already not being shown if the
PackageManger.FEATURE_TELEPHONY_DATA feature flag was not set, per the
check in getIsAvailableAndUpdateEid().
The async availability update was introduced in the context of bug
304560734, because the UI could block until the EID value was ready.
The config_show_sim_info check was left in getAvailabilityStatus() as
that cannot block.
This change moves to getAvailabilityStatus() the availability check
based on the PackageManager feature flags (which are set on system
boot and not changed during runtime) and also based on whether the
user is admin or not, as with any other telephony related setting.
None of these two checks would lead to ANR state.
Bug: 395714454
Flag: EXEMPT bugfix
Test: atest SimEidPreferenceControllerTest
Change-Id: I3447091670345285132a2acaf45cd129c2b84c00
The correct return when checking for the SIM status field availability
for non-admin users is DISABLED_FOR_USER.
UNSUPPORTED_ON_DEVICE should only be used when the setting is
unconditionally hidden as the device does not support the feature.
Bug: 395714454
Flag: EXEMPT bugfix
Test: atest SimStatusPreferenceControllerTest
Change-Id: I9bd290f1bdd73909be383a24f2c762d295089ff6
If the device does not have any telephony support (either via the
build-time config_show_sim_info=false boolean flag, or when not
declaring the PackageManager.FEATURE_TELEPHONY_DATA feature flag),
returning UNSUPPORTED_ON_DEVICE makes more sense than
CONDITIONALLY_UNAVAILABLE, as there is no runtime change that would
make it available.
Bug: 395714454
Flag: EXEMPT bugfix
Test: atest SimStatusPreferenceControllerTest
Change-Id: I0735c949a590190cdc177cbca835444691c50faa
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
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
- 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
- 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
Migrate from deprecated api, and use new api as flow.
Bug: 337417520
Test: manual - on SIM status
Test: unit test
Change-Id: I8f938c0ccb6e3e61f8d4f6cb72c293f564351d52
This reverts commit 19d1d3d15d.
Reason for revert: revert it because this is not the root cause.
bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
This reverts commit cf0501e4d7.
Reason for revert: b/317462033, it seems a flaky but revert it first.
Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
In SimEidPreferenceController, to reduce flaky on no SIM devices.
Bug: 304560734
Test: manual - on "About phone / tablet" page
Test: unit test
Change-Id: I07ae9b785d0fbe24a866883080a466a2110ca68f
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
Avoid data loading in getAvailabilityStatus() to prevent ANR, override
updateNonIndexableKeys() for search availability.
Fix: 304560734
Test: manual - on "About phone" page
Change-Id: I9994abf3787f5db0edc71ff48d08e549a4b70bf7
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
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
Route UI access to phone number into a unified util class within
Settings app.
Bug: 265940535
Test: local
Change-Id: Ic747b0044217101d9a6a1e2cd6e59bbdbcd88021
Device without EID should hide the UI, and avoid from null pointer
exception.
Bug: 268104585
Test: local
Change-Id: I3e0016dbbae11d089de534b3fc383611719d7cbe
Avoid from crash when LifecycleOwnerLiveData reports null during
destroy.
Bug: 267513122
Test: local
Change-Id: Ie541b0e5b81aa14bd064087c5343716b6bc066a3
Support searching of each SIM slot status within about phone page.
Bug: 260540995
Test: auto and local
Change-Id: If905fc595af566665fb1077a5ce11a967f7487aa
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
Perform query in the background thread to reduce the time required for
rendering UI.
Bug: 260540995
Test: local
Change-Id: I4286553b44b51752ae64a9bb2ce5656fe7e9b4e8
Avoid from controlling Preference key separately in different places.
Bug: 261374879
Test: local & auto
Change-Id: I0a777c3f2511a25e8f619deba964bc343183c3cc
Apply BasePreferenceController for better compatible with existing
softawre architecture.
Bug: 260540995
Test: local
Change-Id: I6d69ff878a062299b4d8478f6c0341b37a28532d
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
Add overriable configuration for hidding SIM related UI.
Bug: 240515161
Test: test cases and local testing
Change-Id: I8d7ddd18861a696830da39f040dfb14b9ed46726
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
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
- 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
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
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
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