Commit Graph

27123 Commits

Author SHA1 Message Date
Andrew Sapperstein
8c6b2bafb0 Merge "Fix erasing of eSIMs for some devices" into qt-dev
am: 1f942d9857

Change-Id: I04bc60ed040546a64ea157840b76d815169d32a3
2019-07-11 20:51:33 -07:00
Andrew Sapperstein
1f942d9857 Merge "Fix erasing of eSIMs for some devices" into qt-dev 2019-07-12 03:13:39 +00:00
Antony Sargent
5f612a4b44 Fix erasing of eSIMs for some devices
Doing a factory data reset used to always erase eSIMs. Then a few months
ago we added a default-on checkbox to let users opt out of erasing the
eSIM during this process, but only had it show for some devices (ones
which support the "fastboot oem esim_erase" command) by adding a system
property named masterclear.allow_retain_esim_profiles_after_fdr.

When recently updating the strings shown in the factory data reset
screen and the confirmation dialog, we changed the code so that if that
the checkbox is hidden we'll pass false for the ERASE_ESIMS_EXTRA
parameter sent to the factory data reset confirmation dialog. This had
the unintended side effect of making devices that don't specify true for
masterclear.allow_retain_esim_profiles_after_fdr skip erasing the eSIM.

This CL fixes that by removing the "is the checkbox hidden" check, going
back to the previous behavior of just using the checkbox value, which is
on by default even if hidden.

Fixes: 135284765
Test: make RunSettingsRoboTests
Change-Id: Ia9f335920e4e3c4a90f0a6a49d1722a0c19ea83d
2019-07-11 20:23:58 +00:00
tmfang
edd86364f5 Improve Settings launch performance
am: 496d3f6f9c

Change-Id: I5256fa0c04af07108b76cf21e9558b03d499e883
2019-07-11 00:54:14 -07:00
tmfang
496d3f6f9c Improve Settings launch performance
From traces analysis, we found getFreeBytes
was taking a long time to return.

getFreeBytes was used when storage controller
tried to get storage information.

In order to prevent this case, we put the action
which takes too much time in background thread.

Test: I can't reproduce it locally. From code view,
this is a reasonable root cause.
Fixes: 136268875

Change-Id: I78e42cde88553c003f198cffb5747b352055f59a
(cherry picked from commit 0c37f019f6)
2019-07-11 04:19:42 +00:00
Neil Fuller
46e53e770c Merge "Add tobiast@ to the OWNERS file"
am: a931693721

Change-Id: Id52f2dcd3755f4fbbd6f6918e993063aebc582ac
2019-07-02 10:13:36 -07:00
Neil Fuller
ca6542843c Add tobiast@ to the OWNERS file
Add tobiast@ to the OWNERS file as libcore TL.
Remove pszczepaniak@ as he hasn't been on libcore
for a while.

Test: None
Change-Id: I714d3448ed60006cb58a0f49e95b7b834a6aac36
2019-07-02 10:55:50 +01:00
Andrew Sapperstein
0c1f7da25a Merge "Add UI for mainline modules licenses." into qt-dev
am: 72aded338a

Change-Id: I4a2b655f0a325194ec5aa242edaaf51095748bd7
2019-06-28 10:28:07 -07:00
Andrew Sapperstein
72aded338a Merge "Add UI for mainline modules licenses." into qt-dev 2019-06-28 16:56:04 +00:00
Sunny Shao
27067657f2 Merge "Fixed the IllegalStateException on removing account" into qt-dev
am: 5a69fac694

Change-Id: I6d87742bd0925237cb73171561118e4bdd363b8a
2019-06-26 04:35:26 -07:00
TreeHugger Robot
5a69fac694 Merge "Fixed the IllegalStateException on removing account" into qt-dev 2019-06-26 11:15:35 +00:00
Antony Sargent
e4e1f08781 Merge "Check isWfcProvisionedOnDevice in WifiCallingSettings" into qt-dev
am: 3288037bd2

Change-Id: I0edcbba1f4c19052daeb2e69c2dc36e839641d9f
2019-06-25 23:02:14 -07:00
TreeHugger Robot
3288037bd2 Merge "Check isWfcProvisionedOnDevice in WifiCallingSettings" into qt-dev 2019-06-26 05:35:29 +00:00
Andrew Sapperstein
56a8c33c1b Add UI for mainline modules licenses.
Added a module licenses option that lives in Legal information settings.
Clicking that option opens module licenses page, which displays every
module by name, filtered to exclude modules without license files.
Clicking a module in the list opens HTMLViewer.

Created ModuleLicensesProvider, a new ContentProvider that serves as a
redirect for the Uris sent to HTMLViewer so that they open asset files.
In order to provide the redirect, the provider will write the license file
to a file in Settings' cache directory when the license does not exist
in the cache or is outdated. The provider then opens that cached file.

Fixes: 135183006
Test: robotests
Change-Id: I7d69da34780c8c4efb150d0c0411078c12bc80d8
2019-06-25 16:01:38 -07:00
Antony Sargent
46d819272a Check isWfcProvisionedOnDevice in WifiCallingSettings
On the SIM details page, the preference leading to a page for
configuring wifi calling will appear based on the results of the
MobileNetworkUtils#isWifiCallingEnabled helper function. That helper
uses the ImsManager to check several conditions, among them both
isWfcEnabledByPlatform and isWfcProvisionedOnDevice.

The page for configuring wifi calling has a tabbed UX, with one tab for
each active subscription that supports it. The WifiCallingSettings class
gets a list of the active subscriptions to determine which tabs to show,
and removes any that don't support wifi calling, but was only using the
isWfcEnabledByPlatform test to do so. This is a problem because the code
for showing the contents inside the tab, in WifiCallingSettingsForSub,
includes a sanity check of isWfcProvisionedOnDevice and calls finish()
if that returns false.

What this meant in practice is that if you happened to have 2
subscriptions where one returns true for both isWfcEnabledByPlatform and
isWfcProvisionedOnDevice, but the other only returned true for
isWfcEnabledByPlatform, then you'd never be able to succesfully use the
wifi calling page at all because the tab for the subscription you
*aren't* trying to configure would always call finish() early.

The right long term solution to this problem is probably to remove the
tabbed UX entirely from this page, since we probably don't need it given
the overall new multi-SIM UX. But there may still be legacy uses and
that is likely a bigger change than we want to make right now.

As a stopgap, this CL just adds a check of isWfcProvisionedOnDevice to
the code for filtering out ineligible subscriptions from the tabbed
interface, which we should have always had anyway.

Fixes: 135591718
Test: make RunSettingsRoboTests
Change-Id: I656c3d3fb30cb6fabcb86685eae38c5f0cd0c6f2
2019-06-25 14:16:53 -07:00
Antony Sargent
bc50fb8aef Merge "Add a listener for subscription changes to SimDialogFragment" into qt-dev
am: 87fadeeb4a

Change-Id: I59e0e265a5e91bed12d7e786d4fdd3043c068fed
2019-06-25 11:40:48 -07:00
TreeHugger Robot
87fadeeb4a Merge "Add a listener for subscription changes to SimDialogFragment" into qt-dev 2019-06-25 17:54:54 +00:00
Mehdi Alizadeh
5ea919fc4b Merge "Adds metrics categories for gesture navigation dialogs" into qt-dev
am: 32d16291de

Change-Id: I96cbfd9d4e7b3b96f6977958861ae913dfa5e8ec
2019-06-24 17:36:26 -07:00
Mehdi Alizadeh
32d16291de Merge "Adds metrics categories for gesture navigation dialogs" into qt-dev 2019-06-25 00:09:06 +00:00
Hai Zhang
5f8c446f47 Merge "Revert "Add special apps access settings page for financial app."" into qt-dev
am: b39810f5ab

Change-Id: I8ab0452cd656d25afe164dec49553512decfdcec
2019-06-24 14:28:54 -07:00
Hai Zhang
71f2614736 Revert "Add special apps access settings page for financial app."
This reverts commit 43374eabb8.

Reason for revert: No longer needed because we are using whitelist for
SMS permission

Fixes: 135213238
Test: presubmit
Change-Id: I182be4a1136521f325866e70e875439c17816ef2
2019-06-24 21:11:36 +00:00
Mehdi Alizadeh
0c7fd9e406 Adds metrics categories for gesture navigation dialogs
Bug: 135211145
Test: Builds
Change-Id: I9231778072bb222142fca09275cd84b87a263fa6
2019-06-24 20:29:41 +00:00
Antony Sargent
45f0701380 Add a listener for subscription changes to SimDialogFragment
For some kinds of telephony changes that might happen while we're
already showing one of these dialogs, we already get sent a new intent
for the dialog which we internally convert into a refresh of the dialog
contents instead of stacking a new copy on top of the old one.

But it turns out there are some other cases where the telephony stack
doesn't send a new intent for the dialog but *does* send a change event
through the SubscriptionManager, and we want to respond to those as
well. This CL adds a listener for those events.

Fixes: 135276696
Test: make RunSettingsRoboTests
Change-Id: Ifb93ae95f45fda5831e112306dd9361ccaa5119c
(cherry picked from commit 6a1d7e60ac)
2019-06-24 16:58:40 +00:00
Julia Reynolds
3370e6cfb9 Remove dead code
am: ab63fd3c25

Change-Id: Ie0ff97b0db868f4f5aff19c4d8da2a8fc2a5717d
2019-06-21 10:15:12 -07:00
Julia Reynolds
ab63fd3c25 Remove dead code
Test: try to search 'gentle'
Fixes: 135640138
Change-Id: If03703e59f77206da08fc80e88bb986f821c18fe
2019-06-21 13:24:05 +00:00
Ivan Podogov
9de5b04dea Fix Settings crash when trying to show work policy info
am: 242ff568d1

Change-Id: I2a048e75934dda54d4b495908f07016e9c00b674
2019-06-20 15:34:39 -07:00
Ivan Podogov
242ff568d1 Fix Settings crash when trying to show work policy info
This fixes an exception in startActivity() call:

"android.util.AndroidRuntimeException: Calling startActivity() from outside of
an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really
what you want?"

Bug: 132904820
Test: manual
Change-Id: I0c687ea76068778554b072b6cc8274352de6fa28
2019-06-20 16:28:47 +01:00
Raff Tsai
2c01fb911c Merge "Cannot switch between multiple TTS engines" into qt-dev
am: 753215fff9

Change-Id: I5d399c7f653caf53041f1136948f4a8de457d7c5
2019-06-19 22:57:25 -07:00
TreeHugger Robot
753215fff9 Merge "Cannot switch between multiple TTS engines" into qt-dev 2019-06-20 04:42:23 +00:00
Arc Wang
9b971efd6b Merge "[Wi-Fi DPP] Wi-Fi QR code scanner is not working after a connection fail" into qt-dev
am: d64b6c8846

Change-Id: Icfa3b21e383182a127a1e633a671013c371ab105
2019-06-19 19:38:57 -07:00
Arc Wang
d64b6c8846 Merge "[Wi-Fi DPP] Wi-Fi QR code scanner is not working after a connection fail" into qt-dev 2019-06-20 01:34:09 +00:00
Arc Wang
c58b3aaf0f Merge "[Wi-Fi DPP] Support WPA2/WPA3 transition mode" into qt-dev
am: d8916ef151

Change-Id: I360ff827ae8544d76c4411410172ace81bbcef56
2019-06-19 10:14:55 -07:00
TreeHugger Robot
d8916ef151 Merge "[Wi-Fi DPP] Support WPA2/WPA3 transition mode" into qt-dev 2019-06-19 16:54:35 +00:00
Raff Tsai
39c6a16aba Cannot switch between multiple TTS engines
That is caused by layout xml changes. The radio button was clickable
in old xml resource. But it is not clickable in new xml resource.
Therefore we can't receive click callback. Fixed by changing
Radio button state when preference is clicked.

Fixes: 135285101
Test: manual, make RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.tts"
Change-Id: Idd7bf37d9ccbc1b56d41978d19dc05c8a81cc49a
2019-06-19 16:35:35 +08:00
Malcolm Chen
b3b52ce088 Merge "Replace isSubscriptionEnabled with isActiveSubId." into qt-dev
am: 0304f4d1ce

Change-Id: I3a78fe154d3861c779365d1e611ac8c559861a10
2019-06-18 20:29:39 -07:00
Matthew Fritze
1601d41f8a Merge "MobileData slice should be null if not-actionable" into qt-dev
am: e2ab7540a3

Change-Id: If562aec8635ab4d56ff5016eea5d19d2a96e2383
2019-06-18 20:23:30 -07: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
Arc Wang
00c8b534cd [Wi-Fi DPP] Wi-Fi QR code scanner is not working after a connection fail
After a user uses Wi-Fi QR code scanner to scan a QR code of an unreachable
Wi-Fi network, the scanner does not recognize any QR code until the scanner is
restarted or back from a screen off state.

To restart QrCamera after a Wi-Fi QR code recognition, we should stop it before
start, otherwise the DecodeTask will not work.

Bug: 135225856
Test: Scan a Wi-Fi QR code of unreachable Wi-Fi network and
      scan a Wi-Fi QR code of reachable Wi-Fi network, check
      if the scanner recognizes QR code.

Change-Id: I0063c867d8e4046f184d02134bda842887c003a1
2019-06-19 10:01:17 +08: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
Antony Sargent
ff1c4940c8 Merge "Use displayName instead of operator name in MMS data notification" into qt-dev
am: 40e9ffc2f0

Change-Id: Ie50c5041ef4b9df9ef015cd5f147b1c45956893f
2019-06-18 16:02:39 -07:00
Antony Sargent
40e9ffc2f0 Merge "Use displayName instead of operator name in MMS data notification" into qt-dev 2019-06-18 21:54:33 +00:00
Antony Sargent
37008824e6 Use displayName instead of operator name in MMS data notification
When the phone is in DSDS mode and the user tries to send an MMS message
from the SIM that isn't the default for data, we need to pop up a
notification letting them know that the action can't succeed unless they
turn on the advanced option to allow data use for MMS messages. This
notification was using the operator name instead of the subscription
display name, so it didn't reflect any renaming the user might have done
to keep track of their SIMs, which is obviously confusing especially if
they have two different SIMs for the same carrier. This CL switches to
using the subscription display name in this notification.

Fixes: 134771858
Test: make RunSettingsRoboTests
Change-Id: I6995bf9dd6d5e9544e26f0d8e30e97c4e73ab783
2019-06-18 21:54:22 +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
Bookatz
6a3f2bfe2a Merge "If cannot add restricted profile, don't suggest it" into qt-dev
am: a5018be48a

Change-Id: Ic94e5f918a0db96dd21d8f719231bb65f31bd613
2019-06-17 18:43:04 -07:00
Bookatz
673bc9d01c If cannot add restricted profile, don't suggest it
Previously, on devices that cannot add a restricted profile (e.g. most
phones), the Multiple users menu had an option to "Add user", whereas
for devices that can, the option read "Add user or profile". Now it only
says the latter, due to ag/6412347. We add back the original wording
here.

Fixes: 135294519
Test: manual confirmation on a phone that text says "Add user"
Test: m -j ROBOTEST_FILTER=UserSettingsTest RunSettingsRoboTests
Change-Id: Ia166b6ff9c69c0042e8a781be1146a5622177121
2019-06-17 18:33:16 +00:00
Ivan Podogov
72bb3cc1f6 Merge "Add "Your work policy info" entry in Privacy settings" into qt-dev
am: 9a1c75c57a

Change-Id: Idf96f32733b5a3aedab325cbeba4b67c1d20ce24
2019-06-17 05:49:13 -07:00
Ivan Podogov
9a1c75c57a Merge "Add "Your work policy info" entry in Privacy settings" into qt-dev 2019-06-17 12:39:10 +00:00
Sunny Shao
d7d4a7ce6d Fixed the IllegalStateException on removing account
We display a dialog in AccountManager.removeAccountAsUser() callback, but at that
time fragment is onstop() which causes the IllegalStateException.

Fixes: 133253227
Fixes: 135004255
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.accounts
      make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.core
      make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.dashboard

Change-Id: I8534e8f7118234f6346607415698f9f91c3e5ffb
(cherry picked from commit d843ee85de)
2019-06-17 10:30:21 +00:00
Mehdi Alizadeh
2fbd41a326 Show a dialog with a slider to set the back gesture's sensitivity
am: 7d43125964

Change-Id: I64cf3b8725efb8f8377e4f9dac545743066b2cbb
2019-06-14 17:11:54 -07:00