Replacing TelephonyManager.getNetworkOperatorName() by
Obtaining carrier name from SubscriptionInfo.getCarrierName().
TelephonyManager.getNetworkOperatorName() only be used when there's no
SubscriptionInfo can be found.
Bug: 140443508
Test: Manual testing
atest MobileNetworkUtilsTest
atest OpenNetworkSelectPagePreferenceControllerTest
Change-Id: I7a86395c86d31fe2ba54c04ac16b1a0ebfc843f3
Hide preferred network mode UI no matter home, roaming or no service
when KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL been enabled.
Bug: 137681413
Test: atest PreferredNetworkModePreferenceControllerTest
atest EnabledNetworkModePreferenceControllerTest
Manual with AT&T SIM card in out of servce and in service
Change-Id: Ia0d1333c6cbae3a3717c8db6b77fbb9ea8cec968
Original behavior will map all APN type if enter empty APN type. But it
sometimes cause problem that MMS or IMS not working when select to this
custom APN. So if the user doesn't enter any APN type, just map to
valure of carrier config 'apn_settings_default_apn_types_string_array'
to avoid all the functions broken.
Bug: 129704611
Test: 1.Enter empty APN type and check if only default is added into
APN. 2.atest ApnEditorTest pass.
Change-Id: Icec274e5b402af06822479bcc60294b347f5254f
Fixed step:
1.Update resource xml file in SearchIndexProvider.
2.Add keywords for preference title array.
3.Initizlize data member.
When getAvailabilityStatus called by updateNonIndexableKeys,
the data member should be initialized,
otherwise it always returns CONDITIONALLY_UNAVAILABLE
Fixes: 137155154
Test: manual
Change-Id: Id06d78bffdeba247741dcfe81e9ed7e179141397
If the DISALLOW_CONFIG_MOBILE_NETWORKS admin policy is set, we were
accidentally still allowing access to the flow where you add an eSIM
subscription via the "plus" button on the Network & internet page. While
fixing this, I also noticed that the mobile networks list page (which
only becomes available if you have multiple subscriptions) has a link at
the bottom to start the flow as well, and that wasn't being protected.
The fix for the plus button on the Network & internet page was just to
make sure not to call setEnabled(true) if the preference was already
disabled by admin policy, since that has the effect of overriding the
admin-disabling.
The fix for the mobile networks list page just needed to add the
relevant tags in the layout XML, and then we get it for free.
Fixes: 137627845
Test: make RunSettingsRoboTests
Change-Id: I896ac248f50aaeecc157791938a0a0a98265aa07
The controller for the "Preferred network type" preference on the SIM
details page wasn't listening for changes to the underlying global
setting, so changes to the setting would be reflected in SysUI but not
on this page if it happened to be showing.
Bug: 135667565
Test: make RunSettingsRoboTests
Change-Id: I5dfe4843a681c613f49caf4584e9dbebc54e708a
In general the mobile network details page has several preference
controllers that don't listen to carrier config changes, so instead of
having each one add a listener, we instead just have one listener and
refresh the entire page when we see the broadcast.
Fixes: 135587885
Test: make RunSettingsRoboTests
Change-Id: Iff5b28dbfe12d94c901b442b23cece8e68218983
The last private DNS settings screen landed in P after string
freeze, which led us to reuse R.string.switch_on_text for the
"on" text when private DNS is active. That string comes from
notifications. Private DNS should have its own string for this
instead.
Bug: 79122154
Test: 1. Build pass
2. make -j44 RunSettingsRoboTests \
ROBOTEST_FILTER=PrivateDnsPreferenceControllerTest
Change-Id: Ie013a858c8bc41e00a1b940d02efa2b605991685
Long press QuickSetting mobile icon will launch MobileNetworkActivity.
Add isAdminUser checking in onCreate to avoid no permission fail.
Fixes: 137859662
Test: manual test
Change-Id: I8c7ab4fa6e2644f7c7a8e9442bdf5478aadb249f
The launchMode for MobileNetworkActivity specified in the android
manifest is "singleTask", which means that when an intent to it is
launched, if there is an existing instance we will reuse that instead of
creating a new one. But to handle this properly we need to know when it
happens by implementing onNewIntent, which we weren't doing.
Implementing this fixes a bug we noticed that if you have multiple SIMs
and recently visit the details page for SIM 1 but then click on a SIM
selection notification that should bring you to the details for SIM 2,
we'd just bring up the details page for SIM 1 again.
Fixes: 133447239
Test: make RunSettingsRoboTests
Change-Id: Ia9106b15ffde437f6dd6fd2da23336ec5b28f75e
When active cellular internet is switched to CBRS in DSDS case,
default data sub id may not be changed. Fix by using active
subscription id and pass this sub id to entitlement app.
Bug: 134994718
Test: atest TetherServiceTest
Test: manual test with carrer SIMs.
Change-Id: I30a1d70c0690f0dba8f4171a2bde884f9b7ccfc4
As we don't allow pSIM modem disablment, we should simply use isActiveSubId
to decide whether a subscription's preferences is changable. This will
avoid potential modem bugs that reports wrong modem status that result
in Setting's UX error.
Bug: 135222940
Test: manual and robo
Change-Id: I7cccf2fdab7c89d26dac4daad51cd5d6f3a90eba
In cases where MobileData should not be changed:
- Airplane mode
- No data subscriptions
we will return a null slice, rather than a slice with a no-op intent
attached as a primary action. The problem with the no-op intent is that
Slices assumes all actions are by definition, actionable, and the the
TalkBack description announces that the item is clickable, which it
really isn't.
We will in the future investigate disabled actions on Slices, but this
is the short-term fix.
Fixes: 132924748
Test: Robolectric
Test: Panel tester app
Change-Id: I1d62af32fe2dd985f0b52ea4188651e76f9c90ec