Commit Graph

617 Commits

Author SHA1 Message Date
Matías Hernández
c238b3b1cf Remove obsolete zen-related entries from CustomSiteMapRegistry
These pages no longer exist with MODES_UI.

Bug: 346789065
Test: atest CustomSiteMapRegistryTest
Flag: android.app.modes_ui
Change-Id: I254b4eb15a71bf7a6765c1ea7d0cb31c59fe2f0c
2024-10-03 19:46:21 +02:00
Chaohui Wang
a6d7b8c9d9 Improve the robustness of updateNonIndexableKeys
- Isolate preference controller crash in the same page
  Current if one search item throw exception, entire page's search will
  broken, can isolate issue by controller to improve.

- Expose preference controller crash in debuggable build
  Current the search index exception is silently ignored, expose the
  exception in debuggable builds to expose issue earlier.

- Change default to hide items instead of shown when crash

Fix: 352455031
Fix: 352455432
Fix: 352455540
Flag: EXEMPT bug fix
Test: manual - Settings Search
Change-Id: I2cdbd58543be8fe6617e42d9c02789791186f53b
2024-07-31 14:58:35 +08:00
Chaohui Wang
cacc9a88b2 Revert^2 "Support search "Mobile data""
This reverts commit 979de75952.

Reason for revert: Failed CarDeveloperOptions tests fixed.

Change-Id: Ic0bdf47ab3cb40dbadebb738c0c5842e4e1bf9c8
2024-07-15 02:03:06 +00:00
Pechetty Sravani
979de75952 Revert "Support search "Mobile data""
This reverts commit 50d9e342e8.

Reason for revert: Droidmonitor created revert due to b/352668970. Will be verifying through ABTD before submission.

Change-Id: I5e0c48830425c51963b7669b75979cb8b67e770c
2024-07-12 07:40:28 +00:00
Chaohui Wang
50d9e342e8 Support search "Mobile data"
- Added SpaSearchRepository to index the SPA search data.
- Added SpaSearchLandingActivity, which can only be called by SI.

Fix: 346776183
Flag: EXEMPT bug fix
Test: manual - search "Mobile data"
Test: unit test
Change-Id: Icaff41fe085edd371fd75bc8101dd52028f90da5
2024-07-12 03:52:03 +00:00
Chaohui Wang
75a382fc46 Migrate SearchFeatureProviderImpl to Kotlin
This is no-op.

Bug: 346776183
Flag: EXEMPT refactor
Test: manual - do settings search
Change-Id: I5c113f6ed5db1401e1d237f0022ab6dccde8d060
2024-06-27 14:11:02 +00:00
Jason Chiu
d1b0ad25fa Suppress rawData settings from indexing when page is disabled for search
Test: robotest, manual
Fix: 324424783
Change-Id: Ie8423d16df387f13cf35c03005640cfd08a5b492
2024-05-28 17:26:18 +08:00
Edgar Wang
66c16d57af Update Search Bar layout in Homepage
Bug: 340513864
Bug: 340773713
Bug: 340799397
Bug: 340759836
Test: visual
Change-Id: I4bd5c3438aa55ca764f61b180a37c10206ee78be
2024-05-20 06:49:12 +00:00
David Liu
9b63fbb772 Fix toolbar keyboard navigation and touch.
- toolbar default has touchscreenBlocksFocus enabled which make toolbar not focusable when touch screen present. Explicitly set touchscreenBlocksFocus to false make the toolbar can be focus when keyboard navigation.
- Remove focusableInTouchMode which breaks normal touch control. Read https://android-developers.googleblog.com/2008/12/touch-mode.html for more details.

Fix: 327025582
Fix: 324420544
Test: manual test with keyboard and touch navigation

Change-Id: I6cad869e3a51926405a6f3ae894daa5416050bf8
2024-03-01 07:13:58 +00:00
Jason Chiu
901880a1d2 Replace getCallingActivity() with getLaunchedFromPackage()
getLaunchedFromPackage() reports who launched this Activity or built
PendingIntent used to launch it, whereas getCallingActivity() reports
who will get result of Activity.

Bug: 316891059
Test: robotest, manual
Change-Id: If97018c2741caef622f0596bbfeaa42ef1788b78
2024-02-01 14:35:59 +08:00
Sunny Shao
bee65b4109 Merge "Revert^2 "Nullability Annotations replacement"" into main 2024-01-10 08:35:06 +00:00
Sunny Shao
076ed573eb Revert^2 "Nullability Annotations replacement"
This reverts commit 19d1d3d15d.

Reason for revert: revert it because this is not the root cause.

bug: 316867690
Change-Id: I0f168dbb64044aa720202af7b1040afd4f028c9c
2024-01-10 07:34:01 +00:00
Jason Chiu
2c2dd72ff7 Merge "Support "Add account" search indexing" into main 2024-01-04 02:39:05 +00:00
Jason Chiu
01f992a698 Support "Add account" search indexing
Implement a default getRawDataToIndex method of preference controller
base for indexing preference's raw data.

Test: manual, robotest
Fix: 243899250
Change-Id: I3fb4f88c881edcbaa3c5bfc7f78cc2e169b0380f
2023-12-29 10:36:57 +08:00
Sunny Shao
19d1d3d15d Revert "Nullability Annotations replacement"
This reverts commit cf0501e4d7.

Reason for revert: b/317462033, it seems a flaky but revert it first.

Change-Id: Ie1d5e279cca6477fc17d8c27c1ecda8d7a6b2553
2023-12-29 02:28:24 +00:00
sunnyshao
cf0501e4d7 Nullability Annotations replacement
-- Replace the android.annotation.Nullable / android.annotation.NonNull
   with androidx.annotation.Nullable / androidx.annotation.NonNull

Bug: 316867690
Test: build pass
Change-Id: I0c1da55dfb09ece855151c47e0492d6f46538621
2023-12-20 08:50:09 +08:00
David Liu
13c63260a3 fixed NPE while initializing controllers by commenting out the failure
one for temporal fix

Added @Nullable in parameters of buildPreferenceControllers() to prevent using nullable parameter to functions requires non-nullable.

Bug: 315330037
Test: see developer options preferences show/hide based on the
controllers isAvailable()

Change-Id: If42faea900a2220d9b1f5e38e1befbd5a555e78a
2023-12-12 00:16:32 +00:00
Chaohui Wang
0d338cd1df Let SpaBridgeActivity support ActivityEmbedding
Move the multi pane shared logic into EmbeddedDeepLinkUtils.

Fix: 309075424
Test: manual - with SpaActivity
Test: unit tests
Test: m RunSettingsRoboTests ROBOTEST_FILTER=".*\.SettingsActivityTest"
Change-Id: I8c41c801b8a5009a3959c85b784ed9739d947a70
2023-11-07 13:24:59 +08:00
Viesturs Zarins
99631a11ec Merge "Add searchable metadata attribute for injected tiles." into udc-qpr-dev am: 5bc1e9b38f am: 68fede37a0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24792152

Change-Id: Iffe2d746713a2b7f03261ba02ecbce2713546e7b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-26 10:30:22 +00:00
Viesturs Zarins
40765c7763 Add searchable metadata attribute for injected tiles.
Allowing the injector to directly control search behavior for their tiles.

Bug: b/299430183
Test: robotest, manual
Change-Id: I21915978d6722998a45741410cca72448aacf2e0
2023-09-25 08:24:01 +00:00
Peter Kalauskas
80e914a263 Enable use_resource_processor for all sysui deps
This will make the build faster

Test: m checkbuild
Bug: 295208392
Change-Id: If75acb6b1c3f204e3686c20cef609f7cfabe15cf
2023-09-21 23:09:39 +00:00
Chaohui Wang
6e7b06f18e Clean up deprecated WifiSettings
Replace all references to NetworkProviderSettings.

Bug: 297036035
Test: robo test
Test: manual - on internet settings
Change-Id: I2a5ae5644042c982c2a284a303257896c20b7714
2023-09-01 13:24:29 +08:00
Chaohui Wang
2cab62254c Use resource processor for Settings
Bug: 293810334
Test: m Settings
Test: robotests
Change-Id: Ie515e137648eddfdfcab5e8095f5be99721d9e1b
2023-08-11 22:39:08 +08:00
Chaohui Wang
295a46f3e0 Fix R.drawable.ic_search_24dp
It's belong to namespace com.android.settingslib.search instead of
com.android.settingslib.widget

Fix: 295106566
Test: m Settings
Test: installmod Settings
Test: manual - on Developer Option page
Change-Id: I69839d422230815b17327f7f937854c4c72890fb
2023-08-10 10:00:24 +08:00
Chaohui Wang
781ca69f9b Fix R.string.search_menu
It's belong to namespace com.android.settingslib.search instead of
com.android.settingslib.widget

Fix: 295106566
Test: manual - on Developer Option page
Change-Id: I6f66509ebc89094f96e08860c2d034b3b22c3b50
2023-08-09 20:04:48 +08:00
Chaohui Wang
8e2ae547d6 Clean up FeatureFactory.getFeature()
Bug: 286764889
Test: m Settings
Change-Id: I7e472e6b0ca6b7a735c1b92742ddf06c545176fc
2023-08-08 08:41:48 +00:00
Chaohui Wang
2541381259 Fix references to resources for Settings
Bug: 293810334
Test: m Settings
Change-Id: Ie140278f492ef7e1c062ec1ecae2866c521a86aa
2023-08-08 01:56:05 +00:00
Chaohui Wang
58f0ee30fc Remove context from dashboardFeatureProvider
DashboardFeatureProviderImpl is created by using application context,
no need pass context in when get.

Bug: 286764889
Test: m Settings
Change-Id: Ia9672dfd9d3d71f64735cbc5979a6ad57c9429d3
2023-07-20 12:21:16 +08:00
Alexander Milantev
92195471b0 Avoid activity embedding if the activity is already embedded
Test: manual + robotests com.android.settings.search and com.android.settings.SettingsActivityTest
Bug: 271260497

Change-Id: Ia21ca7a75cacee64d1942e2fe1b439ac4a3cb134
2023-03-28 15:05:35 +00:00
Justin Ghan
1cc772d30d Support stylus handwriting in settings search bar
Bug: 270708561
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.search
Change-Id: Iec6d6deb68b834654b2bbc11d96227db5319b0f0
2023-03-08 10:20:44 -08:00
Jason Chiu
79d282bbfb Merge "Revert "Remove FLAG_ACTIVITY_FORWARD_RESULT in 2-pane flow"" 2022-12-14 02:49:17 +00:00
Jason Chiu
8b1e5d9d7d Revert "Remove FLAG_ACTIVITY_FORWARD_RESULT in 2-pane flow"
This reverts commit ea1580f92b.

Reason for revert:
1. Search result trampoline should have that result sent back to the
reply target of the original activity.
2. To leverage the behavior of handheld's deep link case, large
screen's deep link should forward the result.

Change-Id: I55303070e35fc9430063655e0a9a0fd72e0823ac
2022-12-13 08:05:49 +00:00
Stanley Wang
2b8874fa09 Merge "Add new api for search pre-index" 2022-09-05 09:00:36 +00:00
Stanley Wang
1712d57a87 Add new api for search pre-index
Add sendPreIndexIntent api.

Bug: 244521263
Test: manually test and review UI
Change-Id: Ibbe88eeb114b453886693ecb92ebd8ee287f9581
2022-09-01 17:33:17 +08:00
Jason Chiu
2118ea589b Support target intent data relay in SearchResultTrampoline
Bug: 240391954
Test: manual & robotest
Change-Id: I2798839dd03f3f2fd165c8cba86b748aa6257804
2022-08-22 18:16:11 +08:00
Arc Wang
ea1580f92b Remove FLAG_ACTIVITY_FORWARD_RESULT in 2-pane flow
Settings$CreateShortcutActivity does not necessary to be
displayed in 2-pane and it seems no scenario needs the flag
Intent.FLAG_ACTIVITY_FORWARD_RESULT.

Bug: 241346847
Test: build pass
Change-Id: I7a8fca61b453db70233b151711df516649424e3a
2022-08-10 16:14:11 +08:00
xuezaiyue
ac7318419a Move battery usage files to a separate folder.
Bug: 202118250
Test: presubmit
Change-Id: I21aa58ebc02327849ed2161dbbafcdc806c007f2
2022-06-19 05:59:35 +00:00
Jason Chiu
177573c892 Enhance Settings deep link transition
Since the deep link mechanism uses a trampoline activity to redirect the
target activity, and the targeting activity is launched in a separate
task, there will be two transitions played, where one is the splash
screen with the trampoline acitvity and another one is the task
transition. This makes the UX weird.

To avoid this, this CL tries to make the targeting activity launch in
the same task as the trampoline acitivity by removing the taskAffinity,
so there won't be a task transition.

Fix: 215275940
Test: Create a settings shortcut on the home screen and launch it.
Change-Id: I7621ab9f1132acbf619495801a3b985c5c3b1b5d
2022-03-24 12:42:01 +08:00
Jason Chiu
94a9c57759 [Large screen] Open the search page in full-screen mode
Bug: 205079744
Test: manual
Change-Id: I3ac663b42fc0538dcb20d53f456b90ea68c9093d
2022-01-24 12:21:58 +08:00
Jason Chiu
a305c23f5e Revise homepage highlight mechanism
- Create TopLevelHighlightMixin to handle highlight actions and simplify
  TopLevelSettings
- Fix the error highlight and the flicker after screen rotation
- Postpone creating the fragment until it's needed to accelerate the
  initialization and to fix the search highlight function breakage after
  toggling light/dark mode
- Register activity embedding rules only once for injection and
  wallpaper
- Do not highlight Tips & support since it's full screen
- Refactor ActivityEmbeddingRulesController

Bug: 207316936
Test: manual, robotest build pass
Change-Id: If322ec180b03ee123987c70779a25c6a570d9faf
2021-12-03 12:04:48 +08:00
Tsung-Mao Fang
0e03b12d60 Fix abnormal behavior on search page
Prior to this cl, if user opens settings app
in single-pane first and navigates to
the search page, then rotate the device,
user observed the search page was still shown
with full screen.

Because we didn't register correct split rule,
it causes the abormal behavior on two-pane mode.
In order to register correct rule,  we also need
to assign correct component name while opening the
search page.

Fix: 206896763
Test: Rebuilt apk and verify the behavior
Change-Id: I7343467aa716d71da63f2ad0a034dc6c1b7fd415
2021-11-23 16:32:32 +08:00
Jason Chiu
3af73364ba Support highlighting the menu entry for Search results
1. Add a receiver to monitor the search state
2. Shoe/hide the menu highlight in the listener
3. Highlight the menu entry in SearchResultTrampoline
4. Enable/disable the receiver in SettingsInitialize

Bug: 205781792
Test: manual, robotest
Change-Id: Ia04901f504172f4f0c7b4b2ea7eda5f3713f676d
2021-11-11 14:33:26 +08:00
Jason Chiu
ae5327d4bb Fine tune the homepage scrolling behavior
Scroll to the highlight position before showing homepage.

Bug: 199017944
Bug: 204946469
Test: visual
Change-Id: I11708f42180a3af22855ac7b5f53460f737ed208
2021-11-05 18:21:59 +08:00
Tsung-Mao Fang
b3db40a02b Register rule for wallpaper entry
We should keep consistent split rule for wallpaper and other home menu
item. So, we create this cl to register the split rule for wallpaper.

Also, I do some minor refactoring in this cl for reusing existing
method and better code quality.

Test: Go to wallpaper, and click back key. App can close.
Fix: 204406425
Fix: 204364572

Change-Id: Ia7de9483b351d1121cc26c4af1cb8a89ad0a16bc
2021-11-04 18:48:59 +08:00
Jason Chiu
e427cc6752 Search experience improvement for large screen
- Support fragment and direct link in SearchResultTrampoline
- Start activity for SI case and start deep link trampoline for others
- Disable menu highlight whenever the search bar is clicked
- Don't overwrite SettingsApplication's homepage activity in
  SliceDeepLinkHomepageActivity
- Scroll to highlighted menu entry after homepage is loaded to prevent
  UI overlapping

Bug: 201724410
Test: manual, robotest build pass
Change-Id: I5115d17d829e85036000da2e80f0e5b0598c733f
2021-11-03 18:44:01 +08:00
Arc Wang
54998b7bfe [Large screen] Fix searched Subsettings back navigation bug
Settings app registers SubSettings SplitPairRule with clearTop
true, it will finish Settings app if users click back button on
a SubSettings page.

This change registers SubSettings SplitPairRule with clearTop
true when users click a SubSettings item in Settings home menu.

And this change registers SubSettings SplitPairRule with clearTop
false when users click a SubSettings item in search result.

Bug: 204501750
Test: manual
      1. Settings -> Search settings -> search a SubSettings item
         (e.g., Battery)
      2. Click the searched item.
      3. Click back button.
Change-Id: I6e1862de528e971137ae7087de608bbdd79096b2
2021-10-29 17:45:40 +08:00
Jason Chiu
29a09e55ba Revert "Revert "Support highlightable Settings homepage menu for 2-pane""
This reverts commit 096c090b80.

Reason for revert: crash is fixed in this change

Bug: 202510128
Test: manual, build
Change-Id: Ifff8d58cfdcf43e123b11dee308665b2617cb4b3
2021-10-12 09:32:07 +00:00
Greg Kaiser
096c090b80 Revert "Support highlightable Settings homepage menu for 2-pane"
This reverts commit 9037ceabd3.

Reason for revert: Presumed cause of b/202510128

Change-Id: I0daaab95d9bc57229c0c8c916cbe3ada7aafb6fa
2021-10-08 14:29:06 +00:00
Jason Chiu
9037ceabd3 Support highlightable Settings homepage menu for 2-pane
1. Add a preference group adapter to perform highlighting
2. Add a class for mapping highlighable menu keys and preference keys
3. Add an API to determine if the screen is in split mode

Bug: 199017944
Test: manual, build
Change-Id: I8e3fe5fb96480a31ee0f3b3afb6ad78999d3d2bc
2021-10-08 12:52:52 +08:00
Arc Wang
407a725278 Use startActivity for android.settings.APP_SEARCH_SETTINGS
The Activity launched by android.settings.APP_SEARCH_SETTINGS
does not setResult. So it's no meaning to use
startActivityForResult for the Intent.

Bug: 196923591
Test: manual
      Settings -> Search settings -> search an item ->
      click back button twice and back to Settings home.
Change-Id: Ia760a301465bb87814326611a1ec2368887f120a
2021-09-30 01:52:48 +00:00