When the settings search do BasePreferenceController.createInstance,
it get the the IllegalStateException, and then the search ignore this
controller. It causes the indexing can not filter this controller via
the PreferenceController's getAvailabilityStatus.
Bug: 335509130
Test: Build pass. Do search and no crash
Change-Id: Icaff8ca690ca3e3a46c2f21a5fbde0bbd99fd92e
In current design, the mobile data observer might be removed due to
SIM absence after registered so that mobile data network info can't
be updated to clients.
To fix it, migrate it to use API TelephonyCallback.onUserMobileDataStateChanged
Change-Id: I26c8f946823abb7505f0227c8dd8ab0700d0c5f2
Merged-In: I26c8f946823abb7505f0227c8dd8ab0700d0c5f2
- Add the phone number
- Add the mobile network(SPN)
- Add the IMEI
- Add the EID
- Remove the mobile data
- Remove the Auto data switch
- Remove the calls and SMS default subscription
Bug: 318310357
Bug: 298898436
Bug: 298891941
Test: atest MobileNetworkEidPreferenceControllerTest
atest MobileNetworkImeiPreferenceControllerTest
atest MobileNetworkPhoneNumberPreferenceControllerTest
atest MobileNetworkSpnPreferenceControllerTest
atest MobileDataPreferenceControllerTest
atest MobileNetworkSettingsTest
Change-Id: Ie2767056dd04d1131390e3a03d6d82d56fe5b2dc
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
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
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
setSummaryProvider() is used instead of setSummary() in
Ia24d88817c99db7ed3fc264dbc9c10e0a09d8a39, but there is still a place
using the setSummary(), mixing these two will lead to crash.
Change it to setSummaryProvider() to prevent crash.
Fix: 233295254
Fix: 233712251
Test: manual
Change-Id: I4627545711b848009c3bd7179f0368ff82e62697
Currently, cannot use ListPreference.setSummary() when the summary
contains user generated string, because ListPreference.getSummary() is
using String.format() to format the summary when the summary is set by
ListPreference.setSummary().
Use preference.setSummaryProvider() instead, which is recommended for
ListPreference.
Fix: 233295254
Test: manual
Change-Id: Ia24d88817c99db7ed3fc264dbc9c10e0a09d8a39
When displaying VoIP account in Default voice account UI within
mobile network configuration, some null pointer checking need to
applied due to this is no longer a real account bind to SIM card.
Bug: 157334667
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DefaultSubscriptionControllerTest
Change-Id: I3927362676c867ac245f16e1d00ea953b21ec1d4
Adopt TelephonyBasePreferenceController for better support on multi-SIM
environment.
Bug: 143996139
Test: make RunSettingsRoboTests -j
ROBOTEST_FILTER=DefaultSubscriptionControllerTest
Test: make RunSettingsRoboTests -j
ROBOTEST_FILTER=DisableSimFooterPreferenceControllerTest
Change-Id: I8a9c6efa927be1cb4a7ab4ebe816dcad9f20bd70
Replacing the display of summary part within Settings' calls preference
by VoIP account when configured calling account settings within Dialer.
The click behavior for calls preference remain unchanged, due to this is
the configuration for subscription (instead of for all kinds of
accounts).
Bug: 136277187
Test: manual
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=DefaultSubscriptionControllerTest
Change-Id: Iaa5fa1f3efe7ba2463caa0b450077f885d42b1c8
In cases where a SIM is initially disabled, even after you turn it on
the ListPreference's for selecting the default SIM for Calls and SMS
weren't working because the preference change listener wasn't getting
registered. This CL fixes that for these controllers by always
registering a change listener whenever we make the preference visible.
Fixes: 134472294
Bug: 135142209
Test: make RunSettingsRoboTests
Change-Id: Ia9362b7f26309bdbd6c5e8140fb606b28e2b34d8
In a couple of places we were showing DSDS UI using the list of
*available* subscriptions instead of the list of *active* ones. This
difference is relevant for instance if you have multiple eSIM profiles -
in typical hardware only one of those can be active at one time. This CL
fixes that problem in two places:
1) The header at the top of the Network & internet page
2) The ListPreference's on the mobile network detail page for selecting
the default subscription for Calls / SMS.
Fixes: 129673046
Test: make RunSettingsRoboTests
Change-Id: I891c856bdd4516286fcee1067684d9161ceaca80
CBRS subscriptions (also known as "opportunistic" in the code base) are
data-only and it should not be possible to try to set them as the
default for Calls or SMS.
Fixes: 125855327
Test: make RunSettingsRoboTests
Change-Id: Ie20ef21ccc7b27315089f6a61cceb6e1512ec373
This adds prefs to the the details page for mobile network subscriptions
that appear in multi-SIM mode. They show which subscription is set as
the default for calls and SMS respectively, and let the user change what
the default is for each. They can be set to either a specific
subscription, or set to "Ask every time".
Bug: 122670283
Test: make RunSettingsRoboTests
Change-Id: Id2b23e4b5c3d1b5c04b5766e73fc8202c05d8f75