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
This adds a switch which appears on the SIM details page for any SIMs
that aren't the default on for data. It lets the user opt-in to turning
on data on this SIM only in the case where there is an active call -
this is needed because in some cases the default data SIM may not be
able to be used when a call is active on another SIM.
Bug: 132114205
Test: make RunSettingsRoboTests
Change-Id: Ie44c56e0f486fd93aff411a0ba0e47d3695a4941
Second user or guest is limited some mobile network access. We need to check current user
is admin or not to decide the preferece page will be found in search or not.
Bug: 133466016
Fixes: 133466016
Test: Manual test & make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.network
Change-Id: I48d3064a8aa28ac1f2ac699b42a999b9682b1b52
We initially landed support for erasing an eSIM subscription in
ag/7208624 for b/124254555 using our own confirmation/progress UI, and
calling the EuiccManager.deleteSubscription method to do the
deletion. It turns out this is a low-level API which doesn't handle some
important cases such as subscription grouping or the eSIM slot not being
active.
This CL changes Settings to just launch an intent to begin an eSIM
Manager flow to delete a subscription that provides its own
confirmation/progress UI, and should properly handle subscription
grouping and making the eSIM slot active as needed.
Bug: 132114333
Test: make RunSettingsRoboTests
Change-Id: Ie59fea37fa73c5e6573e1181e271ffb5d453bd08
When a device is in DSDS mode with multiple SIMs, we show a header on
the Network & internet page with a "connectivity overview", with an
entry for Wi-Fi (if connected) and each active SIM. The icon for Wi-Fi
shows signal strength, but the icons for the active SIMs were just
static; this CL fixes that. It introduces a class for listening to
signal strength changes on a set of subscriptions, and moves some
existing code we had for displaying signal strength (when manually
picking networks for GSM) in NetworkOperatorPreference into a utility
method that can be shared.
Bug: 128855095
Test: make RunSettingsRoboTests
Change-Id: I668cafe1e9f9c3651b1f33783c8538ad9c2732b5
For GSM networks, the "Choose network" page allows you to manually pick
from among different cell networks, and shows signal strength and
network type (LTE, 3g, etc.) for available ones. The signal strength
wedges were transparent and not visible to the user - this CL fixes
that.
Bug: 132895135
Test: visual (Insert SIM with GSM service, then go to Settings ->
Network & internet -> Mobile network -> Advanced -> Automatically select
network)
Change-Id: Ibbbc60b590b09e4b4f5e31b49fe578769dcdbc4d
If it is true, then hide:
1. Network Select settings
2. Apn settings
Fixes: 131709441
Test: RunSettingsRoboTests
Change-Id: I203cda570564a41c5bb54a3ad9e60c7f35c0d30c
Data usage number was wrong because we didn't set correct
subId, this CL fixes this issue.
Bug: 132113657
Test: RunSettingsRoboTests
Change-Id: If7c9cf2f4709d9a8e5f9a154c02de9484800d6d5
When you have multiple active SIMs, the Network & internet page has a
header showing entries for each one, with summary text indicating which
one is used for data (and whether it is just set as the default, or
actively using data). We were not properly setting this text when either
data wasn't being used, eg when connected to wifi, or mobile data was
disabled for this SIM. This CL fixes both these problems by adding new
helper classes to listen for relevant events.
Test: make RunSettingsRoboTests
Fixes: 124394250
Fixes: 128857712
Change-Id: I34f2679752fa41a50247dd0b12581cbfd77a34f6
The SIM call manager used to be resolved based
on what the default voice subscription ID was.
This caused settings to be displayed for the
incorrect subscription. A new API has been added
that allows settings to query the SIM call manager
per subId.
Test: manual, unit testing
Bug: 131627085
Change-Id: I7699508429f7df7a138c24c4c7a6e9f1148b84da
Add log to manual network select settings code to make the debug easier.
Bug: 131912524
Test: build
Change-Id: I6edb1aac67dd827563fe10adcdc53b6dddea9ca3
Sometimes we get null sub info which causes a crash. This just
makes it so that if we see that we treat it as inactive since
there isn't really a world where an active null sub info makes
sense.
Test: atest SubscriptionUtilTest
Bug: 131603073
Change-Id: Id5ecbecf011e19ff02d9465e0571b1d17c83de9a
This adds a preference to the mobile network details page that lets a
user delete an eSIM profile.
Bug: 124254555
Test: make RunSettingsRoboTests
Change-Id: I1e266566afc36ff39bf1b1c6d1db674c7c6e8648
During the early phase of work on DSDS, we found that a hacky solution
to seeing duplicate subscriptions that are part of a logical group (eg
Google Fi) was to filter out the entries with empty MNC strings. It
turns out this breaks things for some legitimate eSIM subsctiptions, and
isn't needed anymore because of the fixes that landed for b/127833821.
Fixes: 130706446
Test: make RunSettingsRoboTests
Change-Id: Ic4472c1de3c3e2449139b3e2ffb20d11a0058e8a
- return slice like in airplan mode when mobile data disabled in the getSlice
of the MobileDataSlice
- replace CONDITIONALLY_UNAVAILABLE by DISABLED_DEPENDENT_SETTING in the
getAvailabilityStatus of the MobileDataPreferenceController
- remove the duplicated mobile data item by update data_usage_cellular.xml
Fixes: 130650621
Test: robotest
Change-Id: I42c0983c27d4edb17fcdce7ca386023911254d2d
When a subscription is disabled, we need to hide most things on the
details page. The UX mocks called for leaving in a few things such as
the data usage header and some carrier information, but in tests I've
done it looks like the telephony APIs don't have any of that available
when the subscription is disabled. So for now the only thing left on the
page in the disabled case is the on/off toggle at the very top.
Fixes: 129665956
Test: make RunSettingsRoboTests
Change-Id: I98f4590fca38d03b1e5ff2cf0d2b4876d2adf936
In single-sim mode, you can have both an eSIM subscription and a pSIM
inserted into the device, and only one of them can be enabled. It turns
out that if the pSIM is the disabled one, we would not show it in the
settings UI; this CL fixes that.
It also fixes a somewhat related problem that I noticed while testing
this, that if you have only one subscription that happens to be
disabled, we were not showing the on/off switch at the top of the page,
which would leave you with no way to enable it.
Bug: 129864878
Test: make RunSettingsRoboTests
Change-Id: I4214ad34c59ac2df429772c066c51a9318f5baa7
Only visible when it is metered and mobile data off.
Also refactor one mobile data observer so we can reuse it.
Bug: 130222866
Test: RunSettingsRoboTests
Change-Id: Id218f51da3c373fad98c1a39cfadd6b0e8c46a88
Don't run entitlement if the request is base on outdated subId.
Bug: 129751453
Test: -build, flash, boot
-atest TetherServiceTest
-manual test with carrier SIM
Change-Id: Id3157df1a5758f8c72acbc45c9fefd2215c87395
Merged-In: Id3157df1a5758f8c72acbc45c9fefd2215c87395