Commit Graph

9396 Commits

Author SHA1 Message Date
TreeHugger Robot
1a8d6458e7 Merge "Always dismiss magnifier when cursor is detached." 2022-06-02 20:50:51 +00:00
Seigo Nonaka
d8a61e8a9d Always dismiss magnifier when cursor is detached.
Bug: 182484248
Test: atest CtsWidgetTestCases
Test: atest CtsTextTestCases
Test: Manually done
Change-Id: I79b5b8b7d000bbab114ef341327d3d0c21bab697
2022-06-02 11:01:42 -07:00
Mark Punzalan
89f3d4968d Merge "Translate selectable TextViews by temporarily disabling selectable." into tm-dev am: 8bbc7f6554 am: 8f85334591 am: 905979b385 am: af0c004e46
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18490753

Change-Id: I4d327ef4f8ff677a338df1a4be488d3e452da4d6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-27 20:39:01 +00:00
Haoyu Zhang
99e6506d13 Merge "Optimize TextView#populateCharacterBounds" 2022-05-26 21:29:41 +00:00
Haoyu Zhang
bc317e642c Optimize TextView#populateCharacterBounds
Avoid unnecessary calls of getPrimaryHorizontal/getSecondaryHorizontal,
this will make the method around 2 times faster.
Also avoid repeat calls of isPositionVisible, which reduces the
computation time around 5%.

Before:
	populateCharacterBounds[mTextLength (100))]_min (ns): 416685
	populateCharacterBounds[mTextLength (300))]_min (ns): 1315209
	populateCharacterBounds[mTextLength (1,000))]_min (ns): 4480508
	populateCharacterBounds[mTextLength (3,000))]_min (ns): 13526504
	populateCharacterBounds[mTextLength (10,000))]_min (ns): 44841361

After:
        populateCharacterBounds[mTextLength (100))]_min (ns): 204065
        populateCharacterBounds[mTextLength (300))]_min (ns): 653159
        populateCharacterBounds[mTextLength (1,000))]_min (ns): 2184327
        populateCharacterBounds[mTextLength (3,000))]_min (ns): 6770318
        populateCharacterBounds[mTextLength (10,000))]_min (ns): 22777530

Bug: 233922052
Test: atest android.text.TextViewCursorAnchorInfoPerfTest
Change-Id: I24a470e204e4a2e52f881828c707adfcca21f890
2022-05-26 09:27:32 -07:00
Mark Punzalan
6758b3f7e7 Translate selectable TextViews by temporarily disabling selectable.
The text is not selectable while translated. Making translated text
selectable requires many more changes.

This was tested in Nextdoor in the feed/posts activity. When there is a
"Read more" link in the post, the link doesn't work while translated,
and doesn't behave the same way after translation is paused.

Bug: 202966891
Test: atest CtsTranslationTestCases
Test: Manually - with Nextdoor on feed and chat activities
Change-Id: I6e8f532d427d85ff22df0deb248d8416a15f4821
2022-05-25 20:03:10 +00:00
TreeHugger Robot
19d57551fc Merge "Migrate AutoCompleteTextView to use OnBackInvokedDispatcher." into tm-dev am: d1263fb5ce am: b97f7b4760 am: cb69608f94 am: 218a9a7a7c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18432995

Change-Id: I7f94a47997d06f4d3fd5469090cd6e485e505514
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-19 09:03:14 +00:00
Shan Huang
7caa2c1c6b Migrate AutoCompleteTextView to use OnBackInvokedDispatcher.
With ag/17952046 we now actively intercept KEYCODE_BACK before they are
sent to IME when new back flow is used. This requires us to migrate
AutoCompleteTextView#onKeyPreIme, and is also what causes the test
failure in b/231960630.

Test: atest AutoCompleteTextView test.
Test: Test back behavior of AutoCompleteTextView in BackTestApp.
Bug: 231960630
Change-Id: I1a5e01c9a4f8f0e762b493284650854a230aecd3
2022-05-18 19:08:59 +00:00
Justin Ghan
d49d0fe228 Merge "Move setHandwritingArea call to View#sizeChanged" 2022-04-29 15:42:08 +00:00
Haoyu Zhang
abbb1d9969 Merge "Scribe: Introduce setHandwritingBoundsOffset API" 2022-04-28 22:04:41 +00:00
Haoyu Zhang
8b4aacab1e Scribe: Introduce setHandwritingBoundsOffset API
Introduced View#setHandwritingBoundsOffset and xml attributes to
enlarge the view's stylus handwriting bounds. With this API, it's
possible to make handwriting bounds larger than the view's visible
bounds, and makes handwriting easier to trigger.

Bug: 211764956
Test: atest android.view.stylus.HandwritingInitiatorTest
Test: atest android.view.cts.HandwritingBoundsOffsetTest
Change-Id: I7a3749f78df82eee08ad29761cd52d7452114873
2022-04-27 17:11:04 -07:00
Justin Ghan
dd482fe91e Move setHandwritingArea call to View#sizeChanged
This enables handwriting to be started before the input connection is created for custom text editor views which are not EditTexts.

Fix: 218907674
Test: atest CtsInputMethodTestCases:android.view.inputmethod.cts.StylusHandwritingTest
Change-Id: I1ff3b0ffd609e1ec9f1efc477d00fee998ac9966
2022-04-26 13:22:01 -07:00
Lucas Dupin
b5b1807a3c Merge "Don't trigger full relayout if DateTimeView doesn't change" into tm-dev am: 06ac74c54f am: e2c8005b11
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17606881

Change-Id: If6d59f47507f1c6e17b853e3635976e1bb0b1d00
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-22 15:45:21 +00:00
Lucas Dupin
06ac74c54f Merge "Don't trigger full relayout if DateTimeView doesn't change" into tm-dev 2022-04-22 15:21:23 +00:00
Tim Murray
395ebcc9e2 Merge "RemoteViews: make bitmaps immutable" into tm-dev am: e9a0acdfda am: 5a06b288ea
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17803201

Change-Id: If65d33b0ce7d9918e73f11ff3599aac0d7d9ecec
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21 19:05:19 +00:00
Tim Murray
e9a0acdfda Merge "RemoteViews: make bitmaps immutable" into tm-dev 2022-04-21 18:32:21 +00:00
Jernej Virag
8d056ab409 Don't trigger full relayout if DateTimeView doesn't change
Right now, when an update is triggered, DateTimeView will trigger a full
relayout of its parents because it always calls setText, even if it
doesn't change the contents (later down the line, TextView will call
requestLayout() for wrap_content, even if size didn't change).

Checking if the content actually changed avoids that extra layout pass
which avoids needless relayouts in e.g. SystemUI Notifications.

Bug:220712538

Test: atest DateTimeView (new test failed before fix / passes after fix)

Change-Id: Ib391d6715136b64b98f0bda3b3d4a3f991809c89
2022-04-21 11:56:42 +00:00
TYM Tsai
8a938b948d Merge "Auto append password hint for TextView" into tm-dev am: 2ab23eed06 am: c1a483379b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17750671

Change-Id: I806e9b7127a8f76f230302e8bb14932c66a975af
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-21 09:40:34 +00:00
TYM Tsai
2ab23eed06 Merge "Auto append password hint for TextView" into tm-dev 2022-04-21 08:13:10 +00:00
TYM Tsai
1f5c147eb5 Auto append password hint for TextView
Some TextViews are made as password via input type but does not
contain autofill password hint. This change auto append a hint
for autofill to identify.

Bug: 219844915
Test: atest android.autofillservice.cts.dialog.LoginActivityTest
Change-Id: Ifd18c56ffe788a601821d178ace41413f9e0454e
2022-04-20 03:55:33 +08:00
Tim Murray
21a8baaeb1 RemoteViews: make bitmaps immutable
Because mutability is propagated across Parcel and Binder, any mutable
Bitmaps passed to RemoteViews will end up mutable on the other side
even though those Bitmaps can't be modified from the RemoteViews
recipient.

Make all Bitmaps passed to RemoteViews immutable in order to ensure
that they can be sent without additional copies instead of the one
ashmem object.

Test: TH, RemoteViews work for widgets
Bug: 227920378

Change-Id: I477e7132f9ff78333c1eda56b9d0fc6ac520abd0
2022-04-18 18:36:02 +00:00
Vadim Caen
0b1c7631f3 Merge "Migrate PopupWindow to use OnBackInvokedDispatcher" into tm-dev am: 0ba48fea68 am: db68b7db77
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17105464

Change-Id: Ib7520afafe9e3b8fabb824cf2ed3c00fba374f6b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-11 18:48:39 +00:00
Vadim Caen
a2173652a0 Migrate PopupWindow to use OnBackInvokedDispatcher
Bug: 219968356
Test: In BackTestApp, show popup window and swipe back to close it.
Test: CTS: android.widget.cts.BackInvokedOnWidgetsTest#popupWindowDismissedOnBackGesture
Change-Id: Ic22c12e2ed9f1c961f6e0abfdaf3d2a9a7bd2934
2022-04-04 16:02:38 +02:00
Vadim Caen
49c0dc04c5 Merge "Split animation methods out of OnBackInvokedCallback" into tm-dev am: d0923a2197 am: ce4cdf7989
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17523886

Change-Id: I13b53084f418b286b60ceffb3ab35a83bd44fa0c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 20:28:11 +00:00
Vadim Caen
d0923a2197 Merge "Split animation methods out of OnBackInvokedCallback" into tm-dev 2022-04-01 20:13:30 +00:00
Vadim Caen
c627777dda Split animation methods out of OnBackInvokedCallback
This makes OnBackInvokedCallback SAM compatible

Bug: 227789359
Test: atest \
        CtsWindowManagerDeviceTestCases:android.server.wm.BackNavigationLegacyTest \
        CtsWindowManagerDeviceTestCases:android.server.wm.BackNavigationTests \
        WmTests:com.android.server.wm.BackNavigationControllerTests \
        FrameworksCoreTests:android.window.BackNavigationTest \
        FrameworksCoreTests:android.window.WindowOnBackInvokedDispatcherTest \
        CtsViewTestCases:android.view.cts.OnBackInvokedDispatcherTest
Change-Id: Iab86b0488f1b3048eb02042191acaeb6a645a0bc
2022-04-01 20:09:26 +00:00
Sally Yuen
8157012a66 Merge "Revert "Fixes for a11y selection". Reverts hiding some selection UI" into tm-dev am: b9d928eae3 am: cc2975c503
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17510341

Change-Id: I6775cdef5a4ebb926ba7db1dfced4f489ecb9da8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-01 18:30:46 +00:00
Sally Yuen
b9d928eae3 Merge "Revert "Fixes for a11y selection". Reverts hiding some selection UI" into tm-dev 2022-04-01 18:14:37 +00:00
TYM Tsai
b0e4d5d743 Merge "Make TextView do not show IME when fill dialog popup" into tm-dev am: e6ae224102
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16984943

Change-Id: I3b892e4a120719e572908df4569d655addab38f2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-31 14:14:21 +00:00
TYM Tsai
e6ae224102 Merge "Make TextView do not show IME when fill dialog popup" into tm-dev 2022-03-31 14:09:17 +00:00
Sally Yuen
8021a8fb09 Revert "Fixes for a11y selection". Reverts hiding some selection UI
This reverts commit 55022a5880.

Reason for revert: b/226418848
Test: builds

Change-Id: Id709d131754e14a67805ee981bc5ad0bc759121f
2022-03-30 22:12:57 +00:00
Shan Huang
9d4a7ed133 Merge "Migrate MediaController to use OnBackInvokedDispatcher" into tm-dev am: 116b6300d0
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17344424

Change-Id: I9919101df820a276588194f6a3d2e2c83cfc6cda
2022-03-24 18:37:47 +00:00
Shan Huang
116b6300d0 Merge "Migrate MediaController to use OnBackInvokedDispatcher" into tm-dev 2022-03-24 18:14:27 +00:00
Joanne Chung
af1fff3994 Merge "Fix the translation not work if the animation is off" into tm-dev am: 8121a43efd
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17240423

Change-Id: I99c3e48c94e6dc27cd3da3d996643c83ba9f405b
2022-03-24 13:24:42 +00:00
Joanne Chung
8121a43efd Merge "Fix the translation not work if the animation is off" into tm-dev 2022-03-24 13:15:40 +00:00
Shan Huang
9a12be2b47 Merge "Migrate TextView to use OnBackInvokedDispatcher." into tm-dev am: 1506886e06
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17070232

Change-Id: Iafff83962cfdccecbd49f86ce54c9aabf019f778
2022-03-24 07:55:43 +00:00
Shan Huang
1506886e06 Merge "Migrate TextView to use OnBackInvokedDispatcher." into tm-dev 2022-03-24 07:41:49 +00:00
Joanne Chung
fe6fddb4f0 Fix the translation not work if the animation is off
The system will show translation after the animation is done but it
doesn't work if the animation is off. To fix the issue, we will
check the animation status before showing translation.

Bug: 215386127
Test: atest testUiTranslationWithoutAnimation

Change-Id: Id0d02c422100effcf842209971052f4d6e9b0bd2
2022-03-24 14:55:15 +08:00
Shan Huang
76561c0ce8 Migrate TextView to use OnBackInvokedDispatcher.
The OnBackInvokedCallback will be called when an app is requesting the new back dispatch behavior. Otherwise we keep dispatching KEYCODE_BACK to TextViews.

Test: Use backTestApp WidgetTestsActivity. Try selecting texts and
dimisss selection by swiping back. Both on TextView and EditText and
AutoCompleteTextView.

Change-Id: I9422f28ab650c5d77c75394fe6dcf2a3981f79c7
2022-03-23 22:37:40 +00:00
Shan Huang
18eec9cf40 Migrate MediaController to use OnBackInvokedDispatcher
The OnBackInvokedCallback will be called when an app is requesting the new back dispatch behavior. Otherwise we keep dispatching KEYCODE_BACK to MediaController.

Test: In BackTestApp, try dismissing media controller by swiping back, both in new and legacy back dispatch.

Change-Id: I9ad3c199277838639c875c78a3a8dfb0963b3ca4
2022-03-23 22:33:36 +00:00
TYM Tsai
8f502801e1 Make TextView do not show IME when fill dialog popup
Make to show fill dialog only if IME is not showing. And if the field
will show fill dialog, ignore to show ime when clicks on the field.

Bug: 210926084
Test: Manual
  launch sample and click on password field -> show fill dialog
  click on username field (no fill dialog) -> show fill UI and IME
  IME is showing and click on password field -> show fill UI
Test: atest android.autofillservice.cts.dialog.LoginActivityTest
Test: atest android.widget.cts.EditTextTest
Change-Id: I6080510d87c50969d85fd9ed746ceba7e3c1c685
2022-03-23 15:02:12 +08:00
Sally Yuen
91b35e23ed Merge "Fixes for a11y selection" into tm-dev am: 8c3314f7aa
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17198946

Change-Id: I3792d41a856095cfadf37aa3b17eb2189a4bc6c7
2022-03-22 20:22:21 +00:00
Sally Yuen
8c3314f7aa Merge "Fixes for a11y selection" into tm-dev 2022-03-22 20:15:13 +00:00
Allen Su
508818fc58 Merge "Text Wrapping automation" 2022-03-22 05:44:23 +00:00
allenwtsu
f70429088a Text Wrapping automation
Bug: 220836284
Test: atest StaticLayoutTest
Change-Id: I2aead872b0b472b3c625e075348e46da768ff3be
2022-03-22 11:16:57 +08:00
Haoyu Zhang
b297b94fb1 Merge "Scribe in View: disable cursor drag when handwriting is enabled" into tm-dev am: b3c1d1984e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17199134

Change-Id: Iefae63d41b1cdfaa44c95cbf46dfdf3779ecfde8
2022-03-21 20:21:09 +00:00
Haoyu Zhang
b989691d71 Scribe in View: disable cursor drag when handwriting is enabled
Bug: 224587325
Test: manually tested
Change-Id: I607c0d9b71cb6cfd69704d850a2d3e00745c3fb4
2022-03-16 23:02:09 +00:00
Sally
55022a5880 Fixes for a11y selection
- TextView should request focus before performing selection on
  non-editable text, since selection requires focus. On the a11y
  service side, input focus should not matter when selecting
  non-editable text.
- Remove clickable and long-clickable states, since these are present
  due to TextView#setTextIsSelectable.
- Make UI controller changes consistent between SET_SiELECTION and
  SET_TEXT. Using SET_SELECTION means the action mode menu won't pop up
  and the left/right selection handles won't appear. Interactions
  between multiple EditTexts were previously inconsistent

- Delete some obsolete javadoc

Bug: 218357385
Test: builds and install: highlighting is consistent between SET
actions. highlighting works when selecting text in TalkBack, without
the service needing to purposely put input focus,
atest AccessibilityTextTraverssalText

Change-Id: I67986020aa112d45bd670f77b2b415617226c094
2022-03-16 22:01:19 +00:00
TreeHugger Robot
e8acb4a612 Merge "Update the text wrapping API." into tm-dev 2022-03-14 23:09:41 +00:00
Taran Singh
88af2f0b91 Merge "Use local coordinates in CAI#EditorBoundsInfo" into tm-dev am: a28f53b00d am: 90b0d74d60
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17049973

Change-Id: I8baa4cbeed48f03025bc6ce29c0812f4280d9c32
2022-03-10 20:03:52 +00:00