Commit Graph

31233 Commits

Author SHA1 Message Date
Julia Reynolds
03a42fd844 Update notification subtext
Test: atest
Fixes: 159274325
Change-Id: Iff98b4b056bf7a3c6386063d6588a26607ee7525
2020-06-18 16:25:38 -04:00
Jason Chiu
251b98492f Merge "Fix the overlapping problem of the burst of slice updates" into rvc-dev 2020-06-18 11:06:42 +00:00
Yanting Yang
c8e0d2e755 Merge "Avoid NPE when screen title is null" into rvc-dev 2020-06-18 09:58:47 +00:00
Jason Chiu
0625bb4815 Fix the overlapping problem of the burst of slice updates
Implement a throttle in SliceBackgroundWorker to control slice updates.

Test: robotest
Fixes: 152366832
Change-Id: I8b65d1b57973e036b932172627aca506f4fae3a4
2020-06-18 02:18:38 +08:00
Yanting Yang
72c2fa5a3d Avoid NPE when screen title is null
The screen title of Settings pages could be empty, e.g., Mobile network
detail page. It will cause NPE when Settings generates the slice
object, and then results in the Settings Search showing empty view for
slice search result. It’s a bad user experience, we need to add the null
check to avoid it.

Bug: 157986273
Test: robotests
Change-Id: I8bf6a081c6b3e97ccb173424ff4a310ae863ae2f
2020-06-17 23:49:09 +08:00
TreeHugger Robot
16e1cd296a Merge "Add new Always on display slice" into rvc-dev 2020-06-17 12:04:21 +00:00
Edgar Wang
e1186254d4 Add new Always on display slice
Currently we create Always on Display slice through
AmbientDisplayAlwaysOnPreferenceController. However, as the Always on
Display is merged into Idle lock screen, the conversion won't work
properly anymore when devices support the aware sensor.

Hence, we create another custom slice for this purpose.

Bug: 145920511
Test: manual & robotest

Change-Id: Ifd90e2de5219bd4e97aa13b5855fdab95ff6c4d0
2020-06-17 07:52:01 +00:00
Mark Chien
481816a97d Merge "Get entitlement configuration from intent extra" into rvc-dev 2020-06-17 06:07:52 +00:00
markchien
e22bd7a2e8 Get entitlement configuration from intent extra
Tethering resource configuration is move from framwork to tethering
module. The resource would not be accessible from outside of tethering
module.
List the replacements of framework resources usage and intent extra:
1. R.string.config_mobile_hotspot_provision_response
    --> android.net.extra.TETHER_PROVISIONING_RESPONSE.
2. R.string.config_mobile_hotspot_provision_app_no_ui
    --> android.net.extra.TETHER_UI_PROVISIONING_APP_NAME
3. R.array.config_mobile_hotspot_provision_app
    --> android.net.extra.TETHER_SILENT_PROVISIONING_ACTION
Besides, the current active subId would put in
android.net.extra.TETHER_SUBID

Note: They are not APIs because of API freeze. Now both tethering module
and Settings define these strings independently. Will replace hard code
string as tethering module-lib APIs in b/159085857.

Also move the entitlement response intent registeration from onCreated
to onStartCommand, this can avoid wrong intent registeration if subId
changed between onCreate and when the intent arrived.

Bug: 146918263
Test: atest TetherServiceTest
      atest TetherProvisioningActivityTest

Change-Id: I3d06df01302a9c1f0893712d9250fe394dc66588
2020-06-17 05:47:17 +00:00
Mark Chien
5bd41e573b Merge "Remove isProvisioningNeededButUnavailable usage" into rvc-dev 2020-06-17 02:29:35 +00:00
Mehdi Alizadeh
b50512b69a Merge "Allows IndicatorView to have a different size than Settings Activity" into rvc-dev 2020-06-16 22:53:25 +00:00
Alex Johnston
dd1d9c4db0 Merge "Wifi details - handle no profile owner" into rvc-dev 2020-06-16 19:06:52 +00:00
Alex Johnston
10c970c571 Wifi details - handle no profile owner
* If there is no profile owner, then do
  no call DPM method getProfileOwnerAsUser

Bug: 158284193
Test: manual testing
      make RunSettingsRoboTests -j ROBOTEST_FILTER=WifiDetailPreferenceController2Test
Change-Id: Ief1f0b3aa6805d69fc14da8f87a90c9b12bef8c6
2020-06-16 11:05:33 +01:00
Mehdi Alizadeh
2552dffe6e Allows IndicatorView to have a different size than Settings Activity
The transparent IndicatorView need to be immersive fullscreen, while the
underneath activity should not cover the status bar or the nav bar.

Bug: 157747505
Test: Manual test to verify status bar and nav bar are visible.
Change-Id: I6d5a3f53dd3768524700c3e33135fa7dfde839f1
2020-06-15 14:30:39 -07:00
Amy Hsu
f9a021511e Merge "Add Smooth Display option to developer in Settings" into rvc-dev 2020-06-15 08:39:26 +00:00
Rubin Xu
01bd0fcaf7 Merge "Remove password shards from memory" into rvc-dev 2020-06-15 08:34:18 +00:00
Bonian Chen
97de75fa83 Merge "[Settings] Allow talkback to focus and select APN" into rvc-dev 2020-06-15 07:51:17 +00:00
tim peng
e5c9b113b6 Merge "Unable to adjust remote session volume in Sound Setting" into rvc-dev 2020-06-15 06:29:32 +00:00
Tim Peng
e3a821d6fe Unable to adjust remote session volume in Sound Setting
-It is incorrect to compare the device ID with session ID
-The preference key is the session ID and we should adjust remote session volume by it

Fix: 158956140
Test: make -j42 RunSettingsRoboTests
Change-Id: Ia815b7bfdf6d7e44aca9832f11371669e973d363
2020-06-15 06:27:49 +00:00
Mark Chien
2aa2b0a2f8 Merge "Replace ConnectivityManager as TetheringManager" into rvc-dev 2020-06-15 06:23:28 +00:00
Mark Chien
49b74e24d6 Merge "Remove schedule recheck logic from TetherService" into rvc-dev 2020-06-15 06:23:11 +00:00
SongFerng Wang
518ffd7c76 Merge "Revert "Mainline: removed legacy UI for network selection mode."" into rvc-dev 2020-06-15 03:09:21 +00:00
Bonian Chen
723c251c13 [Settings] Allow talkback to focus and select APN
Change the focus area to help talkback focus on APN items.

Bug: 149794675
Test: manual
Change-Id: I5f391be89a5b22095d6f0d04b187ea18970f18d4
2020-06-15 03:08:31 +00:00
Yanting Yang
8357871465 Merge "Update App info behavior for mainline module" into rvc-dev 2020-06-15 02:59:13 +00:00
TreeHugger Robot
eac45c6a89 Merge "NetworkRequestDialog: Exit the dialog on connect failure" into rvc-dev 2020-06-15 02:52:27 +00:00
tim peng
7874c0fdc4 Merge "Refine layout for output switcher panel" into rvc-dev 2020-06-15 01:14:57 +00:00
Jason Chiu
85f03668a5 Merge "Improve BT slice card loading performance" into rvc-dev 2020-06-14 17:14:11 +00:00
Roshan Pius
924e9e39c1 NetworkRequestDialog: Exit the dialog on connect failure
Connection failure (similar to connection success) is the end of the
processng of a request. We should dismiss the dialog on connection
failure.

Bug: 158844146
Bug: 158616070
Test: Manual tests - Simulate connection failure and ensure that the
dialog vanishes with a toast.

Change-Id: I625ca76298ed549dbed76d398aea0c957c9102fc
Merged-In: I625ca76298ed549dbed76d398aea0c957c9102fc
2020-06-14 15:19:30 +00:00
TreeHugger Robot
d9a246c49e Merge "Explicitly request focus after button pressed" into rvc-dev 2020-06-13 00:19:44 +00:00
Kevin Chyn
5c4334276f Merge "BiometricFragment should commitAllowingStateLoss" into rvc-dev 2020-06-12 19:56:01 +00:00
Beverly
258fd7c03b Explicitly request focus after button pressed
Don't use focusableInTouchMode, it was causing focus/clickability issues
when the device wasn't in touch mode.

Test: manually tap button (tap works first try)
Test: turn on talkback and toggle buttons, also try toggling QS tile
while on the Settings page - doesn't reannounce state
Fixes: 158717450
Change-Id: I785d0200dd61235aa3308a8588f9ee998e7cb6e5
2020-06-12 16:01:50 +00:00
Rubin Xu
670a30e766 Remove password shards from memory
Force a garbage collection and zeroize some fields after Activity finishes

Test: Goes through password change flow, then grab a heap dump via
      adb shell 'am dumpheap $(pidof com.android.settings)
      /data/local/tmp/settings.hprof'
      And grep for password in the dump
Bug: 144537463
Change-Id: Idd0a04ada98900aeb2a6d20bb1270a4a4aec2cfd
2020-06-12 15:56:04 +01:00
Jason Chiu
8cbee49d28 Merge "Fix Slice not pinned error" into rvc-dev 2020-06-12 11:31:23 +00:00
SongFerng Wang
c3703cb4fe Revert "Mainline: removed legacy UI for network selection mode."
This reverts commit 521ebeafd3.

Reason for revert: to fix b/157880043

Bug: 157880043
Test: test legacy UI. PASS
Change-Id: I4116457a1f7fc0a3be142671c5d0439cd6bdf11d
2020-06-12 19:03:54 +08:00
Tim Peng
9bdeef43fd Refine layout for output switcher panel
1. only make the output switcher tall enough to show 6.5 devices
2. enlarge album art to 52*52 and keep same size on group panel
3. reduce panel header top padding
4. enlarge slice first item top padding
5. update slider bar right padding
6. update panel height
7. align slice title item left with panel title icon
8. enlarge slice end item right padding

Bug: 156045699
Test: manual test
Change-Id: I51321d98ef483665689b7e258d6071df76382759
2020-06-12 15:15:00 +08:00
tim peng
c21406a0a2 Merge "Output switcher panel requires large title icon for Slice slider style" into rvc-dev 2020-06-12 04:58:04 +00:00
Tim Peng
27b0ef6eb3 Output switcher panel requires large title icon for Slice slider style
-Add "VIEW_TYPE_SLIDER_LARGE_ICON" to be a new panel type which would enlarge its title icon
-Set "VIEW_TYPE_SLIDER_LARGE_ICON" to MediaOutputPanel and MediaOutputGroupPanel
-Extend slider style and add customized icon size
-Add test cases

Bug: 157208551
Test: make -j42 RunSettingsRoboTests
Change-Id: I9b4de4aa552e8b26e766411f7eff93ea1a2d1910
2020-06-12 11:22:17 +08:00
TreeHugger Robot
6791e1c09b Merge "Unicode-wrap app names for default apps summary." into rvc-dev 2020-06-12 02:28:48 +00:00
Hai Zhang
3f511d8ca9 Unicode-wrap app names for default apps summary.
This was done for permissions summary inside PermissionController, so
also do it in Settings.

Bug: 153804329
Test: manually confirm that the summary matches what linguist
      suggested after fix
Change-Id: I650fbed4488abfd871adafba5afb1ae9a2995c62
2020-06-11 16:54:25 -07:00
Jason Chiu
f7afded1d1 Fix Slice not pinned error
Slices should be pinned before being bound. The original design calls
registerSliceCallback() to pin a slice, and then calls bindSlice() and
passes the result to the callback directly. When the callback is
called, it executes unregisterSliceCallback() and unpins the slice.

However, registerSliceCallback() starts to observe the slice change and
then rebind it in an AsyncTask. If the slice is updating via its
background worker and the timing of the binding overlaps the callback
execution, it's possible to bind the slice right after unpinning it and
causes the error.

The solution is to remove the callback mechanism, and just to pin, bind
and unpin the slice directly.

Fixes: 157387583
Test: robotest
Change-Id: I8748dd3038a3662599935f07420d07cf254a4073
2020-06-12 04:14:46 +08:00
Kevin Chyn
895ddf239a BiometricFragment should commitAllowingStateLoss
This is a terminal case for both authentication as well as the
activity itself, so this should be safe.

Fixes: 158635014

Test: Builds
Change-Id: Ieef1ab305e6518dbc0ae34ad59d52da82895972a
2020-06-11 12:59:05 -07:00
TreeHugger Robot
d6081039c6 Merge "Don't pass channel info for the bubble app page" into rvc-dev 2020-06-11 17:23:56 +00:00
Joshua Duong
63facb88bd Merge "[adbwifi] Handle tls port changes." into rvc-dev 2020-06-11 17:23:00 +00:00
markchien
17feecffae Replace ConnectivityManager as TetheringManager
Tethering APIs are all move to TetheringManager from Android R.
1. Replace ConnectivityManager tethering API usage as TetheringManager.
2. Use TetheringManager#stopTethering to disable usb tethering instead
of using deprecated ConnectivityService#setUsbTethering
3. Use TetheringManager#stopTethering to disable bluetooth tethering
instead of directly use BluetoothPan#setBlueoothTethering. So bluetooth
getProfileProxy is not needed in TetherService because tethering would
do that when calling #stopTethering.
4. Also support TETHERING_ETHERNET entitlement check that
TETHERING_ETHERNET is new added from Android R.

Bug: 146918263
Test: atest TetherServiceTest
Change-Id: Id969f29d7210f2ee32719c76439049bbc86cd4f6
2020-06-11 23:36:59 +08:00
Mady Mellor
87e16f416f Don't pass channel info for the bubble app page
Fixes: 157485149
Test: make SettingsUnitTests; adb shell am instrument etc
Change-Id: If8d9b446ed056996cda91fcc5e92c7077ff3ea5d
2020-06-11 08:33:45 -07:00
markchien
257b9bcdfa Remove schedule recheck logic from TetherService
This change just remove unused code.
Tethering no longer ask TetherService to schedule recheck
(use #EXTRA_SET_ALARM) from Android Q. Intead Tethering
(EntitlementManager) would schedule the recheck by itself.

This change is necessary in order to move the resourcesout
of the framework because TetherService needs to know when
it need to re-run entitlement recheck from framework res
(config_mobile_hotspot_provision_check_period).

Bug: 146918263
Test: atest TetherSerivceTest
Change-Id: Ie45859c19b96d0689c45dd610501fae0506742ff
2020-06-11 23:28:49 +08:00
Jason Chiu
3c3f362125 Improve BT slice card loading performance
The bottleneck is getting LocalBluetoothManager the first time.
1. Initialize LocalBluetoothManager earlier and asynchronously.
2. Don't block in slice's constructor and getSlice().
  - Initialize the bt updaters until the manager is ready.
  - Just show a header if the manager is not ready yet.

Fixes: 157702021
Test: robotest
Change-Id: I427df55f259b45ba4c37557b22e09dcc24079e93
2020-06-11 18:39:29 +08:00
András Klöczl
f8754b4deb Merge "Change user setup prompt dialog showing logic" into rvc-dev 2020-06-11 08:47:07 +00:00
tim peng
359d3ac829 Merge "Apply RangeBuilder amination for media transferring" into rvc-dev 2020-06-11 05:55:21 +00:00
Yanting Yang
62b15ac669 Update App info behavior for mainline module
As requested by framework team, the mainline module should be considered
as system apps and not stoppable and disable-able. Since many of these
modules provide critical functionality, disabling them can result in a
very unstable device.

According to the request, Settings will apply below changes to App info
page for protecting mainline modules:
- Hide "Force stop" and "Disable" in App info.
- Disable "Clear storage" and "Clear cache" in "Storage & cache".

Since the mainline module checking API interface changed, also change
the dependent files and test cases.

Fixes: 156955322
Test: robotest and verify "Cell Broadcast Service" in App info
Change-Id: Ibc239bdaf3364eda541a33add382364cfdc6fc9b
2020-06-11 13:04:55 +08:00