It turns out to be more complicated than I had thought to determine if a
device should be considered to support eSIM. But the good news is that
we already had a helper method for this - this CL switches to using it
in some code for DSDS UI.
Fixes: 129061243
Test: make RunSettingsRoboTests
Change-Id: I41e500eb70b6c6b725c0ddf09fe1ca1a69df4563
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
Followup CL will need to delete the backing code after we remove the feature flag.
Bug: 127540176
Test: robotests and visual inspection
Change-Id: I17e917b9726cf7f5470af09332ede38f8c253eed
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
On the Network & internet page, we want to collapse all the prefs into
'Advanced' that appear after 'Data Saver'. The mechanism for specifying
where the collapse point starts is just a static count, and it doesn't
really understand the concept of dynamically added preferences like the
ones we add at the top when the device is in DSDS mode. To fix this in
the short term, this CL makes the header that manages these prefs
manually adjust the count as needed. In the future we'd like to have a
better mechanism for this added in the support library.
Fixes: 128855968
Test: make RunSettingsRoboTests
Change-Id: I4509726ff29bc71e1f0b3d4a2f60dffe4b1dd7ac
This only fixed in old page from aosp/777974. We need to migrate
it to new preference controller
Fixes: 117257109
Test: Manual
Change-Id: I257be10d7cc1fc4a91ee0df404dd69b4d2ee8ae2
(cherry picked from commit acacaf44d3)
Get bug complaining it blocks UI even though it works fine some devices.
This CL moves methods to worker thread and keep progressbar
shown at least for 1 second, to avoid janky UI.
Fixes: 129329645
Test: RunSettingsRoboTests
Change-Id: Iee51949b7f6dfe2ede0fc4e6cd0f7b96d7199081
Using "show_4g_for_lte_data_icon_bool" to control VoLTE toggle names,
making sure strings can be correspond to the icon.
Bug: 128325427
Test: Use commands to override carrier config to observe the
UI as expected.
Test: atest pass.
Change-Id: I41dd28eb2c14d385a8396c551bf5ef2cf9258997
Change default from "Enhanced 4G LTE Mode" to "VoLTE".
Add 4g calling and its sub summary.
Show carreirs VoLTE toggle names by carrier config.
Bug: 129112234
Bug: 129153582
Test: Use commands to override carrier config to observe the
UI as expected.
Change-Id: I1d418873a661b3c20c5a6d0a056dcb2573742c65
These are changes for strings used in two scenarios:
-When switching which SIM is used for mobile data. This is an update to
some existing strings.
-Enabling an eSIM when another one is already enabled (so the first one
will need to be disabled). These are new strings.
Bug: 129156640
Test: compile, plus manual (run a device in DSDS mode, go to details for
SIM that isn't currently used for mobile data, and tap on mobile data
switch)
Change-Id: Ie9dfe23c466cb454bbad916ba83b833967a0da0e
API review changes. The class covers more information other than
registration state.
Test: Build
Bug: 127657991
Change-Id: I362bcd3e4bec91817081ddea2f822062b12c4207
This changes the behavior for when we show an affordance to add a mobile
subscription via the eSIM manager (if eSIM is supported). On the
Network & internet page, the behavior we now want for the "Mobile
network" pref has several possibilities as detailed below.
No existing subscriptions:
- Summary is "Add a network"
- Tapping on pref leads to the add subscription flow
One existing subscription:
- Summary is the name of the subscription (usually the carrier name)
- Tapping left-hand side of the pref leads to mobile network details
- A "+" button is shown on right of pref, and tapping "+" leads to the
add subscription flow
2 or more existing subscriptions:
- Summary is "<count> SIMs"
- Tapping left-hand side of the pref leads to a new page with the list
of subscriptions
- A "+" button is shown on right of pref, and tapping "+" leads to the
add subscription flow
The existing code controlling the "Mobile network" pref (in
MobileNetworkSummaryController.java) already had behavior similar to
this, but needed to be updated to no longer rely on whether we're in
DSDS mode.
Also, the page with the list of subscriptions that you can go to in the
"2 or more existing subscriptions" case mentioned above has an "Add
more" link at the bottom which leads to the same eSIM manager flow, but
it was always showing this link even if the device doesn't support
eSIM. This CL also fixes that problem.
Bug: 127870567
Test: make RunSettingsRoboTests
Change-Id: Ie8cca47ac81f8992fa6ecf1940bdfed411fd333b
When airplane mode is enabled, users should not be able to
change the value of mobile data. Thus, when airplane mode is enabled,
replace the Slice with a no-op slice explaining why it cannot be
changed.
Fixes: 119411534
Fixes: 126726036
Test: robotests
Change-Id: I991fe05ad8f18004f77fbf1c87403de602d3a267
This is related to settings_network_and_internet_v2 flag turn on. Some
tests were assuming old flag behavior.
Fixes: 128356137
Test: robotests
Change-Id: I4eca49f24ad5a10a0fb40f2c02a2d139ba4cb1a4
There were two failing tests due to problems in this class:
-PreferenceControllerContractTest
-SettingsSearchIndexablesProviderTest
In one case it was because we weren't checking for a valid Lifecycle,
and in the other it wasn't implementing PreferenceControllerMixin (or
inheriting from BasePreferenceController).
Bug: 127524919
Test: atest SettingsUnitTests
Change-Id: I662e300d68a21c28e1efb3ec9e23c4a882497176
In the places where we have a link to let the user add an additional
mobile network subscription, we need the "fore provision" extra added to
the intent.
Bug: 127532036
Test: manual (enable DSDS mode and the settings_network_internet_v2
feature flag, then go to Settings->Network & internet and try clicking
on the '+' button on the right of the Mobile network preference, or
click through that pref if you have 2+ sims and hit the 'Add more'
link. This should bring you into an 'add sim' flow provided by the eSIM
manager)
Change-Id: I56ab2125938f2df07f756d100a7ac993b1e5ced3
When airplane mode is enabled, users should not be able to
change the value of mobile data. Thus, when airplane mode is enabled,
replace the Slice with a no-op slice explaining why it cannot be
changed.
Fixes:
Fixes: 126726036
Test: robotests
Change-Id: I1c6d95dbb9d0c51247709b9867506c800f5872cd
On the mobile network details page, as well as in several preference
controllers used in various page, we had listeners for the
ACTION_RADIO_TECHNOLOGY_CHANGED broadcast that when fired would cause a
reload. It turns out that this gets broadcast as a sticky intent, so our
callbaks would fire just after registering to listen, resulting in lots
of unnecessary extra reloading. This was particularly noticable on the
mobile network details page because the entire page gets reloaded.
The fix is to make our listeners ignore the broadcast if it's the
initial sticky one.
Bug: 126419558
Test: make RunSettingsRoboTests
Change-Id: I6ab7b43d74b07a839e45ce5368e45809be658b9d
- when there is no usage data at all, launching the app data usage page
will show something blank, as there's no cycle with available usage
data. Check the overall historic usage to make sure that there's
usage data to be shown, otherwise, disable the preference.
Fixes: 123518021
Test: make RunSettingsRoboTests
Change-Id: I2d19f85e8618c41e2c31b9e4259cdc522f69e371
A check was added earlier to make sure in DSDS mode only one sub
shows data on, which is not true for opportunistic subscriptions. For
them, it should always be on (enforced by Telephony) and be disabled
as it shouldn't be turned off.
Bug: 124331860
Bug: 124683219
Test: manual, robolectric
Change-Id: I53c8d881ff71ad25c418085d3eee63e55c786b8f
CarrierConfig maybe null when config loader is not ready, so we need
to add null check here.
Bug: 124447166
Test: RunSettingsRoboTests
Change-Id: I3c104f1ca44bb0bcacad460c68084163c758746a
Replace getAvailableSubscriptionInfoList with getSelectableSubscriptionInfoList
so that hidden subscriptions won't show up.
Bug: 121396526
Test: manual
Change-Id: I73c41a6605b68011ba5b619f9d6e8d41d18a9dcd