Commit Graph

34556 Commits

Author SHA1 Message Date
Jackal Guo
765fb8293d Revert "[Settings] Refactor PhoneStateListener"
This reverts commit e01df59027.

Reason for revert: b/163995409 | Build failure.

Change-Id: Ia413a4bae93055ceca5b6aa85602c84a8fbe5424
2020-08-13 08:48:31 +00:00
Peter_Liang
6a893a54b6 Refine and migrate the functions that related to update preference into the specific lifecycle.
Goal:
Avoid the screen to be scrolled or moved by itself after changing theme.

Bug: 148785841
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ToggleFeaturePreferenceFragment
&& make RunSettingsRoboTests ROBOTEST_FILTER=ToggleScreenMagnificationPreferenceFragmentTest

Change-Id: I35a41a920194d6de01b635ce4c8461df2635ce1a
2020-08-13 15:04:12 +08:00
Bonian Chen
e01df59027 [Settings] Refactor PhoneStateListener
Remove Looper and update of mSubId

Bug: 144542981
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=Enhanced4gBasePreferenceControllerTest
make RunSettingsRoboTests -j ROBOTEST_FILTER=VideoCallingPreferenceControllerTest
make RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingPreferenceControllerTest

Merged-In: Ie6ae5b5914322644f2655e585b03a6b685bbc84a
Change-Id: I5306b3a80220c02d2de1b25f20e8ef7f845e9a09
2020-08-13 13:02:04 +08:00
Arc Wang
e86a292990 Merge "[Wi-Fi] Fix crash after editing invalid hotspot password" 2020-08-13 03:03:07 +00:00
Bonian Chen
5560882548 [Settings] Replace getSimCount() API
Change design of monitor change in Settings.Global.MOBILE_DATA and
Settings.Global.DATA_ROAMING in order to avoid from accessing
getSimCount().

Bug: 144251589
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=RoamingPreferenceControllerTest
make RunSettingsRoboTests -j ROBOTEST_FILTER=VideoCallingPreferenceControllerTest

Merged-In: I965a0c07c7c9ef5897b33809bae6a7921977db18
Change-Id: I8010f74c41826b081aa9f599d33a9519a1888215
2020-08-13 10:56:55 +08:00
Lucas Dupin
1d663e72ce Merge "Time for dark theme doesnt format 24 hr correctly" into rvc-d1-dev am: e899f749a1 am: 5f44b7cf54 am: 6430a4b88f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12337522

Change-Id: Iac01c66216d6ab98654b97f33505d9f60714c78e
2020-08-12 22:24:45 +00:00
Lucas Dupin
6430a4b88f Merge "Time for dark theme doesnt format 24 hr correctly" into rvc-d1-dev am: e899f749a1 am: 5f44b7cf54
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12337522

Change-Id: I7f2ae48cbdcad2fa44d96382b7d2c175b7605f59
2020-08-12 22:07:32 +00:00
Lucas Dupin
01cb6c4a20 Merge "Time for dark theme doesnt format 24 hr correctly" into rvc-d1-dev am: e899f749a1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12337522

Change-Id: I4dae464e9f3c581d80a10d515934302c345ef336
2020-08-12 21:51:47 +00:00
Lucas Dupin
5f44b7cf54 Merge "Time for dark theme doesnt format 24 hr correctly" into rvc-d1-dev am: e899f749a1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12337522

Change-Id: I607edce1f3981b4b8882bea1530362980a280de9
2020-08-12 21:50:32 +00:00
Lucas Dupin
e899f749a1 Merge "Time for dark theme doesnt format 24 hr correctly" into rvc-d1-dev 2020-08-12 21:27:45 +00:00
Yi-Ling Chuang
228bc78bf9 [DO NOT MERGE] Pre-allocate height for contextual cards.
To prevent the UI jank causing by the async card loads, we pre-allocate
some space for the card to fill in. After this change, only one card can
be shown at a time.

More details:
- When the card number configuration is set to 0, don't trigger the card
loader.
- The height adjusting logic is as follows.
When Settings is opened, pre-allocate a space first.
After the RV finish laying out, reset the RV to wrap_content. So if the
card has to be expanded(eg. wifi large mode or dismissal view), then it
will adjust the height accordingly. While if a card previously shown
becomes unavailable(dismissed or conditions not meet), we also reset the
RV so the space can be gone.

Bug: 163288869
Test: robotest
Change-Id: I0dcb2dae8f0533e562ad06f664b7ae7a9afecd21
2020-08-12 21:40:06 +08:00
TreeHugger Robot
6af0342084 Merge "Display "see all" option when bluetooth is off" 2020-08-12 10:24:29 +00:00
Hugh Chen
bde100849e Display "see all" option when bluetooth is off
- This CL before, Bluetooth settings will hide the "see all"
  option when bluetooth is off. For the UX improvement, this
  CL will show the "see all" button when bluetooth is off. And
  turn on the BT when user press "see all" button to let user to
  quick pair their disconnected devices.
- Update and add test case

Bug: 147150367
Test: make -j42 RunSettingsRoboTests
Change-Id: I7a1451a36a31253b6be2203341bea4e59fed7c2b
2020-08-12 17:07:33 +08:00
Bonian Chen
6fe15deeb1 Merge "[Settings] Code refactor for Wifi calling IMS API" 2020-08-12 08:41:29 +00:00
TreeHugger Robot
6a128b486f Merge "Update language to comply with Android's inclusive language guidance" 2020-08-12 08:19:06 +00:00
TreeHugger Robot
0d11f25a77 Merge "Update language to comply with Android's inclusive language guidance" 2020-08-12 08:00:06 +00:00
Treehugger Robot
0eb1091927 Merge "Prevent errors when updating operator pref summary" am: 5a19cea4ef am: c855a8a21a am: 455d7924c4 am: 43cff6baff am: cc70bf2117
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1364660

Change-Id: I03362cd0a041cac0d4d50a11f0938e7331c8f7a7
2020-08-12 07:16:30 +00:00
Treehugger Robot
cc70bf2117 Merge "Prevent errors when updating operator pref summary" am: 5a19cea4ef am: c855a8a21a am: 455d7924c4 am: 43cff6baff
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1364660

Change-Id: I95587957bbfe79c37dd1246d3bec0a67201d217f
2020-08-12 07:02:12 +00:00
Treehugger Robot
43cff6baff Merge "Prevent errors when updating operator pref summary" am: 5a19cea4ef am: c855a8a21a am: 455d7924c4
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1364660

Change-Id: I4721d6a74d655fca65f7a95ee996d3421581871e
2020-08-12 06:46:58 +00:00
Arc Wang
ae79c41cd7 [Wi-Fi] Fix crash after editing invalid hotspot password
From Android 11, Wi-Fi framework only supports ASCII encoding
for hotspot password, APP should check if password character is
valid.

This change checks if SoftApConfiguration accepts the password
and disable the OK button if the password is invalid.

Bug: 163353576
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiUtilsTest
Change-Id: Ief3c6c1f08f8fcdf128768cde3ab8eef91f19fbe
2020-08-12 14:34:02 +08:00
Arc Wang
b432cf293c [Wi-Fi] Fix crash after editing invalid hotspot password
From Android 11, Wi-Fi framework only supports ASCII encoding
for hotspot password, APP should check if password character is
valid.

This change checks if SoftApConfiguration accepts the password
and disable the OK button if the password is invalid.

Bug: 163353576
Test: make RunSettingsRoboTests ROBOTEST_FILTER=WifiUtilsTest
Change-Id: Icf3b5c85856906e4cbe2f0ad79583c1b7182b8c7
Merged-In: Ief3c6c1f08f8fcdf128768cde3ab8eef91f19fbe
2020-08-12 14:29:30 +08:00
Treehugger Robot
455d7924c4 Merge "Prevent errors when updating operator pref summary" am: 5a19cea4ef am: c855a8a21a
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1364660

Change-Id: Ibdb29f86401439a66c9aa3a456454e6caadddffa
2020-08-12 06:26:47 +00:00
Treehugger Robot
5a19cea4ef Merge "Prevent errors when updating operator pref summary" 2020-08-12 05:54:27 +00:00
Bonian Chen
91412b5069 [Settings] Code refactor for Wifi calling IMS API
Replacing logics of
ImsManager#isWfcEnabledByPlatform() &
MobileNetworkUtils#isWfcProvisionedOnDevice()
into WifiCallingQueryImsState#isWifiCallingProvisioned().

Bug: 140542283
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=WifiCallingSliceHelperTest
Merged-In: I68462368669b81e10d09bbb93e74e23ea9a1f446
Change-Id: I26d616f082a4dd3f2cb14defc5f68218f668ad48
2020-08-12 13:43:46 +08:00
Bonian Chen
60d00b58f3 Merge "Change MobileNetworkUtils to use EuiccManager.isSupportedCountry" 2020-08-12 04:10:10 +00:00
Edgar Wang
a8742aa7ab Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual
Change-Id: Ia8625091a107fc3fb652d3ba3f75ea3cc1a8d9f5
2020-08-12 11:29:07 +08:00
Edgar Wang
8c8a2e85ec Update language to comply with Android's inclusive language guidance
See https://source.android.com/setup/contribute/respectful-code for reference

Bug: 161896447
Test: robotest & manual

Change-Id: I32f369a608c8b4f513f2c32afca6d408ee273428
2020-08-12 11:25:21 +08:00
tim peng
e581cab958 Merge "Display "pair new" only when local output device is available." 2020-08-12 03:05:53 +00:00
TreeHugger Robot
3c8f93a6a5 Merge "Update inclusive language for Accessibility Settings" 2020-08-12 02:28:23 +00:00
Jeffrey Carlyle
f22059f21f Add BatteryStatusFeatureProvider
This allows the battery header status line to be overridden.

Bug: 150239363
Test: implemented provider and changed status line text
Signed-off-by: Jeffrey Carlyle <jcarlyle@google.com>
Change-Id: I05bedbee641f087de5ee1b25a00724ce2de51f87
Merged-In: I05bedbee641f087de5ee1b25a00724ce2de51f87
2020-08-11 13:49:27 -07:00
Fan Zhang
6c046831de Override 2 getSliceUri() instance to return platform slice
(This is not a clear cherry-pick, @Override need to be removed.)

Bug: 126222433
Test: robotest
Merged-In: I3f9c8202d9b75b24b80ebcf385abc95f8df851e2
Change-Id: Iec9fae48e91baef5861baef946fc155b1eb37904
2020-08-11 04:24:27 +00:00
timhypeng
113ac8102a Display "pair new" only when local output device is available.
-If media app does not support cast->phone transferring, local output
audio device is unavailable. "pair new" is for Bluetooth which should be
also unavilable.
-These types are local output audio devices:
TYPE_BUILTIN_SPEAKER
TYPE_WIRED_HEADSET
TYPE_WIRED_HEADPHONES
TYPE_USB_DEVICE
TYPE_USB_HEADSET
TYPE_USB_ACCESSORY
TYPE_DOCK
TYPE_HDMI

Bug: 163095048
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib844c7546e1946cb87fac04cb8b2b8f4acf06451
2020-08-11 10:52:57 +08:00
Bonian Chen
5c4154b2e4 Merge "Add interface and extend db to support storing slice uris" 2020-08-11 02:23:56 +00:00
Jiashen Wang
889f702829 Change MobileNetworkUtils to use EuiccManager.isSupportedCountry
Currently LPA passed supported/unsupported countries to Settings by
writing the value into properties which is not ideal. Instead, we should
call EuiccManager.isSupportedCountry instead.
Bug: 147674689
Test: 1) Manually tested by flashing the change to the device
2) Change LPA to override onGetIsEuiccSupportedCountry
3) Make sure LPA can get the request

Merged-In: Ib136beea325eabdfbd8a6a843611143958dce603
Change-Id: If406d9d803affa334c1ad4f871fcfdc0561c9bf6
2020-08-10 22:57:02 +08:00
Fan Zhang
f609df425d Add interface and extend db to support storing slice uris
Bug: 126222433
Test: manual
Merged-In: Ie81e69477d297aa96a0daad02d56196c956271a3
Change-Id: Ifdae6fc47dc078ba83c211d07d6028f00f11e6f2
2020-08-10 16:50:21 +08:00
Josh Hou
abe032ea66 Show/hide 5G preferred network type also consider allowed_network_type
1. The carrier or privileged apps will enable/disable network types on
the device, so Settings references the allowed network type to show/hide
5G preferred network type option.

2. For mainline, copy the getNetworkTypeFromRaf() from RadioFamily to
Settings.

Bug: 136730709
Test: Manual test & EnabledNetworkModePreferenceControllerTest
1. Enable allowed_network_type
2. Disable allowed_network_type
Merged-In: I493f2a2c7f4bc32b3fcb8ab2bace5839d8667bd5

Change-Id: Id591f454a60d0ba08c3fc4a2ffe40836dafeb5f0
2020-08-10 16:18:36 +08:00
SongFerng Wang
b5f1c1b819 Merge "Manual selection item's data icon is wrong" into rvc-d1-dev am: ddc238c15e am: a19f93e7f6 am: e0fd5aa92a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12326249

Change-Id: I9b9571f8ff033530f80823aec6b4321ce604272a
2020-08-10 07:44:41 +00:00
SongFerng Wang
e0fd5aa92a Merge "Manual selection item's data icon is wrong" into rvc-d1-dev am: ddc238c15e am: a19f93e7f6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12326249

Change-Id: I0c4a0a515d23a79315908e6a790a590cc2e6cdb3
2020-08-10 07:25:58 +00:00
SongFerng Wang
cf614aa1ee Merge "Manual selection item's data icon is wrong" into rvc-d1-dev am: ddc238c15e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12326249

Change-Id: Ie601f7835d5cb99dbd1491deaae5ed394a94c549
2020-08-10 07:10:26 +00:00
SongFerng Wang
a19f93e7f6 Merge "Manual selection item's data icon is wrong" into rvc-d1-dev am: ddc238c15e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12326249

Change-Id: I5b0386cc82ff7fc8383cd5eebab929e0d8a6458a
2020-08-10 07:09:03 +00:00
Bonian Chen
d1998a6fe8 Merge "[Settings] Code refactor" 2020-08-10 07:02:46 +00:00
Bonian Chen
c1ec7f1fea Merge "Replaced reference to setPreferredNetworkType" 2020-08-10 05:51:23 +00:00
PETER LIANG
946dafab93 Merge "Fix the screen scrolling down after enabling dark theme." 2020-08-10 03:56:44 +00:00
Jay Aliomer
b569dfdac8 Time for dark theme doesnt format 24 hr correctly
Fixes: 163048376
Test: Manual
Change-Id: Ia6c2633408670656c2b42bfb724aaf900561682e
2020-08-07 23:43:09 +00:00
Kevin Chyn
bee84e2daa Remove remainder of generateChallengeBlocking
Test: make -j56 RunSettingsRoboTests

Face Tests:
Test: Open face settings, remove face, add face
Test: Open face settings, but cancel credential confirmation.
      Face settings does not show up
Test: adb shell am start -a android.app.action.SET_NEW_PASSWORD
      Able to enroll face

Fingerprint Tests:
Test: Open fingerprint settings, add button is shown
Test: Open fingerprint settings, but cancel credential confirmation.
      Fingerprint settings does not show up
Test: adb shell am start -a android.app.action.SET_NEW_PASSWORD
      Able to enroll fingerprint

Bug: 162533680
Change-Id: Ie448ed086e73b0b545bd3a2e62437c543f7aad6c
2020-08-07 12:49:37 -07:00
Kevin Chyn
66bfe45f99 BiometricEnrollIntro should use non-blocking generateChallenge
GenerateChallenge used to block when showing the credential screen.
Now that GenerateChallenge is moved to after the credential screen
is shown, we need to delay the next button instead. This is generally
non percievable to the user, but this is more robust against busy
system server.

Fixes: 161325267
Test: Enroll fingerprint/face device
Change-Id: I0fbbef8bf469e32bed251acf22556ad2ea8e2933
2020-08-07 12:49:37 -07:00
Kevin Chyn
7b0867c6d3 4/n: Remove challenge from choose/confirm, use new path
Biometric enrollment will not request a Gatekeeper HAT during
initial credential setup or credential confirmation anymore.
Instead, it is broken down into the following steps now.

Bug: 161765592

1) Request credential setup / confirmation to return a
   Gatekeeper Password
2) Biometric enrollment will generate a challenge
3) Biometric enrollment will request LockSettingsService to
   verify(GatekeeperPassword, challenge), and upon verification,
   the Gatekeeper HAT will be returned.

Since both LockSettingsService and Biometric enroll/settings
make use of biometric challenges, this allows us to make the
challenge ownership/lifecycle clear (vs. previously, where
LockSettingsService has no idea who the challenge belongs to).

Exempt-From-Owner-Approval:For files not owned by our team,
(StorageWizard), this change is just a method rename

Test: RunSettingsRoboTests

Run the following on face/fingerprint devices
Test: Remove credential
      adb shell am start -a android.app.action.SET_NEW_PASSWORD
      Set up credential + fingerprint
Test: Remove credential,
      adb shell am start -a android.settings.FINGERPRINT_SETTINGS
      This tests the ChooseLock* logic in FingerprintSettings
Test: Set up credential,
      adb shell am start -a android.settings.FINGERPRINT_SETTINGS
      This tests the ConfirmLock* logic in FingerprintSettings
Test: Remove device credential, enroll fingerprint/face. Succeeds.
      This tests the ChooseLock* returning SP path from
      BiometricEnrollIntro
Test: With credential and fingerprint/face enrolled, go to
      fingerprint/face settings and enroll. This tests the
      ConfirmLock* path in Fingerprint/FaceSettings
Test: Remove device credential, enroll credential-only, enroll
      fingerprint/face separately. Succeeds. This tests the
      ConfirmLock* returning SP path in BiometricEnrollIntro
Test: In SUW, set up credential, then biometric. This tests
      the ChooseLock* path in SUW
Test: In SUW, set up credential, go back, then set up biometric.
      This tests the ConfirmLock* path in SUW

Change-Id: Idf6fcb43f7497323d089eb9c37125294e7a7f5dc
2020-08-07 12:49:15 -07:00
Kevin Chyn
e67a0afc41 3/n: verifyCredential no longer returns RequestThrottledException
Bug: 161765592

Test: Accept/Reject/Lockout on the following
      1) Owner profile
      2) Managed profile with separate challenge
      3) Managed profile with unified challenge
Change-Id: Ia7b670a29e9e8ee1fe65bd09965a454601a06871
2020-08-07 12:17:41 -07:00
Kevin Chyn
fbc2ec831f 2/n: Add setRequestGatekeeperPassword to ChooseLockSettingsHelper
This change adds the plumbing on Settings side for ConfirmLock*.
ChooseLock* will be done in a follow-up CL. The changes in this CL
are not invoked by any code path yet. This will also be integrated
in a follow-up CL.

Bug: 161765592

Perform the following with a local change to use
ChooseLockSettingsHelper#setRequestGatekeeperPassword(true)

Test: GK PW is received when setRequestGatekeeperPassword(true)
Test: GK PW + Challenge sent to GK, GK verifies and caller receives
      GK HAT successfully

Change-Id: Ibd809784b5599343f34836bc5f3e709627b7f22a
2020-08-07 12:17:41 -07:00
TreeHugger Robot
2acae9df4a Merge "[Wi-Fi] Support multi-SIM for SIM dependent EAP methods" into rvc-qpr-dev am: edd587c2a6 am: 48d768b00c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12167384

Change-Id: I559cee4b76432f72cab16b926ad7d8a2f87abedc
2020-08-07 12:04:56 +00:00