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
Continue work from ag/5991582:
1. Add search support for CDMA/GSM related preference
2. Update func getAvailabilityStatus, inside it should get all
related manager from subId, rather than default one in controller.
Bug: 117843601
Bug: 77276236
Test: RunSettingsRoboTests
Change-Id: Id72505a512269bdc5adb02e806d38ac367ce9f07
This adds a preference showing the carrier settings version to the
mobile network details page.
Bug: 123995414
Test: make RunSettingsRoboTests
Change-Id: I7b80ead0eadb7375b4404262337e47f75102125c
This fixes a few issues with the "Mobile network" preference that shows
on the Network & internet page:
-The pref should not be available at all if the device is wifi-only.
-The pref should be disabled in airplane mode.
-If eSIM support is disabled, we need to disable entry points for adding
a new eSIM subscription (the summary and click handler in single-SIM
mode with no physical SIM, and the 'add' button in dual-SIM mode).
Bug: 116349402
Test: make RunSettingsRoboTests
Change-Id: Ic6fe426e9f890d80b399d48a2c9984d4d8b02a10
This CL make all mobile related preferences support:
1. If subId is manually set, check visibility by subId
2. If not, try find whether there is one active subId meets requirement.
If so, isAvailable() will return true to enable search.
Bug: 77276236
Test: RunSettingsRoboTests
Change-Id: I24e2d2f5e882284ba8e997b844caee7722b6b07d
Build the special case mobile data slice for general use,
and for the Internet Connectivity Panel. The Slice controls
the default data subscription, and links to the subscriptions
page.
Bug: 117804089
Fixse: 119411534
Test: robotests & test app.
Change-Id: I31b524a8fe3182a244d940848090e97250632f39
On the Network & internet page, when you have multiple active SIMs we
add a header with an entry for each one. This CL sets the summary for
those entries to be a 1 or 2 line indication of what services (calls,
SMS, and data) that SIM is used for by default, or just an indication
that the SIM is available. And for the SIM used by default for data, we
include status information about whether it's connected or not.
Bug: 116349402
Test: make RunSettingsRoboTests
Change-Id: I46f37433f753724bbde8876f0d89c3155b2c3812
Remove the horizontal progress bar as it is being moved into
SettingsLib.
Bug: 123538370
Test: See progress bar in wifi settings screen.
Change-Id: I8fc94b1f3a7a52559cfcf89f3e4a604784ec9995
In multi-sim, the on/off switch for mobile data on the mobile network
details page doesn't quite work right. The thing it's missing is
checking whether the current sim is the default one used for data - if
it's not the default, then the switch should be off even if mobile data
is turned on. And clicking to enable needs to prompt the user to ask if
this sim should be become the new default one, which we already have
code for, but we weren't triggering it properly.
Bug: 124005813
Test: make RunSettingsRoboTests
Change-Id: Ifdf58addfde94b3bac85c68e4b22ddfbaf01dff7
When a device is in DSDS mode and has two mobile network subscriptions,
a user may want to completely disable one of those subscriptions. This
implements the UI for this, calling into some recently added APIs in the
SubscriptionManager class.
Bug: 122670283
Test: make RunSettingsRoboTests
Change-Id: I40fd3e777ce3542004e4761406b24196505b97d8
This CL adds a pencil/edit icon at the top of the mobile network details
page. When clicked, it brings up a dialog that allows the user to set
the display name used for that mobile network - this is most useful in
multi-SIM situations. This dialog also displays the mobile network
operator name and phone number which can help the user keep straight
which one they are renaming.
Bug: 122670283
Test: make RunSettingsRoboTests
Change-Id: Ifd63cfb66ce743bd5ba8a06b52229f06ed56b7bd
On the Network & internet page, we have a "Mobile network" pref that in
single-SIM mode leads to a detail page for the current SIM. In multi-SIM
mode it has more complicated behavior (leading either to details about
the current subscription if there is only one, or a list of
subscriptions if more than one).
One of the things we wanted to add was a shortcut to add another eSIM
subscription. So this CL adds a plus button control on the right of the
preference which leads to a flow to add another mobile subscription via
the eSIM manager.
Bug: 116349402
Test: make RunSettingsRoboTests
Change-Id: I38e0031e3bd603e93c45dcb4557750e7bc1b8b5a
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
As a part of the work for subscriptions UI improvements, we want to show
data usage information at the top of the mobile network details page,
and those details need to be specific to the particular subscription
we're showing details for, even if that SIM isn't the current default
one. This is useful for seeing data usage across your SIMs in dual-SIM
devices.
This CL adapts our already existing DataUsageSummaryPreferenceController
class so that if can be used on any fragment instead of just the
DataUsageSummary one, and changes it to take an explicit subscription
id instead of assuming it should use the default one.
Bug: 122670283
Test: make RunSettingsRoboTests
Change-Id: I41e307b0f32580c73b08adec7cabf01c96d7e835
Replace getActiveSubscriptionInfoList() with
getActiveSubscriptionInfoList(true) so that settings will not show
hidden subscriptions to the user in various pages.
Bug: 121396526
Test: manual
Change-Id: I717999fed7d3a5a037914239694bef52df7c6207