Commit Graph

417 Commits

Author SHA1 Message Date
Bonian Chen
128de7bdb6 [Settings] hide preferred network mode UI
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
2019-08-22 14:36:12 -07:00
Youming Ye
b7923f5a3f Check the missing useHomeWfMode case
Bug: 133812904
Test: Build
Change-Id: If89c67c0595808a1339517c6084f1d1e23f5974b
Merged-In: If89c67c0595808a1339517c6084f1d1e23f5974b
2019-07-31 16:38:32 -07:00
TreeHugger Robot
4685c785b9 Merge "Protect entry points to add an eSIM when admin restricted" into qt-r1-dev 2019-07-31 22:39:22 +00:00
Antony Sargent
482415d37e Protect entry points to add an eSIM when admin restricted
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
2019-07-31 12:53:39 -07:00
Antony Sargent
6d910e8608 Make EnabledNetworkModePreferenceController listen to setting changes
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
2019-07-30 12:30:19 -07:00
Antony Sargent
efa7716533 Refesh mobile network details page on carrier config changes
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
2019-07-26 12:00:39 -07:00
Antony Sargent
6dd874305e Make MobileNetworkActivity support onNewIntent
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
2019-07-15 17:11:19 -07:00
Mark Chien
8a44e4f274 Merge "Fix entitlement failed when device is on CBRS" into qt-r1-dev 2019-07-03 13:16:03 +00:00
markchien
0331222483 Fix entitlement failed when device is on CBRS
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
2019-06-26 17:05:48 +00:00
TreeHugger Robot
0304f4d1ce Merge "Replace isSubscriptionEnabled with isActiveSubId." into qt-dev 2019-06-19 03:11:25 +00:00
TreeHugger Robot
e2ab7540a3 Merge "MobileData slice should be null if not-actionable" into qt-dev 2019-06-19 02:26:20 +00:00
Malcolm Chen
dd0b2fc380 Replace isSubscriptionEnabled with isActiveSubId.
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
2019-06-18 23:55:35 +00:00
Matthew Fritze
63bc6a1090 MobileData slice should be null if not-actionable
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
2019-06-18 14:53:21 -07:00
Lei Yu
b4d94a8ccc Merge "Handle null intent in WifiCallingPreferenceController" into qt-dev 2019-06-14 22:38:59 +00:00
TreeHugger Robot
7af299c604 Merge "Fix Calls/SMS default SIM selector" into qt-dev 2019-06-13 23:25:04 +00:00
Antony Sargent
22b827db55 Fix Calls/SMS default SIM selector
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
2019-06-13 23:24:34 +00:00
Lei Yu
41bb2cb6a8 Handle null intent in WifiCallingPreferenceController
When intent is null, we will hide wifi calling preference however
its listener might still triggered with null intent.

This CL update controller so it can handle this event inside listener
callback.

Fixes: 135095929
Test: RunSettingsRoboTests
Change-Id: I4c5aba03871f11a2d9f9b4da329c2c2655ff9adb
2019-06-13 14:47:56 -07:00
Antony Sargent
e548fc6334 Remove on/off toggle for physical SIMs
Our original design for mobile network subscription management included
having an on/off toggle for both eSIMs and physical SIMs. However, it
turns out that our current telephony stack has some problems with
disabling physical SIMs, so for now we're removing the on/off
toggle. Because of this, we've added a footer to the SIM details page
for physical SIMS letting users know that to disable them you need to
remove them from the device.

Even though we're removing the on/off toggle for pSIMs, there are still
a few edge cases where you could end up with a disabled one (eg having
two SIMs in single-SIM mode where the eSIM is active and then you erased
the eSIM). In order to have a way to re-enable the pSIM in these cases,
this CL changes the relevant pref's summary to "Tap to activate <name>"
and makes the tap action begin the re-enabling. This can affect either
the Mobile network pref on the Network & internet main page (if this
disabled pSIM is the only SIM), or an entry in the Mobile networks list
page (if there are still multiple SIMs present).

Finally, this also fixes a problem where we weren't showing the on/off
toggle for eSIMs if you only had one SIM total; we actually always want
to show it for eSIMs.

Bug: 132921553
Test: make RunSettingsRoboTests
Change-Id: Id0750ebd5bed46dc2450b65b53cc81847ef09b82
2019-06-10 14:41:08 -07:00
Andy Chou
a9e8c50764 Merge "UE showed wrong title and message when enabling data roaming." into qt-dev 2019-06-06 00:35:16 +00:00
Antony Sargent
aeb1da0db9 Add a "data during calls" preference
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
2019-06-03 15:20:33 -07:00
zoey chen
3aa9c79341 UE showed wrong title and message when enabling data roaming.
It set wrong string when building the roaming dialog.

BUG: 133731388
Test: Manual test
Change-Id: Ib46b2b2ba1d62f84da7cd82bbbc03fe4f3069afc
2019-05-31 17:37:26 +08:00
Christine Franks
b747c5c270 Merge "Add SIM color picker" into qt-dev 2019-05-30 20:01:48 +00:00
Christine Franks
8869db9555 Add SIM color picker
Bug: 133193155
Test: make ROBOTEST_FILTER="(RenameMobileNetwork*)" RunSettingsRoboTests -j48

Change-Id: Ifae8b77bc5b4ba1039ede70889468a018f57d78f
2019-05-29 17:03:31 -07:00
Sunny Shao
bddf5149e5 Fix the crash while tapping "app data usage" as second user
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
2019-05-30 06:15:11 +08:00
TreeHugger Robot
f010cb4034 Merge "Switch to using an intent for eSIM erasing" into qt-dev 2019-05-29 20:02:48 +00:00
TreeHugger Robot
d133a026cd Merge "Allow renaming inactive subscriptions." into qt-dev 2019-05-29 18:16:40 +00:00
Amit Mahajan
e0285703b2 Allow renaming inactive subscriptions.
Test: manual
Bug: 132922483
Change-Id: I30b4b88ddf53b917081a57bd9a917a51b4b44ec6
2019-05-28 16:03:55 -07:00
Antony Sargent
c6e07c61d0 Switch to using an intent for eSIM erasing
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
2019-05-28 15:31:51 -07:00
Antony Sargent
223c179cd3 Add signal strength icons to multi-SIM header
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
2019-05-28 12:49:08 -07:00
Lei Yu
2bdf358cd1 Merge "Hide network select in some situations" into qt-dev 2019-05-23 20:28:38 +00:00
Lei Yu
2bf8806740 Hide network select in some situations
Hide network select when:
1. NETWORK_MODE_LTE_CDMA_EVDO && worldMode
2. 6 NETWORK_MODE && worldMode && !Tdscdma

Also update GSM/CDMA check since it was only include 1 network mode,
not 6 modes.

Fixes: 131126607
Test: RunSettingsRoboTests
Change-Id: I28782778827ced7d9f24d527d52399e2b544109e
2019-05-23 09:56:28 -07:00
Antony Sargent
8c6098e5cf Fix signal strength display in 'Choose network' list
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
2019-05-20 17:20:31 -07:00
TreeHugger Robot
1ffae41f4e Merge "Add check KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL" into qt-dev 2019-05-14 00:54:58 +00:00
Lei Yu
85398a503e Add check KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL
If it is true, then hide:
1. Network Select settings
2. Apn settings

Fixes: 131709441
Test: RunSettingsRoboTests
Change-Id: I203cda570564a41c5bb54a3ad9e60c7f35c0d30c
2019-05-13 15:56:17 -07:00
Brad Ebinger
1350309ecc Merge "Resolve the SIM call manager per subId" into qt-dev 2019-05-10 20:17:38 +00:00
TreeHugger Robot
cf964643b5 Merge "Update summary for mobile data toggle for CBRS." into qt-dev 2019-05-09 00:51:31 +00:00
Andrew Sapperstein
477e345f21 Update summary for mobile data toggle for CBRS.
Fixes: 127529917
Test: robotests
Change-Id: Id2d0bdbcf9674106a3dff8db8e9ceb22dbdda314
2019-05-08 15:55:04 -07:00
TreeHugger Robot
2ace95f386 Merge "Update datausage for DataUsagePreferenceController" into qt-dev 2019-05-08 19:20:13 +00:00
TreeHugger Robot
ea6bd51bea Merge "Fix two problems related to data connectivity in the multi-SIM header" into qt-dev 2019-05-08 18:31:39 +00:00
Lei Yu
9bc3273489 Update datausage for DataUsagePreferenceController
Data usage number was wrong because we didn't set correct
subId, this CL fixes this issue.

Bug: 132113657
Test: RunSettingsRoboTests
Change-Id: If7c9cf2f4709d9a8e5f9a154c02de9484800d6d5
2019-05-08 10:25:10 -07:00
Antony Sargent
4bb253358b Fix two problems related to data connectivity in the multi-SIM header
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
2019-05-07 16:10:52 -07:00
Brad Ebinger
5caefbff3f Resolve the SIM call manager per subId
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
2019-05-07 21:45:05 +00:00
Edgar Wang
133ffc9c57 Show admin dialog when preference is disabled by Device Admin
Fixes: 130694312
Test: manual & robotest
Change-Id: I9c6487ac056ec3d784bd6f6901e96869e27e0b3e
2019-05-08 02:04:05 +08:00
Pengquan Meng
02a54a0150 Merge "Add log for manual network select settings" into qt-dev 2019-05-06 18:15:02 +00:00
TreeHugger Robot
805ba40194 Merge "Format app data usage using IEC unit, not SI unit." into qt-dev 2019-05-04 10:25:26 +00:00
Fan Zhang
71d793cc2a Format app data usage using IEC unit, not SI unit.
Fixes: 131924586
Test: visual
Change-Id: Iedbd15fb9c98a5c93089708e40175cbf5572eeda
2019-05-03 16:53:11 -07:00
Pengquan Meng
97650e9880 Add log for manual network select settings
Add log to manual network select settings code to make the debug easier.

Bug: 131912524
Test: build
Change-Id: I6edb1aac67dd827563fe10adcdc53b6dddea9ca3
2019-05-03 14:37:11 -07:00
Amin Shaikh
3f1de20c7e Fix themed settings icons.
- Added android prefix for homeAsUpIndicator attribute
- Override ic_arrow_down_24dp from androidx
- Remove ic_lock drawable overlay
- Update date and time icon
- Dedupe ic_menu_add and ic_add_24dp

Bug: 131346125
Test: mp settings;
Change-Id: I7223249f2adccc5569a37e8b68cae5499e7c7620
2019-05-03 17:02:46 +00:00
Andrew Sapperstein
aaf8af5430 Add metrics categories for delete sims dialogs.
Fixes: 131519375
Test: is metrics
Change-Id: I020e3d887fb0408617428d00386bb57318b6b175
2019-05-02 14:03:24 -07:00
TreeHugger Robot
30d0e6c7d7 Merge "Fix null pointer in SubscriptionUtil" into qt-dev 2019-04-30 23:43:42 +00:00