Commit Graph

14584 Commits

Author SHA1 Message Date
TreeHugger Robot
a9195622c2 Merge "Fix content capture session id collision bug" into rvc-dev am: dd9c140ef5 am: 3618b46f2a am: a8122e5da2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11829309

Change-Id: Id4db3cd84529a22c5212622889f2d599d25d0a6c
2020-06-12 00:42:02 +00:00
TreeHugger Robot
dd9c140ef5 Merge "Fix content capture session id collision bug" into rvc-dev 2020-06-12 00:14:51 +00:00
Feng Cao
945f31cc12 Fix content capture session id collision bug
* The content capture session id should be globally unique
* Before this change, the id is genrated from a static random
  number generator created with new Random(). It appears that
  it all has the same seed value, so the sequence it generates
  is identical across processes
* Ideally the session id should be generated from a center
  place to ensure uniqueness (e.g. system server), or be a UUID
  which is more unlikely to conflict. We will explore that as
  a longer term solution in S
* For now the less invasive solution is to use SecureRandom,
  which produces non-deterministic output
* Other approaches tried:
  1) new Random(android.os.Process.myPid()). This doesn't work
     as the pid value is all the same at static loading time
  2) offset the generated number by pid. This will work but the
     ids are not so random
  3) make Random a non-static variable. This will work but it
     creates a new object for every class

Test: manual
Bug: 158714891

Change-Id: I158f45680a961b32f3b01dc4eabb45e7215cdeec
2020-06-11 15:51:09 -07:00
TreeHugger Robot
a479be9fab Merge "Release SurfaceView surface if viewrootimpl surface is not valid" into rvc-dev am: 8089c3867e am: 428bd1f07c am: 7b293577d5
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11829307

Change-Id: I0cd28eeff32a1f47643e46b8fbc9b0914fee1001
2020-06-11 19:13:11 +00:00
TreeHugger Robot
8089c3867e Merge "Release SurfaceView surface if viewrootimpl surface is not valid" into rvc-dev 2020-06-11 18:43:39 +00:00
Jorim Jaggi
703f0b2e5c Merge "Exclude non-observable insets change" into rvc-dev am: 1f6b99d5fa am: 6255421565 am: 6741fd7439
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11592755

Change-Id: I5ab77bce8eec384479669a3d08943cb14b58bc47
2020-06-11 13:03:29 +00:00
Jorim Jaggi
1f6b99d5fa Merge "Exclude non-observable insets change" into rvc-dev 2020-06-11 12:15:49 +00:00
TreeHugger Robot
1dc0f45226 Merge "Don't clear requested SysUI visibility if the source doesn't exist" into rvc-dev am: 9e1a5ebbfd am: d75315ca6d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11835421

Change-Id: I5c261f9e8b3d046953ee1af97f2e7cd5527336d7
2020-06-11 12:00:41 +00:00
TreeHugger Robot
9e1a5ebbfd Merge "Don't clear requested SysUI visibility if the source doesn't exist" into rvc-dev 2020-06-11 11:24:45 +00:00
Tiger Huang
026dec4298 Don't clear requested SysUI visibility if the source doesn't exist
This makes the SysUI visibility callback compatible with the legacy
behavior.

Fix: 158639842
Fix: 158643177
Test: atest LayoutTests#testAddingImmersiveWindow
Change-Id: Ife06f8aab1b9d86790478665a33961d1b613d62d
2020-06-11 17:50:04 +08:00
Vishnu Nair
34486ad942 Release SurfaceView surface if viewrootimpl surface is not valid
When the window visiblity changes, SurfaceView gets notified to
release its surface. If an app relayout happens before this
notification, the ViewRootImpl surface will be null and the
SurfaceView will not release it surface.

Fixes: 158469622
Test: go/wm-smoke
Test: repro steps from bug
Test: play with SurfaceView apps
Change-Id: Ia4d5948fd229b2c77700c91691b54561d84290bb
2020-06-10 18:14:20 -07:00
Jorim Jaggi
ed31259e01 Exclude non-observable insets change
When we notify insets changed, legacy behavior forces us to force
a new measure on the entire hierarchy. However, this can cause
jank in various scenarios.

Make sure that we don't report an insets change if non-observable
state changes.

Test: InsetsStateTest
Test: Swipe up to home while IME open
Bug: 157123435
Change-Id: I9c51066c6489888720b307240d03054cc18c4172
2020-06-10 14:24:03 +02:00
TreeHugger Robot
f3b9965750 Merge "Report WINDOW_FOCUS_GAIN_REPORT_ONLY when the served connection remains" into rvc-dev am: b121512580 am: 4f93e9c80c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11686078

Change-Id: I37a0e10e7b9d84e2411636fdbfbbb43a9a6d2e8c
2020-06-09 14:08:44 +00:00
TreeHugger Robot
b121512580 Merge "Report WINDOW_FOCUS_GAIN_REPORT_ONLY when the served connection remains" into rvc-dev 2020-06-09 13:41:30 +00:00
Adrian Roos
cbfdd45165 Merge "Insets: allow controlling insets as long as the window is covering in the relevant direction" into rvc-dev am: 5b12e07b9c am: 37afe34234
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11632046

Change-Id: I14ae753f5a4f3bde05cca821c395964850b5f6f9
2020-06-09 08:49:31 +00:00
Adrian Roos
5b12e07b9c Merge "Insets: allow controlling insets as long as the window is covering in the relevant direction" into rvc-dev 2020-06-09 08:24:57 +00:00
Ming-Shin Lu
6ecbf08772 Report WINDOW_FOCUS_GAIN_REPORT_ONLY when the served connection remains
When we tried CL[1] to fix Gboard Translation UI dialog dismissed that
keeping the served view when focused to the next window,
although we can skip starting new input when the window focused back as
the behavior of Q,

However, we overlooked in R, IME insets will rely on IMS#reportStartInput
to get the updated IME input target, which will out of sync for the above
case.

To fix this regression, we report the next window focus gain
to IMMS with WINDOW_FOCUS_GAIN_REPORT_ONLY when the next focused view is
same as current served view and the served input connection remains.

so that in IMMS side won't get StartInputFlags.INITIAL_CONNECTION flags
to set restarting as false when calling IInputMethod#startInput to IMS,
and in IMS side will still call reportStartInput to WMS for updating
IME input target without additional onFinishInputView callback to
client.

[1]: I8d4fff94ba9313b773bc27fcbd019cc88580d3e9

Fix: 152373385
Bug: 155781821
Test: atest CtsInputMethodTestCases
Test: manual, make sure Bug 155781821 comment #10 works:
    1) Launch video call in Hangouts.
    2) End call.
    3) Click on the text box.
    4) Expect Soft-Keyboard shown
Test: make sure not break Bug 148489857 and Bug 148788569, following
auto / manual test to verify:
 - Auto: atest FocusHandlingTest#testKeyboardStateAfterImeFocusableFlagChanged
 - Manual:
    1) Build / install EditTextVariations
    2) Select menu -> Direct-Reply, make sure Notification comes up.
    3) Tap EditText on Notification, verify soft-keyboard is visible.

Change-Id: I45a9814d812ad906f417c24200fd4219959e2423
2020-06-09 13:48:15 +08:00
TreeHugger Robot
aa9b18aadf Merge "Fix NPE in InlineContentView" into rvc-dev am: 854b0d1a89 am: cc2d440d90
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11784246

Change-Id: I2eacf1d3ef55fc80bcee86331fed062e20adc66c
2020-06-09 04:09:59 +00:00
TreeHugger Robot
854b0d1a89 Merge "Fix NPE in InlineContentView" into rvc-dev 2020-06-09 03:42:04 +00:00
Minche Li
6752577d02 Merge "Documentation cleanup for AccessibilityNodeInfo.ExtraRenderingInfo" into rvc-dev am: e85c54f39b am: 40d61d7ff9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11745990

Change-Id: I1396123c1601a4eb194f84d54b8481154ffd0a23
2020-06-09 02:14:11 +00:00
Feng Cao
10e6217a8d Fix NPE in InlineContentView
* The NPE is due to in the InlineContentView we try to reparent the
  surface view which is no longer attached to the window, this can
  happen if the InlineContentView is attached to window and then
  immediately detached from the window, before the surface package
  is returned from the remote view process.
* Release the surface package immediately in this case, so the
  remote view can be released.

Test: atest android.autofillservice.cts.inline
Bug: 158139090

Change-Id: I9efdf8ba182a1d66334362edcfb6ba58fcdc222a
2020-06-08 18:52:21 -07:00
Minche Li
e85c54f39b Merge "Documentation cleanup for AccessibilityNodeInfo.ExtraRenderingInfo" into rvc-dev 2020-06-09 01:46:08 +00:00
Joanne Chung
d853673b5c Merge "Handle SyncResultReceiver.TimeoutException" into rvc-dev am: 9856804eb2 am: 4a235e4bf2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11489902

Change-Id: I229a595052b53349a6a6ddab4df888e219afb5ef
2020-06-09 00:48:26 +00:00
Joanne Chung
9856804eb2 Merge "Handle SyncResultReceiver.TimeoutException" into rvc-dev 2020-06-09 00:21:44 +00:00
TreeHugger Robot
35d0385fc8 Merge "Insets: Fix stuck mPendingFrame" into rvc-dev am: 88e86e641a am: a50aa34d52
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11744899

Change-Id: I15297675592d437714dc3abdc371c5e9094a427d
2020-06-08 15:52:19 +00:00
TreeHugger Robot
88e86e641a Merge "Insets: Fix stuck mPendingFrame" into rvc-dev 2020-06-08 15:41:26 +00:00
Joanne Chung
c6adc68368 Handle SyncResultReceiver.TimeoutException
1.Change SyncResultReceiver.TimeoutException to checked exception
2.Handle the SyncResultReceiver.TimeoutException in AutofillManager,
ContentCaptureManager, ContentSuggestionsManager
3.Fix the bug we should throw e.rethrowFromSystemServer()

Bug: 156044027
Test: atest CtsAutoFillServiceTestCases
Test: atest ContentSuggestionsManagerTest
Test: atest CtsContentCaptureServiceTestCases
Change-Id: I959d2aca2b80866c076fae2520de66c123f5367d
2020-06-08 14:53:45 +08:00
Shawn Lin
78c218618c Merge "Add a @hide ctr to disable background layer in ActivityView & SurfaceView" into rvc-dev am: c54d84a858 am: 2b2fb4e5fc
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11700783

Change-Id: Ie406215ccf85c2c303883aab64e1a075ba23dd17
2020-06-08 03:58:06 +00:00
Shawn Lin
c54d84a858 Merge "Add a @hide ctr to disable background layer in ActivityView & SurfaceView" into rvc-dev 2020-06-08 03:34:20 +00:00
TreeHugger Robot
7b5d5fe082 Merge "Update textclassifier TEST_MAPPING file." into rvc-dev am: 78d74114aa
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11754101

Change-Id: I2b0eaa02276062be874cb8e55414ac71a489aef6
2020-06-05 22:12:17 +00:00
TreeHugger Robot
78d74114aa Merge "Update textclassifier TEST_MAPPING file." into rvc-dev 2020-06-05 21:56:34 +00:00
Joanne Chung
a0adc25387 Update textclassifier TEST_MAPPING file.
Add CtsTextClassifierTestCases and TextClassifierServiceTest into
presubmit.

Bug: 154961272
Test: atest --test-mapping frameworks/base/core/java/android/service/textclassifier
Test: atest --test-mapping frameworks/base/core/java/android/view/textclassifier
Test: atest --test-mapping frameworks/base/services/core/java/com/android/server/textclassifier
Change-Id: I123eeb0ce11e2b159ebbf20fe81dc682cd347230
2020-06-06 01:49:27 +08:00
Adrian Roos
021f4a7140 Insets: Fix stuck mPendingFrame
Fixes an issue where the mPendingFrame was not properly cleared
if we re-applied the current frame.

Fixes: 156762386
Test: InsetsSourceConsumerTest
Change-Id: I9f0ebfafac44e1b4b87ea9d3408e64ba34bca2ec
2020-06-05 17:15:26 +02:00
Adrian Roos
8d04bcbc43 Insets: allow controlling insets as long as the window is covering in the relevant direction
Fixes: 154745615
Test: InsetsStateTest
Change-Id: I666a7eee82c15f0c5594c0acbd1a4f0186bcdc01
2020-06-05 14:46:14 +02:00
mincheli
bb8e4dcbcb Documentation cleanup for AccessibilityNodeInfo.ExtraRenderingInfo
1. Mentioned the layout size could also be WRAP_CONTENT or MATCH_PARENT.
2. These API docs should be more generic that not mention the test tool.

Bug: 156961226
Test: none
Change-Id: I689bf4caf41bfe1fc09024777a87183d7211be05
2020-06-05 09:06:05 +00:00
shawnlin
ba532aff3e Add a @hide ctr to disable background layer in ActivityView & SurfaceView
Bug: 152441717
Test: 1. Open bubble
      2. adb shell dumpsys SurfaceFlinger
      3. Check result
Change-Id: I3bda67bb56781eb75b51dc51f491a97efac7b4ef
2020-06-05 16:08:37 +08:00
Charles Chen
2924e1eff0 Merge "Add an incorrect context violation on GestureDetector" into rvc-dev am: f843a85226
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11593841

Change-Id: I0401ac40a7d2a51f3493a3029de2e2ab293509bb
2020-06-05 02:21:14 +00:00
Charles Chen
f843a85226 Merge "Add an incorrect context violation on GestureDetector" into rvc-dev 2020-06-05 02:08:48 +00:00
Robert Snoeberger
fef370ed9e Merge "Revert "Exception if receive move withouth down"" into rvc-dev am: b1d2c79448
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11694777

Change-Id: I84c1bd4e1a48269e979df3f2fe3432b4516ee0d2
2020-06-03 20:19:36 +00:00
Robert Snoeberger
b1d2c79448 Merge "Revert "Exception if receive move withouth down"" into rvc-dev 2020-06-03 20:17:09 +00:00
Robert Snoeberger
0ef6f01bd1 Revert "Exception if receive move withouth down"
This reverts commit a0a20dc23b.

Reason for revert: This is causing a number of fatal crashes in SystemUI. See b/158081578, b/158057055, b/158060735, and b/158061923.

Fixes: 158081578
Fixes: 158057055
Fixes: 158060735
Fixes: 158061923
Change-Id: If7e6cd4ade3df540ba7d97d9265564132a235292
2020-06-03 20:15:44 +00:00
TreeHugger Robot
b3af56c657 Merge "Fix AugmentedAutofillService onFillRequest() wrong focused AutofillId for WebView" into rvc-dev am: cc4f13e0ab
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11700779

Change-Id: I5eab56b26b026787c9b1ee906f12ac1137be893d
2020-06-02 21:11:36 +00:00
TreeHugger Robot
cc4f13e0ab Merge "Fix AugmentedAutofillService onFillRequest() wrong focused AutofillId for WebView" into rvc-dev 2020-06-02 20:54:18 +00:00
Rob Carr
1b7ef66a57 Merge "SurfaceView: Lock mDeferredDestroySurfaceControl" into rvc-dev am: 28fdf609dc
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11688831

Change-Id: I12d2a165b0ddf79242de1a32a432d0844393b795
2020-06-02 19:28:16 +00:00
Rob Carr
28fdf609dc Merge "SurfaceView: Lock mDeferredDestroySurfaceControl" into rvc-dev 2020-06-02 19:27:08 +00:00
Robert Carr
6ce9ffb2cd SurfaceView: Lock mDeferredDestroySurfaceControl
Since mDeferredDestroySurfaceControl is the same underlying
object as mSurfaceControl we also need to hold the mSurfaceControlLock
when writing to it.

Bug: 157657896
Test: Existing tests pass
Change-Id: Ie0da3ed5d94c7aae2593423fa2767dbc902da4c8
2020-06-02 18:11:51 +00:00
TreeHugger Robot
8926f912a0 Merge "Exception if receive move withouth down" into rvc-dev am: 46c51b716d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11056879

Change-Id: Ic1065ae4be0aaa260e016791d0b4f6b1146a1468
2020-06-02 17:53:05 +00:00
TreeHugger Robot
46c51b716d Merge "Exception if receive move withouth down" into rvc-dev 2020-06-02 17:40:24 +00:00
Joanne Chung
fbc89efee3 Fix AugmentedAutofillService onFillRequest() wrong focused AutofillId for WebView
When AutofillManagerService try to trigger AugmentedAutofill, it uses
AutofillId.withoutSession() to get the AutollId without session. It
will return invalid "parentId:NO_ID" if the virtual AutofillId is
created with FLAG_IS_VIRTUAL_INT. The virtual AutofillId flag should
be FLAG_IS_VIRTUAL_INT or FLAG_IS_VIRTUAL_LONG, we should get
mVirtualIntId for FLAG_IS_VIRTUAL_INT or mVirtualLongId for
FLAG_IS_VIRTUAL_LONG.

Bug: 156408900
Test: atest android.autofillservice.cts.augmented
Test: atest android.view.autofill.AutofillIdTest#\
testVirtual_Long_withoutSession
Test: atest android.view.autofill.AutofillIdTest#\
testVirtual_Int_withoutSession
Test: Manual. Write a simple cts test for webview and check the
focused AutofillId is correct while switching between the field.

Change-Id: I7ebb4d7cfb6d6f383724b798dae69269ae3a27be
2020-06-03 01:06:24 +08:00
arthurhung
a0a20dc23b Exception if receive move withouth down
Throw an IllegalStateException if recevie touch move without down,
that could give an explicit feedback about GestureDetector may not
receive the full touch stream.

Bug: 149578486
Test: manual
Change-Id: I644ec1bebbca66dd0f0c219b63a6478b1290d1e1
2020-06-02 10:27:11 +08:00