Commit Graph

18676 Commits

Author SHA1 Message Date
Dmitri Plotnikov
f19925afc9 Merge "Fix recording of battery history tags" into tm-dev 2022-05-09 17:56:17 +00:00
Raphael Kim
75577e9421 Merge "Remove package title from notification access confirmation intent" into tm-dev 2022-05-09 17:55:07 +00:00
Tiger Huang
b8ab50b68b Merge "Don't clip background drawable if navigation color view is not opaque" into tm-dev 2022-05-09 12:47:17 +00:00
Rubin Xu
9c9916e4d9 Merge "Protect UnlaunchableAppActivity against overlay attack" into tm-dev 2022-05-09 11:41:02 +00:00
Dmitri Plotnikov
44cb0c4e31 Fix recording of battery history tags
Bug: 230552845
Test: atest FrameworksCoreTests:BatteryStatsTests

Change-Id: I018cf3f85e8ef11167e780653863b234822be27a
2022-05-06 17:08:18 -07:00
Song Hu
42bf145179 Merge "ChooserActivity reports whether the selected target is pinned in Westworld logging" into tm-dev 2022-05-06 20:36:02 +00:00
Shan Huang
e3a61826eb Merge "Migrate IME to handle back with OnBackInvokedDispatcher." into tm-dev 2022-05-06 19:35:42 +00:00
TreeHugger Robot
ad237705da Merge "Fix logging crash in ResolverRankerService model" into tm-dev 2022-05-06 15:48:55 +00:00
Tiger Huang
64afcdaf53 Don't clip background drawable if navigation color view is not opaque
If the navigation bar color view is not opaque, we shouldn't clip the
background drawable. Otherwise, the view hierarchy cannot fill surface
buffer, and the un-filled area would display things previously drawn on
it, which is not expected.

Fix: 204834350
Test: Open a doc in Docs in split-screen, and scroll down to the end.
Change-Id: I050f3fa301412b71a7ae15d60fb49853c4be161e
2022-05-06 22:19:15 +08:00
Jacqueline Bronger
b6de832709 Merge "Add more information to the TV PiP notification" into tm-dev 2022-05-06 10:39:27 +00:00
Rubin Xu
61a660519e Protect UnlaunchableAppActivity against overlay attack
Bug: 181785557
Test: manual
Change-Id: If496bbb195b3f33cece6a93e683e9186d6175687
2022-05-06 10:57:57 +01:00
Song Hu
470f8434b1 ChooserActivity reports whether the selected target is pinned in Westworld logging
Test: atest
Bug: 210453009
Change-Id: Id67f5356f90e5ee1f10f782e2389582807b9be1e
2022-05-05 12:05:36 -07:00
Joshua Trask
9a43192cef Fix logging crash in ResolverRankerService model
This was a regression introduced in ag/17913997 because
I missed that the legacy code included the ternary
`? 0 : 1` to convert from boolean to int value in this
(not-type-safe, see b/231577676) API call.

Bug: 231491021
Bug: 231577676

Test: compile/presubmit. This doesn't prove that the fix
works (we must just not have coverage, or we would've
caught the regression the first time) but it does validate
the syntax and confirm that there are no other unintended
changes (stray keystrokes...). The fix is trivial; this CL
simply restores the exact behavior pre- ag/17913997.

Change-Id: I706dee50e074da3ca40cde5b83abfd076a271959
2022-05-05 15:12:38 +00:00
Raphael Kim
735bcf8cf7 Remove package title from notification access confirmation intent
Bug: 228178437
Test: Manually confirmed on an application
Change-Id: Idad6dc0c71d7b39de0bd9e4ad922b5e6020a6184
2022-05-04 19:41:25 +00:00
Mady Mellor
e8ee9cd8d4 Merge changes Ieb77b211,Iad01b8f3,Ib9653ed3 into tm-dev
* changes:
  If something is suppressed from the notification list don't bubble it
  Tell NoMan to update the auto-expand flag
  Allow SysUI to update BubbleMetadata#FLAG_AUTO_EXPAND_BUBBLE
2022-05-04 18:00:21 +00:00
Matt Casey
1ffed5d942 Merge "Halve listview update delay" into tm-dev 2022-05-04 17:47:53 +00:00
Galia Peycheva
f372925a29 Merge "Fix missing position updates to blur regions" into tm-dev 2022-05-04 16:09:27 +00:00
Jacqueline Bronger
c096f52c55 Add more information to the TV PiP notification
Includes general information as well as the system and app actions (or
media actions if there are no app actions)

Bug: 204173025
Bug: 199490119
Test: manual - check notification content from aosp notification listener

Change-Id: I6a15e443ad8f1fa17bd76e52c002909faa1c44db
2022-05-04 15:08:51 +02:00
Galia Peycheva
38cf61f704 Fix missing position updates to blur regions
The PositionUpdateListener sometimes gets called after the
FrameDrawingCallback, because there is no ordering guarantee between
these two callbacks. This causes the BlurRegions sent to SF to
not have up-to-date positions. For example, an empty Rect gets sent
as the blur region bounds, because the position update hasn't arrived
when the surface transaction is sent. When the position update arrives
it set the correct bounds, but it requires another draw to happen so
that the correct position is picked up.

This CL fixes this issue by saving the blur regions that were last sent
to SF in FrameDrawingCallback and sending another transaction when the
position update arrives. That transaction is merged into the previous
one for the same frame, so the final transaction sent to SF has correct
values.

The CL also moves the FrameDrawingCallback registering logic entirely in
the BlurAggregator in the first onPreDraw. This cleans up VRI

Bug: 197239228
Test: atest --iterations 100 BlurTest#testBackgroundblurSimple
Test: atest BlurAggregatorTest
Change-Id: Ia122df40fdf2aa124299461c2e2597b61fa92699
2022-05-04 08:36:04 +00:00
Shan Huang
a6666f2221 Migrate IME to handle back with OnBackInvokedDispatcher.
We currently close the IME by having the target application forward KEYCODE_BACK to the IME process through InputMethodManager#dispatchInputEvent and having the IME handle the keycode in InputMethodService#onKeyDown. When apps opt in to OnBackInvokedDispatcher API, we will not dispatch KEYCODE_BACK to apps anymore. Thus we need to migrate IME to the new API for it to close on back invocation.

This implementation forwards OnBackInvokedCallbacks from the IME process
to the app process. This is necessary because all callbacks need to
exist in the app process for them to be considered by hardware back keys. While back gestures go through WM to resolve callbacks from the focused window, hw keys are directly sent to the focused window's ViewRootImpl, bypassing server side back nav logic.

Bug: 228358882
Test: atest CtsInputMethodTestCases:KeyboardVisibilityControlTest
Test: atest CtsInputMethodTestCases:InputMethodServiceTest
Test: atest CtsInputMethodTestCases
Change-Id: Ie207b63b11a56c9b2173f26b734a27b13ebccc60
2022-05-04 05:31:08 +00:00
Chaohui Wang
6474aed2f5 Merge "Add SETTINGS_SLIDER CUJ to InteractionJankMonitor" into tm-dev 2022-05-04 02:23:14 +00:00
Matt Casey
ea3e5046a7 Halve listview update delay
Will do further reductions later with a slower rollout.

Bug: 224816815
Test: atest ChooserActivityTest
Change-Id: I9c00137d73febca8f8576e579e55157aa1bd05fe
2022-05-03 20:54:27 +00:00
Dmitri Plotnikov
ae7b2277b9 Address proportional counting for out-of-order timestamps
Bug: 229906525
Test: atest FrameworksCoreTests:BatteryStatsTests

Change-Id: Id5fb963e256d56b42c9b5a0bc686af83ca3c7835
2022-05-03 19:04:44 +00:00
Matt Casey
5e35dcd369 Merge "Convert Personal/Work tabs to rounded bubbles" into tm-dev 2022-05-02 21:05:36 +00:00
Matt Casey
ec9b0f949e Merge "Empty state UI tweaks" into tm-dev 2022-04-30 18:32:43 +00:00
Chaohui Wang
68ed78c06a Add SETTINGS_SLIDER CUJ to InteractionJankMonitor
Also add a default onStopTrackingTouch() method in the
SeekBarVolumizer.Callback to let Settings inject the jank monitor.

Bug: 230285829
Test: make build
Change-Id: I9f5f511183f62caf809d7326766549b87d226b0b
2022-04-30 12:58:02 +08:00
Taran Singh
d5bb81348c Merge "Fix InputConnection creation callback" into tm-dev 2022-04-29 18:58:36 +00:00
Matt Casey
b82f35f21b Convert Personal/Work tabs to rounded bubbles
Modernize the tabs in Sharesheet/Resolver to match All Apps.

Much of this is copied from the tabs implementation in All Apps.

Remove divider line below tabs (no longer needed).

More XML, less code.

Bug: 188589041

Test: Manual in light and dark themes
Test: atest ResolverActivityTest
Test: atest ChooserActivityTest
Change-Id: Ib23a1927d416d32714dd8c890dd412c73f9e573c
2022-04-29 18:16:42 +00:00
Mady Mellor
40422db463 Allow SysUI to update BubbleMetadata#FLAG_AUTO_EXPAND_BUBBLE
This flag should only really be applied to a notification bubble
one time. Once the bubble has auto-expanded (or if it was posted and
unable to auto-expand at that time due to something like DND), the
flag should be removed so we don't auto-expand it again.

We have a method that allows us to modify some specific flags on
BubbleMetadata. This CL updates that method to be more general and
work with any of the BubbleMetadata flags.

Bug: 226316876
Test: atest NotificationManagerServiceTest
Change-Id: Ib9653ed304f13ac88f489146d503f4de4fa29421
2022-04-29 17:25:30 +00:00
Calvin Pan
f71832b46b Merge "Fix empty resource showing "Und"" into tm-dev 2022-04-29 03:55:52 +00:00
Taran Singh
fc6d5e91b7 Fix InputConnection creation callback
As noted in the linked bug, in certain scenarios IC established callback
is not always called. As a fix, we make sure we don't return early when
MSG_BIND callback is received from IME

Fix: 228105257
Bug: 217971553

Test: atest StylusHandwritingTest#testHandwritingEndToEnd

Change-Id: I780327003f7145c4f9b9df4dc5243227d7e67d92
2022-04-28 15:26:00 +00:00
Tom Hsu
12873579dc Merge "[Panlingual] Change Checkbox color and remove divider of listview" into tm-dev 2022-04-28 12:24:02 +00:00
Mark Renouf
82c77bb127 Merge "Restores a capture rate limit for long screenshots" into tm-dev 2022-04-28 11:46:50 +00:00
Calvin Pan
8d8d93bf6d Fix empty resource showing "Und"
Bug: 230689140
Test: manual
Change-Id: Ib732773758bb8344f04033be11f235456434bd29
2022-04-28 07:58:49 +00:00
TreeHugger Robot
6298c68c71 Merge "Make cuj be synchrous among atoms.proto and InteractionJankMonitor" into tm-dev 2022-04-28 05:47:54 +00:00
Calvin Pan
ba95ddf69d Merge "Adding state description for current locale item" into tm-dev 2022-04-28 02:42:29 +00:00
Mark Renouf
e8f1a8c559 Restores a capture rate limit for long screenshots
A previous change accidentally lost this delay between
incremental screen captures. This rate limit is needed
to prevent pushing screen capture faster than it can
render correctly.

Bug: 173700533
Bug: 217046739
Test: manual; long screenshot, observe app systrace
Change-Id: Ibd7940299b502c40212957395d272b6e52cc28be
2022-04-27 17:07:24 -04:00
Ahaan Ugale
44e14e72b6 Merge "Allow IVoiceInteractionSessionListener to listen for window vis changes" into tm-dev 2022-04-27 17:03:31 +00:00
TreeHugger Robot
926db2d6d3 Merge "Fix "always" option in ResolverActivity" into tm-dev 2022-04-27 13:44:02 +00:00
Ahan Wu
6a7fdce626 Make cuj be synchrous among atoms.proto and InteractionJankMonitor
Bug: 230567287
Test: build pass
Change-Id: I4fa25b23921c8a434c97c5133779f1e9386c03fb
2022-04-27 06:56:45 +00:00
Matt Casey
f8a97ab1d8 Fix "always" option in ResolverActivity
mUnfilteredResolveList was incorrectly being set as null whenever
performSecondaryResolveListFilterin didn't end up filtering anything
(when its value should have been maintained in this case).

This incorrect mUnfilteredResolveList null value causes most of
ResolverActivity's onTargetSelected() logic to be skipped, thus it
doesn't notify the package manager of the 'always' selection.

This should match the behavior before ag/17509713 and fix the bug.

Test: Manual testing (install two email apps, click an email addr link,
choose a resolver target and press 'always', then do it again and
resolver shouldn't appear).
Test: atest
CtsDynamicMimeHostTestCases:android.dynamicmime.cts.PreferredActivitiesTestCases#testModifyGroupWithoutActualGroupChanges
Test: atest ResolverActivityTest

Bug: 230149644
Change-Id: Ia23e95359d320a3a63e39f9c50a159879e94bf3b
2022-04-27 03:48:02 +00:00
Calvin Pan
7a2ac50735 Adding state description for current locale item
To support Talkback to say "checked" when the current locale is
selected.

Bug: 228924751
Test: Using talkback
Change-Id: I3e2f8ba46106246e835e7ce5b580e501ab6c58c9
2022-04-27 03:30:26 +00:00
shawnlin
402727731f Move kids mode relative logic to wm shell
1. Move KidsModeSettingsObservor to wm shell.
2. Create a ForceShowNavBarSettingsOberver for wm core.

Bug: 230072077
Test: atest KidsModeTaskOrganizerTest
Change-Id: I1b3edf1fc804b9dac190fcc92b7b62bfc3366d64
2022-04-25 20:10:41 +08:00
Winson Chung
06fb230d6d Allow IVoiceInteractionSessionListener to listen for window vis changes
- The listener currently tracks session shown/hidden, but doesn't track
  the visibility of the session window which can change on the client
  side without the server knowing. In some cases, it's useful for SysUI
  to be able to track the visibility of the session window to show/hide
  bars appropriately.

Bug: 222308557
Test: Manual, launch the assistant and verify the calls are made
Change-Id: I9b4bb27c9497b2a828616caf72eaf345b072c294
2022-04-23 05:56:27 +00:00
James O'Leary
ca46e52c30 Merge "Create ResolverComparatorModel interface." into tm-dev 2022-04-22 20:23:23 +00:00
Joshua Trask
dc029cbba7 Clean up ResolverListAdapter::rebuildList().
Behaviorally, this is *almost* a pure refactoring. It does make
one very minor logic change(*) that could hypothetically fix a
race condition, although no particular bugs have ever been
observed as a result (nor do they seem especially probable), and
it's unknown what the severity would be if they ever were to occur.

Additionally, this change clarifies existing comments and adds
more inline documentation to help understand the rebuildList()
flow. Code cleanup identifies a few areas where the current design
seems a little clumsy, noted with new "TODO" comments in the code.
There's room for more improvement, but this function plays an
important role in preparing Sharesheet targets, so it's good to
bring attention to these thorny requirements.

For justifications of behavioral equivalence and other metacognitive
notes, see comments in the code review.

(*) The one behavior change is called out in code review comments;
    briefly, the line of code that sends a synchronous "results
    pending" event used to follow the line that started the async
    flow that would result in a "results complete" event. This
    could hypothetically race if the async work finished and sent
    "results complete" before we got to the "results pending" line.

Bug: 227486788
Test: `atest ChooserActivityTest` (no behavior changes expected)
Change-Id: I2e74d68579be8b34716ba2202ac2a08361008400
Merged-In: I2e74d68579be8b34716ba2202ac2a08361008400
(cherry picked from commit 1e42cad19b)
2022-04-22 16:09:09 +00:00
Joshua Trask
6cdd926f43 Create ResolverComparatorModel interface.
Define the API for interacting with comparator model data;
provide implementations for our two current model types; and
(as a first step) re-write our legacy ResolverComparators
to be implemented internally in terms of their new model types.

This is the first CL in a multi-part cleanup of the
AbstractResolverComparator design. This demonstrates that the
role of an AbstractResolverComparator sub-class amounts to
(i.e., Ctrl+F "@Override") some amount of work to prepare model
data; some cleanup; and a set query methods against data that
*really should be* immutable (separated in this CL as the new
ResolverComparatorModel interace). Any remaining responsibilities
of the abstract base class would be better handled (in a subsequent
CL) by an external controller operating on a ResolverComparatorModel
(i.e., preferring composition to inheritance). The async
model-preparation steps should also be separated and cleaned
up (in a later CL).

I believe this to be a pure refactoring with no observable side
effects. While the new design aids in implementing the correct
"immutable snapshot" style, for now I've written the new
ResolverComparatorModel implementations to preserve any possible
quirks in the legacy implementations. Nevertheless, if some
inadvertant behavior change is introduced as a result of this CL,
it's most likely to be a bug-fix where we previously would've mixed
in stale data. A later CL will intentionally pursue those fixes.

Test: atest ResolverActivityTest ChooserActivityTest
Bug: 227486788
Change-Id: If88bf7a5a6394d81c021782d5d9bce7955f1c0e6
Merged-In: If88bf7a5a6394d81c021782d5d9bce7955f1c0e6
(cherry picked from commit 8b5d279d90)
2022-04-22 16:05:39 +00:00
Matt Casey
31cc9ddb59 Merge "DeviceConfig for Chooser update-delay duration." into tm-dev 2022-04-22 16:03:38 +00:00
TreeHugger Robot
a136110aa2 Merge "Fix testGetSurroundingTextFailWithNegative{Before,After}LengthForA11y" into tm-dev 2022-04-22 03:35:35 +00:00
Kohsuke Yatoh
37893c2046 Merge changes from topic "kyatoh-b221483132-tm-dev" into tm-dev
* changes:
  Do not cleanup IME window if show is requested.
  Notify IMMS synchronously on IME insets hidden.
2022-04-22 02:14:55 +00:00