Commit Graph

15187 Commits

Author SHA1 Message Date
Kevin Hufnagle
c036e8739c Merge "docs: Use more inclusive pronouns" into rvc-dev am: 5c4491e04b am: eb65f3d86b am: 64a447986e am: ceff8ff8cd
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12196424

Change-Id: I06e40c41a3991a32a132997288fce9c9c292e704
2020-07-22 01:18:46 +00:00
Kevin Hufnagle
ceff8ff8cd Merge "docs: Use more inclusive pronouns" into rvc-dev am: 5c4491e04b am: eb65f3d86b am: 64a447986e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12196424

Change-Id: I4cc8c2f5cce2f184d6dcbfcc8257ca4af8eb4150
2020-07-22 00:59:42 +00:00
Kevin Hufnagle
64a447986e Merge "docs: Use more inclusive pronouns" into rvc-dev am: 5c4491e04b am: eb65f3d86b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12196424

Change-Id: I6124999b50cdfc9b02d5ec5e761c24f7bec5b5a9
2020-07-22 00:47:02 +00:00
Kevin Hufnagle
5c4491e04b Merge "docs: Use more inclusive pronouns" into rvc-dev 2020-07-22 00:07:00 +00:00
TreeHugger Robot
6010192c06 Merge "Bring back touch events for double tap and double tap and hold." 2020-07-21 23:03:22 +00:00
TreeHugger Robot
8870d0d4f4 Merge "Update display info on hotplug" 2020-07-21 20:15:14 +00:00
Marin Shalamanov
0c451ddca6 Update display info on hotplug
Test: manually conect DUT to a display, then to
      a different display
Bug: 158220266
Change-Id: I44eead97e0a09a0370a3eb674d207d1c9d0e92cc
2020-07-21 20:24:00 +02:00
Wale Ogunwale
329a912ad5 Merge "Prevent exception when surrounding text retrieval" into rvc-dev am: 309cfa3431 am: f4fb8c1457 am: faa7063aaa am: e42009f63f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12167896

Change-Id: Ifc2d45e026d33c74746bdb39bee676cc5f5a9e1e
2020-07-21 02:17:11 +00:00
Wale Ogunwale
e42009f63f Merge "Prevent exception when surrounding text retrieval" into rvc-dev am: 309cfa3431 am: f4fb8c1457 am: faa7063aaa
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12167896

Change-Id: Ic10c3aebed390d6d8d054091e1d7635d25b5fb17
2020-07-21 02:00:41 +00:00
Wale Ogunwale
256cbd1b51 Merge "Prevent exception when surrounding text retrieval" into rvc-dev am: 309cfa3431 am: f4fb8c1457
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12167896

Change-Id: I1b7446f698daabf5eae3039fa91efeccd111f1a9
2020-07-21 01:42:02 +00:00
Wale Ogunwale
faa7063aaa Merge "Prevent exception when surrounding text retrieval" into rvc-dev am: 309cfa3431 am: f4fb8c1457
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12167896

Change-Id: Ib618bddd560576fe1d7bbf1b6a78f70b4733eac9
2020-07-21 01:41:57 +00:00
Wale Ogunwale
309cfa3431 Merge "Prevent exception when surrounding text retrieval" into rvc-dev 2020-07-21 01:03:03 +00:00
Kevin Hufnagle
56cd67c4e4 docs: Use more inclusive pronouns
Change "his" to "their" in 2 places

Change-Id: Ib03e1967edd5d13f999c9290aabc56db33bf4fc0
Test: none (docs-only change)
Bug: 160937339
2020-07-20 22:55:07 +00:00
Adrian Roos
0c3233eb59 Merge "Fix hiding keyboard animation stuck while dialog dismissing." into rvc-dev am: dac09ee7fe am: 0a49dd38a2 am: 869a1892db am: 35fc2fdf6c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12174530

Change-Id: Ieaaeaaba7f061b4c651f7c0726332292872dcb99
2020-07-17 22:12:44 +00:00
Adrian Roos
35fc2fdf6c Merge "Fix hiding keyboard animation stuck while dialog dismissing." into rvc-dev am: dac09ee7fe am: 0a49dd38a2 am: 869a1892db
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12174530

Change-Id: Iac68c18c16c10c794e1f462ccaedeed656fc6a5b
2020-07-17 21:51:58 +00:00
Adrian Roos
869a1892db Merge "Fix hiding keyboard animation stuck while dialog dismissing." into rvc-dev am: dac09ee7fe am: 0a49dd38a2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12174530

Change-Id: I22615abd9c1a987d2b797db0701573d552441a8f
2020-07-17 21:40:31 +00:00
Adrian Roos
f9ea2989dd Merge "Fix hiding keyboard animation stuck while dialog dismissing." into rvc-dev am: dac09ee7fe am: 7df40a82f6
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12174530

Change-Id: I252e2c0b62cf955c7ce2c7fafde18e0b51a9743e
2020-07-17 21:40:18 +00:00
Adrian Roos
0a49dd38a2 Merge "Fix hiding keyboard animation stuck while dialog dismissing." into rvc-dev am: dac09ee7fe
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12174530

Change-Id: Ifb04b0fd9c555d79d5c1b1ad7e348cf1532bd5b5
2020-07-17 21:24:56 +00:00
TreeHugger Robot
8ce24a42e2 Merge changes from topic "flexible_bars" into rvc-qpr-dev am: a5404a59f2 am: 6b03df08f8
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12001030

Change-Id: I9cd0a0394aa1c156d7705c1a93f774b3a453d536
2020-07-17 17:46:33 +00:00
TreeHugger Robot
6b03df08f8 Merge changes from topic "flexible_bars" into rvc-qpr-dev am: a5404a59f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12001030

Change-Id: I7bee21bde74fe82d89e050d48dada44b080ce244
2020-07-17 17:40:37 +00:00
TreeHugger Robot
a5404a59f2 Merge changes from topic "flexible_bars" into rvc-qpr-dev
* changes:
  Reintroduce flexible inset mapping
  Keep alternate reference to mStatusBar and mNavigationBar for flexible insets
2020-07-17 17:40:09 +00:00
Wilson Wu
0ebe70cb0f Prevent exception when surrounding text retrieval
We use same reference from TextView to set the initial
surrounding text. The actual surrounding text may be
modified before retrieval since the mSurroundingText
is mutable. Use a copy of subText should avoid this
concurrent issue.

Bug: 160390184
Test: atest FrameworksCoreTests:EditorInfoTest
Change-Id: I6082a4cae2fcdc4c529dc14e2e5e7a45ab1aae4d
2020-07-18 00:51:47 +08:00
Adrian Roos
a24622cfcd Fix hiding keyboard animation stuck while dialog dismissing.
When dismissing a dialog with EditText focused and keyboard shown,
the keyboard does not get correctly dismissed.

This happens because after CL[1] landed, returning to the  activity won't start
new input connection, and the activity will thus not regain control over
the IME.

This fix restores the previous behavior, where  IMM will start a fake input
connection even without an editor.

[1]: I1ef3d341af9d473d94d52fd1890deafbae2bc9e1

Fix: 161273049
Test: atest CtsInputMethodTestCases
Test: manual as follows
     0) Have some files downloaded in the device
     1) Launch Files app > Browse > Click Internal Storage
     2) Long press on any file > From menu, click "Rename"
     3) Enter some name with soft keyboard and click "OK"
     4) Expect Keyboard should hide

Change-Id: I022ad658844142ff4a4cf3b91953013f2bfbb58a
2020-07-17 18:09:13 +02:00
Heemin Seog
c2e8162410 Keep alternate reference to mStatusBar and mNavigationBar for flexible insets
Needed in order to ensure the immersive confirmation dialog and behavior
work correctly and for the swipe directions to updated based on system
bar position

Bug: 156304383
Test: manual (change immersive behavior), atest WindowInsetsControllerTests
Change-Id: Id4258d06e9d02a55b46afd53eefb7ec19a50a2ed
2020-07-17 08:44:19 -07:00
Pablo Gamito
9b68a1d091 Merge "Add intDef annotation processor to generate mapping" 2020-07-16 12:18:55 +00:00
TreeHugger Robot
af00656abe Merge "Fixed ContentCaptureSession javadoc." 2020-07-16 02:26:30 +00:00
Yinglei Wang
fba2b3264f Merge "Delay sending accessibility events a little for temporarily detached view" 2020-07-15 17:34:45 +00:00
Ameer Armaly
4751228fc7 Bring back touch events for double tap and double tap and hold.
This CL includes all subsequent fixes that were caused by  the original change.
Bug: 159168795
Test: atest TouchExplorerTest
Change-Id: I416b90cf49a2804890246f2d52ee3a168059630f

Change-Id: Ibecc5f6cd1cdb682d1026869f6aa03da7f123e08
2020-07-15 09:42:20 -07:00
Wale Ogunwale
f98cf3bfe2 Merge "Remove Type.statusBars from compatInsetsTypes if FLAG_FULLSCREEN" into rvc-dev am: 0b237bb06f am: 2346053033 am: 2cff1f32fc am: 1563e67c5e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12157384

Change-Id: I006720e0aedbaff7e20bcaeead0e8d855a326de1
2020-07-15 14:53:43 +00:00
Wale Ogunwale
1563e67c5e Merge "Remove Type.statusBars from compatInsetsTypes if FLAG_FULLSCREEN" into rvc-dev am: 0b237bb06f am: 2346053033 am: 2cff1f32fc
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12157384

Change-Id: I9721f6a75c63313179b9be27117b403ca475392b
2020-07-15 14:41:13 +00:00
Wale Ogunwale
24e5e31f20 Merge "Remove Type.statusBars from compatInsetsTypes if FLAG_FULLSCREEN" into rvc-dev am: 0b237bb06f am: 1813474cc9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12157384

Change-Id: I936630c614b74161d64b45ff4fd865e56228e2a4
2020-07-15 14:19:53 +00:00
Wale Ogunwale
2cff1f32fc Merge "Remove Type.statusBars from compatInsetsTypes if FLAG_FULLSCREEN" into rvc-dev am: 0b237bb06f am: 2346053033
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12157384

Change-Id: I13f507d5693fdac232c8b6b29dda775358a90658
2020-07-15 14:19:44 +00:00
Wale Ogunwale
2346053033 Merge "Remove Type.statusBars from compatInsetsTypes if FLAG_FULLSCREEN" into rvc-dev am: 0b237bb06f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12157384

Change-Id: I82021bdc4f4d737feda4a20febf532db9fa1c850
2020-07-15 14:03:48 +00:00
Tiger Huang
0f310bdec8 Remove Type.statusBars from compatInsetsTypes if FLAG_FULLSCREEN
In the legacy layout world, if a window has FLAG_FULLSCREEN, then its
stable insets won't be affected by status bar. This CL makes the layout
logic compatible.

Fix: 160593171
Test: InsetsStateTest InsetsControllerTest ImeInsetsSourceConsumerTest
Change-Id: I59717e699470273e2462c1ad864e00bb9a126677
2020-07-15 19:00:19 +08:00
yingleiw
e34bc33af3 Delay sending accessibility events a little for temporarily detached view
In RV, a view could be temporarily detached in one draw cycle.
Accessibility events sent during this time will be lost. To prevent the
events from being lost, we will set a flag when a view is detached by
parent. And when sending accessibility events for detached view, we will
delay it a little by
ViewConfiguration.getSendRecurringAccessibilityEventsInterval. This way,
if the view is attached in one draw cycle, the events will be sent out.

Also add more setStateDescription() in CompoundButton to for safer code.
(this is not the cause of this bug though).

Fix: 151125936

Test: tested that the bug is fixed.

Change-Id: Iffca8c87bad4fa2f66862b966e351562d77d6d76
2020-07-14 17:12:07 -07:00
Pablo Gamito
c18f0a3562 Add intDef annotation processor to generate mapping
Test: Run 'mp :framework-all' and check if mapping file is properly
generated

Change-Id: I58f7ea5894e8ec994a74781663654508205c4db1
2020-07-14 13:38:57 +00:00
felipeal
06aaffe4b2 Fixed ContentCaptureSession javadoc.
Test: none
Fixes: 160551990

Change-Id: I34b584234ca3851e95574fe3c3d42e5f972cdbd4
2020-07-10 18:42:56 -07:00
TreeHugger Robot
e1c8e93342 Merge "Consolidate start new input scenerios" into rvc-dev am: 6c440de7a4 am: 96863d0d50 am: a96c3690e9 am: 7f7ea1b202
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12086310

Change-Id: Ieb588969fcbe8a20a56caede919ccbcbf4d2e89c
2020-07-10 19:34:49 +00:00
TreeHugger Robot
7f7ea1b202 Merge "Consolidate start new input scenerios" into rvc-dev am: 6c440de7a4 am: 96863d0d50 am: a96c3690e9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12086310

Change-Id: I97daed5472aa72b6e9cda3469ad85cc0e621cbfa
2020-07-10 19:21:42 +00:00
TreeHugger Robot
3caa59be1d Merge "Consolidate start new input scenerios" into rvc-dev am: 6c440de7a4 am: 96863d0d50
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12086310

Change-Id: I56f3e063c7117760f260e72d9e7be5afed55b9a7
2020-07-10 19:09:49 +00:00
TreeHugger Robot
a96c3690e9 Merge "Consolidate start new input scenerios" into rvc-dev am: 6c440de7a4 am: 96863d0d50
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12086310

Change-Id: I4fae013253c5f03fd515b09d29125bb120724777
2020-07-10 19:09:37 +00:00
TreeHugger Robot
99d53c60b4 Merge "Consolidate start new input scenerios" into rvc-dev am: 6c440de7a4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12086310

Change-Id: Ibdd1c9e4d9c87f8c0127f7df5c9082016bd4fdf1
2020-07-10 18:57:50 +00:00
TreeHugger Robot
6c440de7a4 Merge "Consolidate start new input scenerios" into rvc-dev 2020-07-10 18:42:06 +00:00
Chavi Weingarten
57ad5d9e40 Merge "Reparent bounds layer if surface was replaced." into rvc-dev am: ab3d80c98d am: fa48a156c7 am: 75a12e747c am: 04002dfdc4
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12123266

Change-Id: Ic583c118d6b9e7b8aa8498482b39f3f2d3dfbb61
2020-07-10 17:39:29 +00:00
Chavi Weingarten
04002dfdc4 Merge "Reparent bounds layer if surface was replaced." into rvc-dev am: ab3d80c98d am: fa48a156c7 am: 75a12e747c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12123266

Change-Id: Id7a415d1cc24dc9f114402d25a0de2e7dfcdc77e
2020-07-10 17:18:37 +00:00
Chavi Weingarten
75a12e747c Merge "Reparent bounds layer if surface was replaced." into rvc-dev am: ab3d80c98d am: fa48a156c7
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12123266

Change-Id: Id12f0265c89d98977fd7720c09c9acae129ba7e2
2020-07-10 17:09:06 +00:00
Chavi Weingarten
f3f9ce3148 Merge "Reparent bounds layer if surface was replaced." into rvc-dev am: ab3d80c98d am: fa48a156c7
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12123266

Change-Id: I0aa1aef2e9e0b54034d2dee8e44d4115bb4e5ee2
2020-07-10 17:08:58 +00:00
Chavi Weingarten
2b66979876 Merge "Reparent bounds layer if surface was replaced." into rvc-dev am: ab3d80c98d
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12123266

Change-Id: I620278fe572b48c3e1121a6c84a6d876c74c0242
2020-07-10 16:59:25 +00:00
Chavi Weingarten
ab3d80c98d Merge "Reparent bounds layer if surface was replaced." into rvc-dev 2020-07-10 16:49:33 +00:00
Ming-Shin Lu
d43b75cf0e Consolidate start new input scenerios
As CL[1] we introduced WINDOW_FOCUS_GAIN_REPORT_WITH_SAME_EDITOR start
input reason to ignore start new input when the focused view is
same as current served view and the input connection remains the same for
prevent additonal onStartInput / onFinishInput callback to
InputMethodService.

The main idea in the CL is good but how to judge whether the input connection
remains the same is not accurate.

CL[1] only checking if IMM#mServedInputConnectionWrapper self and its
input connection instance is stil exists, that breaks the following cases
to start new input:

Case 1:
- When device screen off / on to go back to focused app, this case will
  fit WINDOW_FOCUS_GAIN_REPORT_WITH_SAME_EDITOR use case, so
  IMM#mServedInputConnectionWrapper won't be deactivate and clear, this
  makes wrong when user taps IME picker dialog to switch IME, will hit
  again WINDOW_FOCUS_GAIN_REPORT_WITH_SAME_EDITOR and never start new
  input for new IME.
  Actually, in InputMethodManager has an ad-hoc check mRestartOnNextWindowFocus
  to start new input when device screen off / on case and switching IME,
  we should not ignore start input since that will conflict with the above
  case.

Case 2:
- As served view is now tracked by ImeFocusController which is per-window
  based instance from the IME focus handling refectoring CL[2],
  but InputMethodManager instance is still per-display based, so
  IMM#mCurrentTextBoxAttribute might be changed when the same app clinet has
  multiple IME focusable window focus changed, because focusing to the next
  IME focusable window will start new input connection and changes
  IMM#mCurrentTextBoxAttribute, so when focusing back to the
  original window, the served view in the original window's
  ImeFocusController will same as focused view, in that case if we didn't
  check if IMM#mCurrentTextBoxAttribute is really aligned with the given
  focused view, will mis-judge start new input timing and caused user can't
  type because the input connection state is obsoleted.

Those cases can be addessed by using new introduced method
IMM#isSameEditorAndAcceptingText, if the focused view is not aligned
with same editor or the editor is inactive, we should start new input
for Case 2, that also can fix Case 1 that we previously ignored starting
new input when switching IME.

Beside, we also found CL[3] leverages
InputMethodManager#mRestartOnNextWindowFocus to start new input when window focus
changed, since originally this ad-hoc check is only used to re-start input
for Case 1.
As we re-visited the necessary start new input scenerio is only when:
   - Device screen off -> on
   - Switching IME
   - the input connection obsoleted
     (this also includes when window focus changed)

As the result, we can remove all unnecessary logics in IMMS
instroduced by CL[1] and remove unnecessary
InputMethodManager#mRestartOnNextWindowFocus from CL[3], and preserve
the behavior is almost same as Q.

[1]: I2da99ae67b9ce4051dec0c0f0e975ebe6e1ab118
[2]: Ib455704fe1e9d243f93190a84f230210dbceac2a
[3]: I8d4fff94ba9313b773bc27fcbd019cc88580d3e9

Fix: 160391516
Bug: 158624922
Bug: 152373385

Test: atest FocusHandlingTest
Test: atest InputMethodServiceLifecycleTest
Test: manual for case 1
     0) pre-install 3rd party IME app
     1) launch message app and taps Search bar to focus.
     2) turn off screen
     3) turn on screen to back to focused app
     4) press IME switch icon from nav bar
     5) choose next IME, expect the IME should be changed.
Test: manual for case 2
    0) Sample app with 2 activites, each activity the layout has
       EditText
    1) Launch activity A, focus EditText
    2) Launch activity B and focus EditText
    3) Press back key to back to activity A
    4) Verify if typing with keyboard is workable.

Change-Id: I1ef3d341af9d473d94d52fd1890deafbae2bc9e1
2020-07-11 00:42:17 +08:00