Commit Graph

516 Commits

Author SHA1 Message Date
Yanting Yang
be4c5f078f Remove silky flag from homepage for official release
Remove the silky condition and clean up redundant files.

Bug: 183670633
Test: robotests & visual with turning on/off silky home
Change-Id: I9259108534935ed8551748b922098dd52043afc1
2021-05-14 17:52:53 +08:00
Jason Chiu
7d9dceadb7 Redesign homepage IA icon
- remove the outer circle of the icons
- tint the icons including injected ones

Test: robotest, visual
Bug: 182870640
Change-Id: If72c37152f4f0d68e25149b11d497eef1c7ece91
2021-05-12 08:37:37 +00:00
Alex Stetson
aff80d1e14 Use shared model for non-system overlay toggle
Allows settings applications on other platforms to re-use values by
migrating to Settings.secure and moving HideNonSystemOverlayMixin to
SettingsLib.

Bug: 184967544
Test: atest SettingsUnitTests
Change-Id: If9aaeca29ebb8b481d75622934503e368d7435d3
2021-05-06 08:28:19 -07:00
Yi-Ling Chuang
58813f7b6c Apply settings page transition
This change applies Shared X-Axis transition across settings pages. For
injected settings, the injected apps have to also apply the same
transition to take effect.

Fixes: 177479937
Test: robotests and navigate through settings pages
Change-Id: I6241860766f5969428faf9a5b3730a7614fdcd92
2021-04-28 17:29:49 +08:00
Arc Wang
fd9c0c7e90 Merge "Launch StorageDashboardFragment instead of StorageSettings" into sc-dev 2021-03-26 07:36:07 +00:00
Arc Wang
fadbe5b070 Launch StorageDashboardFragment instead of StorageSettings
Since users can use StorageDashboardFragment to choose storages,
it's not necessary to choose storages in StorageSettings.

Bug: 174964885
Test: make RunSettingsRoboTests ROBOTEST_FILTER=LowStorageSliceTest
      manual
      Launch Storage Settings.
Change-Id: Ida61052c4294899099914d62da24ca2937a894a0
2021-03-25 14:43:39 +08:00
Jason Chiu
c37dd71260 Settings homepage redesign
- Support new suggestion design
- Search bar relayout
- Move avatar icon to the top right corner

Test: robotest
Bug: 178068045

Change-Id: I07f1577488d6d1827ee07d55db6759f02d655d5f
2021-03-24 18:53:27 +08:00
Chiachang Wang
003e27d146 Remove hidden connectivity methods access
This commit resolves the hidden methods accesses for
LinkProperties, IpConfiguration and RouteInfo with atlernative
way for the connectivity mainline module preparation.

Bug: 172183305
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.wifi.details2.WifiDetailPreferenceController2Test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.wifi.details.WifiDetailPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.UtilsTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.wifi.WifiConfigController2Test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=\
com.android.settings.wifi.WifiConfigController2Test

Change-Id: Iec4dab5d9fa12dedcf69a1cfe2a8be0956bc0d79
2021-03-18 14:31:28 +00:00
Dmitri Plotnikov
8f6c946c82 Transition HighUsageDetector to BatteryUsageStats API
Bug: 173745486
Test: make RunSettingsRoboTests
Test: male RunSettingsGoogleRoboTests

Change-Id: Ie8f90a67e4dd16fa67cf4f44a3678a789b3da18a
2021-03-18 03:32:43 +00:00
Chiachang Wang
ffbe4e9b1e Replace hidden CM#isNetworkSupported() usage
It's a refactor work for connectivity mainline module. The
hidden methods access is no longer allowed, so the usage for
isNetworkSupported() should be replaced. Settings use it to
check if device support telephony, wifi or ethernet service.
There are alternative methods to check if device supports such
features. Replace as it is.

Bug: 172183305
Test: m ; make RunSettingsRoboTests
Change-Id: I8f1d11558b1be575a0777ed195abe027e838cb74
2021-03-17 15:21:43 +08:00
Yanting Yang
b8479ff1af Clean up RestrictedHomepagePreference
Extend the RestrictedTopLevelPreference to clean up the same logic in
RestrictedHomepagePreference.

Bug: 177213699
Test: visual and test with TestDPC
Change-Id: I287cd1973baebfaf73c09b626177be983651987c
2021-02-25 05:16:30 +08:00
Jason Chiu
530bee333b Fix the scrolling problems in homepage
- Remove the deprecated API and parameter usages of setting system ui
  visibility, which make the app bar scrolling behavior abnormal when
  the navigation bar is enabled.
- Remove the duplicate navigationBarColor of the homepage theme since
  Theme.Settings has configured it.
- Remove the unused scroll flags in search bar layout since its parent
  is no longer AppBarLayout.

Test: visual, robotest
Fixes: 178497625
Fixes: 179122861
Change-Id: I91537cff4f3d98e4bc31e6e42d23895df312fbd4
2021-02-05 02:52:43 +00:00
Jason Chiu
b56ea7e9e3 Adjust homepage styles and layouts
- Fine tune the header text size and position
- Fix the header overlapping problem on the homepage and collapsing
  toolbar pages when configuration changes by adding android:id.
- New AppBarScrollingViewBehavior for the homepage to avoid manually
  offsetting the IA
- Correct the formula of counting search box height

Test: robotest, manual
Fixes: 177967923
Fixes: 177968564
Change-Id: Id3ed44f4296fa2a19d6890b009d3881a5c140bbd
2021-01-22 13:27:22 +00:00
Tsung-Mao Fang
1b849dbe2a Correct the naming for homepage preference
- Have a consistent naming rule for homepage.
- Make the font family of title can be modified by system.

Test: See the screen, and font family of title is correct.
Bug: 177213699
Change-Id: I8e3ebbf06a8c1849956100c8d2825f98ad251b37
2021-01-13 23:14:58 +08:00
Joshua Mccloskey
0fa6e5eb41 Merge "Add immutability flag to face slice" 2021-01-12 19:27:17 +00:00
Tsung-Mao Fang
6c921e5b6c Refine the preference layout for homepage
Based on the Android S design, we update the layout
for homepage.

The scope covers the layout of preference and icons itself.

- Change the icon size for IA items.
- Change the layout spacing of preference.
- Change the margin or search bar.

Test: See the screen and confirm with UX
Bug: 177213699
Change-Id: I985966fdf39a5989d51991aa3c06ea5fd31e8fe2
2021-01-12 12:42:44 +08:00
joshmccloskey
b9e320c8e7 Add immutability flag to face slice
Fix: 172212761
Test: Verified suggestion icon appears.
Change-Id: Ia17ca67d7d729e0608169c23f9df0c1a9d473c85
2021-01-11 18:28:46 +00:00
Ashwini Oruganti
2f349da025 Bulk apply PendingIntent.FLAG_MUTABLE_UNAUDITED.
We've been working hard to require PendingIntents explicitly declare
if they allow their contents to be mutated or not, and to finish
landing that work this change applies the new FLAG_MUTABLE_UNAUDITED
flag to all remaining code locations until they can be manually
inspected.

Bug: 160794467
Test: manual
Change-Id: I7b9ef5dcd35187facef1ec424589b81f834f23c0
2021-01-08 13:14:05 -08:00
Treehugger Robot
4fa8813f8b Merge "Fix too many receivers Exception" am: 2e6cde6b94 am: 8c2b2cc806 am: f83f554a75
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1498417

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I994084cd157a33e74a07525e6dd61229069fbdd7
2021-01-08 10:40:56 +00:00
Treehugger Robot
2e6cde6b94 Merge "Fix too many receivers Exception" 2021-01-08 05:35:46 +00:00
Jason Chiu
bd854ccd10 Support contextual suggestion
- add a suggestion layout
- add an interface to get fragment in suggestion feature provider
- remove the first preference category of homepage IA to align its top
  with the bottom of the search box

Bug: 173768418
Test: robotest
Change-Id: I784e3eef29ca474c4c89f07b916c6500fabbf7d4
2020-12-27 01:37:30 +08:00
Yi-Ling Chuang
32e7118161 Add the mutability flag to BluetoothDevicesSlice.
Starting Android S, all PendingIntent has to have a explicit mutability
flag set.

Fixes: 172207505
Fixes: 172811893
Test: Enable BluetoothDevicesSlice and play on it.
Play on the volume panel.

Change-Id: I618455de683d619fe300309e31864b3c64f12ad1
2020-12-11 15:32:23 +08:00
Anita Hemrajani
a865c3af6f Fix too many receivers Exception
Each time window focus changes on rotation,
a separate controller is created which further registers a new
receiver each time.

Bug: 173166718
Change-Id: I500a6ae5cf7058364e43baa44b7161c5dcfbc232
2020-11-13 04:08:13 +00:00
TreeHugger Robot
76eb401911 Merge "Remove unused StorageSlice" 2020-11-09 08:34:22 +00:00
Mill Chen
1406e1820f Remove unused StorageSlice
Remove StorageSlice since it's never been used.

Fixes: 172208815
Test: robotest
Change-Id: Ib8eecc27b9ebdf9a741b36369e4dfaa245461939
2020-11-06 17:04:20 +08:00
Yi-Ling Chuang
ea92f4eb5e Add the mutability flag to the pendingIntent.
Starting Android S, PendingIntent should have a explicit mutability flag
to avoid vulnerability.

Fixes: 172207853
Test: 1. Make AdaptiveSleepSlice available on the homepage and click on it.
2. Play with the volume panel.

Change-Id: I9cd428b17f44f5215d8c06331d12a17f997ca557
2020-11-03 17:44:56 +08:00
TreeHugger Robot
3ed34cd538 Merge "Add the explicitly mutable flag for creating a PendingIntent" 2020-10-14 10:48:24 +00:00
Sunny Shao
0b0f237834 Add the explicitly mutable flag for creating a PendingIntent
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
  when creating a PendingIntent.
- Suggest to use the FLAG_IMMUTABLE as default. Change it to
  FLAG_MUTABLE while errors occur.

Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass, manual test add an account and volume control panel
Change-Id: I5aec028f82bd74fc4530b95a7c144811055ae2c5
2020-10-14 09:38:51 +00:00
Yi Jiang
79dc82fb6f Merge "Merge Screen Attention and Screen timeout Settings." 2020-10-14 05:07:40 +00:00
Yi Jiang
f5d1841c9d Merge Screen Attention and Screen timeout Settings.
Bug: 155051311
Test: atest
Change-Id: I6f6ee52618eab629a41b28982be32ead5f9ba08d
2020-10-13 00:47:13 -07:00
Yi-Ling Chuang
985825edbf Hide the contextual home architecture.
The contextual home will default to being disabled in Android S.
Changing the feature flag could reenable it.

Fixes: 168179764
Test: launch Settings and don't see contextual cards
Change-Id: I9591b50c4fe882c8605a71490f56aef4156b3e80
2020-10-12 19:17:05 +08:00
TreeHugger Robot
2e307f804a Merge "Revert "Add the FLAG_IMMUTABLE flag for creating a PendingIntent"" 2020-10-08 01:42:50 +00:00
Daniel Chapin
ee1360f13c Revert "Add the FLAG_IMMUTABLE flag for creating a PendingIntent"
This reverts commit 334968c113.

Reason for revert: Bug: 170280415

Change-Id: Idaa269406d6c1609c75f0dfba1f7fa9daf979101
2020-10-07 17:47:36 +00:00
TreeHugger Robot
351821e688 Merge "Preliminary classification for homepage IA grouping" 2020-10-07 11:40:13 +00:00
Yanting Yang
4dd4567bfc Preliminary classification for homepage IA grouping
Bug: 168166015
Test: robotest & visual
Change-Id: If02639d8a5b8886e036b30c5c654c27db5837b62
2020-10-06 20:40:53 +08:00
Sunny Shao
334968c113 Add the FLAG_IMMUTABLE flag for creating a PendingIntent
- Android S+ to specify explicitly either FLAG_MUTABLE or FLAG_IMMUTABLE
  when creating a PendingIntent.

Fixes: 170162598
Fixes: 170162878
Fixes: 170163592
Fixes: 170164316
Fixes: 170164458
Fixes: 170164327
Fixes: 169794524
Fixes: 170165106
Test: build pass and manual test add an account
Change-Id: I0f7b117273647dbe9e146033b8995c8c6f147576
2020-10-06 11:46:08 +08:00
Jason Chiu
4753adfb52 [DO NOT MERGE] Fix the blank space on contextual card loading timeout
Root cause:
Sometimes loading contextual cards exceeds 1 second and a timeout
expires. In the past, we used the timeout in order not to update
homepage UI and to avoid screen scrolling. But we've introduced a
mechanism of card space pre-allocation to avoid flickering, so when the
timeout expires, the pre-allocated space will be always blank.

Solution:
Display a card on timeout if the one-card space is pre-allocated.

Fixes: 165886791
Test: robotest
Change-Id: I79b29c5fd6d9c4fe6b53dd4f5eab4cd3a606d76d
2020-09-21 09:47:19 +00:00
Yi-Ling Chuang
c248da2974 [DO NOT MERGE] Pre-allocate height for contextual cards. am: 228bc78bf9
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/12343231

Change-Id: I76c77c66be5da635571f876d9b76906f789e8472
2020-08-15 02:08:57 +00:00
Jason Chiu
b824187524 [DO NOT MERGE] Update contextual cards display mechanism
1. Make Wi-Fi card default to collapse.
2. Support showing a default card when there's no displayable card.
3. Solve the problem of icon not showing for cached slices in card
renderer

Bug: 163288869
Fixes: 159092915
Test: manual, robotest
Change-Id: Ie8b61ad58410337334e29b7a794353b0c6a6ba8c
2020-08-13 17:58:55 +08: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
Arc Wang
0496d2c142 [Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice
This change uses WifiTrackerLib's WifiPickerTracker & WifiEntry
to replace SettingLib's WifiTracker & AccessPoint.

This change includes

1. WifiScanWorker has the callbacks similar to a lifecycle component
   but it's not a lifecycle component. Let WifiScanWorker implements
   LifecycleOwner and provides #getLifecycle() for WifiPickerTracker.

2. Remove captive portal related code because WifiEntry#connect will
   handle captive portal login if it's necessary.

3. Create WifiSliceItem to wrap WifiEntry because WifiEntry is an
   abstract object and it does not provide copy constructor.
   Without copy construcor, Wi-Fi Slice may show unexpected information
   when a WifiEntry is updated.

Bug: 155613549
Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.slice
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I2d66ea4905daca3244ec4cf8f2935cda817480b1
2020-07-22 07:53:18 +00:00
TreeHugger Robot
2432658d23 Merge "Revert "[Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice"" 2020-07-16 15:31:50 +00:00
Greg Kaiser
9e9255fb2a Revert "[Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice"
This reverts commit 7b1aded2a6.

Reason for revert: Settings is crashing for WiFi selection in SetupWizard on wembley

Bug: 161434533
Change-Id: I1d90e9bae1b31862fba674db0d7497e43f987a7f
Test: Locally reverted, reflashed, and was able to select WiFi without Settings crashing.
Exempt-From-Owner-Approval: Revert to clear up P0 while all owners are outside of work hours
2020-07-16 14:47:31 +00:00
Arc Wang
02d279a453 Merge "[Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice" 2020-07-16 09:32:42 +00:00
Arc Wang
7b1aded2a6 [Wi-Fi] Apply WifiTrackerLib objects in Wi-Fi Slice
This change uses WifiTrackerLib's WifiPickerTracker & WifiEntry
to replace SettingLib's WifiTracker & AccessPoint.

This change includes

1. WifiScanWorker has the callbacks similar to a lifecycle component
   but it's not a lifecycle component. Let WifiScanWorker implements
   LifecycleOwner and provides #getLifecycle() for WifiPickerTracker.

2. Remove captive portal related code because WifiEntry#connect will
   handle captive portal login if it's necessary.

3. Create WifiSliceItem to wrap WifiEntry because WifiEntry is an
   abstract object and it does not provide copy constructor.
   Without copy construcor, Wi-Fi Slice may show unexpected information
   when a WifiEntry is updated.

4. Use WifiTrackerLib's NetworkDetailsTracker & WifiEntry in
   WifiDialogActivity because it gets a WifiEntry key from Wi-Fi Slice.
   NetworkDetailsTracker can get the WifiEntry of th key.

Bug: 155613549
Bug: 152571756
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi.slice
      make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.wifi
Change-Id: I0718f4647cea007a9b701922f3121a388dd43918
2020-07-16 15:56:42 +08:00
Jason Chiu
eaf1564d9f Guard against SecurityException of accessing to slice uri
- Sometimes unregistering a Slice callback will have no permission to
unpin the Slice uri and throw an exception.
- Guard against the exception as the first solution.

Bug: 159722324
Test: robotest
Change-Id: Ic227331fef64c3fa6fe3e4442fba2a9b754d520d
2020-07-08 11:28:33 +00:00
TreeHugger Robot
15a62defd0 Merge "Revert "Revert "Workaround of Slice not pinned bug when using Sl..."" into rvc-dev 2020-06-26 16:41:52 +00:00
Andrii Kulian
f11088a886 Revert "Revert "Workaround of Slice not pinned bug when using Sl..."
Revert "Import AndroidX from build 6620107"

Revert submission 11970208-update_slice_view

Reason for revert: b/159943588
Reverted Changes:
Id09f4f6aa:Import AndroidX from build 6620107
Icb150b4f6:Revert "Workaround of Slice not pinned bug when us...

Bug: 157387583
Bug: 159943588
Change-Id: Iedd9883ea144395b9d4afb011a218fe5dcb6b560
2020-06-25 23:50:53 +00:00
TreeHugger Robot
77dcc34b26 Merge "Revert "Workaround of Slice not pinned bug when using SliceCallback"" into rvc-dev 2020-06-25 17:19:44 +00:00
Jason Chiu
1b514c3f37 Revert "Workaround of Slice not pinned bug when using SliceCallback"
This reverts commit 73afb042dc.

Reason for revert: Publish the fix in Slice lib and revert the workaround.

Bug: 157387583
Change-Id: Icb150b4f69bffe8af4c3fcb26501020c8fe8432b
2020-06-24 03:53:47 +00:00