Commit Graph

29 Commits

Author SHA1 Message Date
Jason Chiu
c144f7bb89 Merge "Support highlighting the menu entry for Search results" into sc-v2-dev 2021-11-16 07:28:32 +00: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
Andrii Kulian
8061973e3d Sticky placeholder and adjacent finish rule in Settings
Bug: 204829538
Test: Open Settings in landscape in two panes, rotate to portrait to stack, rotate back to split
Change-Id: I5790962051d0b01902f3b50e958848eff7cf7334
2021-11-09 22:32:58 -08:00
Arc Wang
82eeacf275 [Large screen] Set SplitPairRule for DeepLinkHomepageActivity
Setting app should set SplitPairRule for all the alias of
SettingsHomepageActivity to handle all the different
launch cases.

Bug: 204156913
Bug: 204399375
Test: manual
      1. Launch settings in unfold screen
      2. Fold screen
      3. Launch wallpaper app
      4. Unfold screen
Change-Id: I3ad33a750ef19390bc8dc3fb4dc6f1c80630d57f
2021-11-05 08:33:59 +00:00
TreeHugger Robot
6c24e5bc33 Merge "Register rule for wallpaper entry" into sc-v2-dev 2021-11-05 01:00:08 +00: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
Arc Wang
e80b74de3a [Large screen] Check if it's in 2-pane before 2-pane deep link flow
The callback of SplitStateObserver.SplitStateListener can have one
or more active splits when there is already 2-pane in Activity stack.

This change prevent unnecessary 2-pane deep link flow if the Activity
is already in 2-pane activity stack.

This solution does not work if the Activity was started in a new task.
(e.g., Intent.FLAG_ACTIVITY_NEW_TASK, launchMode singleTask).

Bug: 201379454
Bug: 201620626
Bug: 204398432
Bug: 204397936
Bug: 197609195
Bug: 197609197
Bug: 204501179
Bug: 204959335
Bug: 204845334
Test: manual
      1. Settings -> Apps > Default apps > Opening links.
      2. Click back button should back to Default apps page.
Change-Id: I04aaceed47a8f2754a4e17c53b49252f61e0a1d1
2021-11-04 17:20:17 +08:00
Jason Chiu
e1ec69fa1a Merge "[Large screen] Make slice deep linking to Settings show in 2-pane" into sc-v2-dev 2021-11-01 02:10:21 +00:00
Arc Wang
a63e9c625d [Large screen] Make slice deep linking to Settings show in 2-pane
- add a standalone home activity for slice deep link.
- add EXTRA_IS_FROM_SLICE to control the slice deep link flow.
- Intent#parseUri fails if the intent data schema is set.
  Add EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_DATA to relay the
  data schema.

Bug: 201397123
Test: manual, robotest
      1.  Say 'Enable NFC'/'Enable Bluetooth'to Google assistant.
      2.  Click the the NFC/BT Slice.
Change-Id: Ia3216956328c32b2109cb2d70ad1105327661f26
2021-10-31 20:12:27 +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
Arc Wang
3ff6f14f43 [Large screen] Shows SearchActivity at right pane
This change removes alwaysExpand ActivityRule registration
for SearchActivity.

Bug: 204260066
Test: manual
      Settings -> Click 'Search settings'
Change-Id: I4625756bf89568fcdf690e5930b76c3e2ece5043
2021-10-27 11:45:59 +08:00
Tsung-Mao Fang
54b9d60783 Create an interface to access the two pane state
Create an new interface in the embedding provider,
this interface tells if settings app is in two pane or not.

To access the activity in the content provider, we need to store
the activity reference in the app application layer.

Test: See if two pane state is correct.
Bug: 203763572
Change-Id: Iae2245b84af2683d932f1900df9959dad98370d7
2021-10-25 15:43:17 +08:00
Tsung-Mao Fang
fce8565e5e Update logic to check two pane resolution
Prior to this cl, we checked the app bounds for deciding
app in two pane or not. However, this might be broken in some certain
sceanrios.
Currently, api will check the entire task bounds.
If the width of task bounds is larger than two pane criteria,
then we treat it as in two pane mode.

Test: Highlighted behavior works correct.
Fix: 203763572
Change-Id: Ib14851b1e3e097328874c7956bb653f50820f877
2021-10-21 21:34:17 +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
1ab7ad3e40 Merge "Revert "Support highlightable Settings homepage menu for 2-pane"" into sc-v2-dev 2021-10-08 14:48:14 +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
TreeHugger Robot
bf6160280f Merge "[Large screen] Set alwaysExpand for SearchActivity." into sc-v2-dev 2021-10-08 11:58:29 +00:00
Arc Wang
28cdf73cf7 [Large screen] Set alwaysExpand for SearchActivity.
Set alwaysExpand and SearchActivity will show in full screen.

Bug: 196923591
Test: manual
      Settings -> Search settings
Change-Id: I4174753bce15232342fa69d0845225a95d757782
2021-10-08 18:14:18 +08:00
Jason Chiu
9b1f593773 Merge "Support highlightable Settings homepage menu for 2-pane" into sc-v2-dev 2021-10-08 07:52:45 +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
dcc46cf136 [Large screen] Fix SplitPaitRule not match for deep link problem
- Set both secondary ComponentName and secondary Intent action
  in SplitPairFilter when registering SplitPairRule for deep link.

- Set ComponentName to the Intent which DeepLinkHomepageActivity
  uses to start the deep link page.

This change setup Intent and SplitPairRule to have both
Intent action and ComponentName. It fixes matching problem.

Bug: 201627196
Bug: 199888089
Test: manual
      [Unfolded] Long press home (workspace) -> Pop-up menu ->
      Tap 'Wallpaper & style' -> Launch Settings in the left as
      list and 'Wallpaper & style' in the right as detail.
Change-Id: I8cc8cef911ce0d7d05f332eb86f77f8d2543827f
2021-10-07 17:44:24 +08:00
Jason Chiu
73fa1f8e06 Create a provider for querying if embedding activity is enabled
Bug: 202103027
Test: manual
Change-Id: I97bd5fc9d1d6157ff11096678217f44175df0c8d
2021-10-05 17:25:52 +08:00
Andrii Kulian
356292a1ee WM Jetpack interface update in Settings
Updating to the latest version of the library
that's added in the topic.

Bug: 199676595
Test: Build, install and test Settings
Change-Id: Ia08314a93c4b5263e2fb6c06a5b517a74e9e3745
2021-09-22 15:47:33 -07:00
Arc Wang
f6a8f6c8af Extends the criteria width of 2-pane mode
Follow UI spec, we extend criteria width from 600dp -> 720dp

Original code checks if there is only one Activity in
Activity stack to decide if it's a deep link intent,
it has problem at configurationChange.

This change checks if the intent is from Settings app
itself to decide if it's a deep link intent.

Bug: 197716926
Bug: 199808997
Test: Build apk and run on the device.
Change-Id: Ide8ef2ccffa87b9ee4fab41ab4f395b00def9bd6
2021-09-15 12:13:49 +08:00
Arc Wang
597784e455 Set 2-pane placeholder for all alias of SettingsHomepageActivity
SettingsHomepageActivity may be launched by different alias,
this change sets placeholder for all these alias to ensure
placeholder is present.

Bug: 199363383
Test: manual
      1. Click Settings icon button in quick setting panel.
      2. Launch Settings app deep link, then move it to background,
         and the launch Settings app.
Change-Id: I9ba6dbc5cfa2bac51bf53bb21f8983193ba053b6
2021-09-09 15:59:01 +08:00
Arc Wang
22ce392b91 2 panes deep link for large screen devices
This change supports deep link to Settings app internal pages
and external pages outside Settings app.

Apps need android.permission.ALLOW_TWO_PANES_DEEP_LINK_IN_SETTINGS
to send the intent of Settings#ACTION_SETTINGS_LARGE_SCREEN_DEEP_LINK.
Settings app will startActivity for the intent from
Settings#EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_URI.

Bug: 197048599
Test: build pass
Change-Id: Idaf4a8be4603c1308f16fb4e378266c1e52acb40
2021-09-09 13:04:31 +08:00
Tsung-Mao Fang
4781fc1687 Revert "Revert "Support two pane design in the Settings app.""
This reverts commit 07037dbc3f.

Reason for revert: <Issue already was fixed in ag/15743576 and ag/15743577>

Bug: 197716926
Change-Id: I72b98f8feb513f34e88e735efd578a8e3d9a1963
2021-09-06 02:41:26 +00:00
Tsung-Mao Fang
07037dbc3f Revert "Support two pane design in the Settings app."
This reverts commit a12a0d1eb2.

Reason for revert:  See a build error in git_sc-v2-dev-plus-aosp/aosp_crosshatch-userdebug

Bug: 198722766
Change-Id: Ibf812bf92595f57409e3c6d9cda6a1dfa4a8c72c
2021-09-03 17:12:47 +00:00
Tsung-Mao Fang
a12a0d1eb2 Support two pane design in the Settings app.
1. Only enable this feature when the flag is on and library is supported
in this device.
2. Add a placeholder rule for home menu.
Network page will be shown to the right pane by default.
3. Add a rule for most sub settings pages.

Known issues:
1. Transition animation seems wrong in this cl.
2. App is closed if user taps back key on the second layer page in fold
state.

Test: Run the apk on large screen device and regular phone. No crash
happens
Bug: 197716926

Change-Id: I089717e84c5e92c6e5b02d9770a24376e250fea2
2021-09-02 13:57:42 +00:00