Commit Graph

9066 Commits

Author SHA1 Message Date
Mihir Patel
59fe064d75 Merge "Guarding against null pointer exception when setting view structure info for content capture" into sc-dev 2021-07-02 18:22:15 +00:00
TYM Tsai
598376c6b5 Merge "Notify Content Capture when deselected" into sc-dev 2021-07-02 03:55:12 +00:00
Joanne Chung
559b8dd078 Merge "Disable log default dumps in debug ROM" into sc-dev 2021-07-02 00:10:57 +00:00
Ryan Mitchell
b3659d36b0 Merge changes from topic "revert-15058002-SNQUARIDWJ" into sc-dev
* changes:
  Revert^2 "Apply overlay changes with config change"
  Revert^3 "Deprecate Context#createApplicationContext"
2021-06-30 20:58:43 +00:00
Pierre Barbier de Reuille
8ea2a96c28 Merge "Add a config value for the default of the analog clock flag" into sc-dev 2021-06-30 16:09:15 +00:00
Ryan Mitchell
350c2669d6 Revert^3 "Deprecate Context#createApplicationContext"
This reverts commit cb5a80ea57.

Reason for revert: Was not the cause of the test failure

Fixes: 186622527
Test: atest FrameworksCoreTests:ContextTest
Change-Id: I705854f080200f0465d94a7754e710f05a3ec92c
2021-06-30 15:53:45 +00:00
TYM Tsai
c6db1be4cc Notify Content Capture when deselected
Notify Content Capture with the text changed event when deselected.

Bug: 184311217
Test: manual
 1.long press trigger selection, event is sent.
 2.drag selection indicators, send event after the drag is done.
 3.deselecting, event is sent.
Test: atest CtsContentCaptureServiceTestCases
Change-Id: I3d05b8e798bfb5b213817b36f163aab0a688bdf4
2021-06-30 09:14:27 +08:00
Paul Hobbs
8d440c0566 Merge changes from topic "revert-15058002-SNQUARIDWJ" into sc-dev
* changes:
  Revert^2 "Deprecate Context#createApplicationContext"
  Revert "Version LoadedApk cache using base code path"
  Revert "Apply overlay changes with config change"
2021-06-29 20:36:15 +00:00
Paul Hobbs
cb5a80ea57 Revert^2 "Deprecate Context#createApplicationContext"
Bug: 192242649

5a41b45a85

Change-Id: Idcebd68e0079e7e87de04ae25069b3a9ff72093c
2021-06-29 20:06:45 +00:00
Joanne Chung
bec597e4cc Disable log default dumps in debug ROM
We enable the logs dump in debug rom, we should only dump logs when
the debug flag is on.

Bug: 182433547
Test: Make sure the flag is disable after test and enable during test.

Change-Id: I0a719ee9c545b4e66f3414d7f57f3d959004071e
2021-06-29 18:09:03 +08:00
TYM Tsai
6c5c023530 Merge "Notify Content Capture the selection was changed" into sc-dev 2021-06-29 07:25:57 +00:00
George Mount
5a1f9df840 Merge "Linearly complete overscroll stretch when close" into sc-dev 2021-06-28 17:10:31 +00:00
Ryan Mitchell
5a532f6eed Merge changes Icf81845d,Iea54abf3,I98656314 into sc-dev
* changes:
  Apply overlay changes with config change
  Version LoadedApk cache using base code path
  Revert "Deprecate Context#createApplicationContext"
2021-06-27 06:27:58 +00:00
Stevie Kideckel
38eba47271 Add a config value for the default of the analog clock flag
Also, handle this config value being set to 0 by hiding the seconds hand
and ticking once per minute.

Bug: 191269485
Test: locally
Change-Id: Ib2b705437d570d46328174d618ec0de6193212ca
2021-06-25 10:33:27 +00:00
Joanne Chung
27f397f55a Merge "Fix TextViewTranslationTest test fail." into sc-dev 2021-06-24 04:46:50 +00:00
Joanne Chung
8b95d38fa4 Merge "Bug fix: Move the implementation out from View.onTranslationResponse." into sc-dev 2021-06-24 02:08:40 +00:00
George Mount
22a9f9c83e Linearly complete overscroll stretch when close
Fixes: 190475978

Damped spring animations asymptotically approach their destinations.
The final pixels can take many frames to complete, but stopping them
means that we get a disruptive jump in those final pixels.

This CL detects when the edge effect animation is close to the finish and
completes the animation with a linear velocity that matches a
common velocity at 8 pixels distant. This means that the animation
terminates quicker so that touch events directed at the contents
after the animation completes (e.g. taps) can interact with the contents
soon.

The CL also adjusts the delta for detecting zero in the stretch
animation as it was jumping by a pixel or more at the end of an otherwise
smooth animation.

Test: manual testing for the visual effect
Change-Id: Ie249b0265c5c5939b597668d5afe4f76d0430821
2021-06-23 21:25:04 +00:00
Ryan Mitchell
5a41b45a85 Revert "Deprecate Context#createApplicationContext"
This reverts commit c54ebba25b.

Bug: 188059515
Test: atest FrameworksCoreTests:ContextTest
Change-Id: I986563142dac135281889e811e6e5219d728d5d1
2021-06-22 22:30:38 -07:00
Ahaan Ugale
5d42257561 Merge changes from topics "cc-composing-update", "cc-merge-equals" into sc-dev
* changes:
  ContentCapture: Don't ignore events with changed composing/selection span
  ContentCapture: Notify when Composing region changes.
2021-06-23 05:05:19 +00:00
Mihir Patel
987a2b4150 Guarding against null pointer exception when setting view structure info for content capture
Test: Manual, CTS
Bug: 189329389
Change-Id: Iaaacd59dc377079847951ab635df9bb602467390
2021-06-22 11:46:24 -07:00
Joanne Chung
4a6d59b696 Fix TextViewTranslationTest test fail.
The fail will only be found in the release build, we put the return
in the wrong place.

Bug: 189359744
Test: local disable flag and TextViewTranslationTest pass.
Change-Id: Idd377145b3757abaf528a90a25b6c73e9940f9f8
2021-06-21 21:32:45 +08:00
TreeHugger Robot
3bb97bee2c Merge "Merge "/widget/OWNERS: Change TextView to TextView*" am: df2c78d226 am: c34ef6d2df am: 8aac56ee8f am: 44e9c3609c" into sc-dev 2021-06-17 22:21:12 +00:00
Treehugger Robot
b4c7bd9792 Merge "/widget/OWNERS: Change TextView to TextView*" am: df2c78d226 am: c34ef6d2df am: 8aac56ee8f am: 44e9c3609c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1721330

Fix: 191391120
Change-Id: Ic13c42d7e063e35bd980ddd0d6f10552d5198b9e
(cherry picked from commit c96c073294)
2021-06-17 20:39:33 +00:00
TYM Tsai
46e946a251 Notify Content Capture the selection was changed
The ContentCapture service is interested in the selection changes.
When the selection was changed, notifies a text changed event to
ContentCapture.

Bug: 184311217
Test: manual
 1.long press trigger selection, event is sent.
 2.drag selection indicators, send event after the drag is done.
Test: atest CtsContentCaptureServiceTestCases
Change-Id: Ie45f617b132bc240b6cf61ee7ebc3041275f1694
2021-06-17 22:35:10 +08:00
Joanne Chung
a9da1722cc Bug fix: Move the implementation out from View.onTranslationResponse.
Keep onTranslationResponse() only to save TranslationResponse. We can
move set TransformationMethod logic to TextViewTranslationCallback.
With the current implementation, if the developers overrides
onTranslationResponse(), they don't have a chance to use the TextView
default ViewTranslationCallback implementation because they don't set
the TranslationTransformation, they must implement their solution. If
we move logic to TextViewViewTranslationCallback and the developers
only overrides onTranslationResponse(), they still have a chance to
use the default TextViewViewTranslationCallback if the developers set
the TranslationResponse for View.

Bug: 178353965
Test: manual to make sure translation still works.
Test: atest CtsTranslationTestCases

Change-Id: Iada7f3efbbc7705ecf962c78e275ed942816707f
2021-06-17 22:12:27 +08:00
Ahaan Ugale
fb12492de7 ContentCapture: Notify when Composing region changes.
Sending the notification from the InputConnection layer reduces the
number of events that are handled (merged) by ContentCapture. We are
also able to handle composing span being removed; at the TextView layer,
we cannot do that as we don't know if the composing span will be added
back, which happens on typing).

Bug: 184311217
Test: manual - append chars, delete chars, replace text, move cursor to
 composing text, move cursor to remove composing span, drag cursor
Test: atest android.contentcaptureservice.cts.LoginActivityTest
Change-Id: I0e9d153cf7ba2734f38cb1b6044eb7b670fb34ad
2021-06-16 10:47:59 -07:00
Sally Yuen
77ea3710bb Merge "Unregister IA11yManagerClient in ToastPresenter" into sc-dev 2021-06-11 19:14:45 +00:00
Stevie Kideckel
cf30f5dae2 Merge "Ensure that the RemoteResponse is not empty before acting on it" into sc-dev 2021-06-11 16:39:15 +00:00
Bernardo Rufino
0245b5cbce Merge "Expand toast javadoc to include rate limiting info." into sc-dev 2021-06-11 12:28:08 +00:00
Stevie Kideckel
b72cf99044 Ensure that the RemoteResponse is not empty before acting on it
Potential NPE was added in ag/14881530

Fix: 190353630
Test: locally with sample app with and without items
Change-Id: I946b6b6719600cb638db1b15d74a8c3af6587f32
2021-06-10 09:59:01 +00:00
Stevie Kideckel
0e77904b02 Merge "Fix handling for onItemClick of fixed collection items" into sc-dev 2021-06-09 15:53:30 +00:00
Jan Tomljanovic
8cf456cea9 Expand toast javadoc to include rate limiting info.
Test: N/A just adding javadoc
Bug: 190468866
Change-Id: I0a1ab865f5db7a990c1a667b729df52c4735a38c
2021-06-09 10:56:22 +01:00
Stevie Kideckel
80aaf8817a Merge "Schedule time ticks for the next minute when no seconds hand is present" into sc-dev 2021-06-09 08:28:34 +00:00
Stevie Kideckel
95b804ad4f Stop using TIME_TICK broadcast in TextClock
This gets called even when the view is not visible, which is bad for
performance. I've adapted the existing tick framework to handle ticking
for minutes when there aren't seconds in the format.

I verified the correct behavior with sample apps with and without
seconds in the format, including across DST time changes.

Fix: 190467448
Test: locally with sample apps
Change-Id: I75fed5c9d162b5361c31fe22d057a007db0ce75c
2021-06-08 11:17:29 +00:00
Stevie Kideckel
c81323e390 Schedule time ticks for the next minute when no seconds hand is present
The TIME_TICK broadcast was removed as it's bad for performance to use
it while the view is not visible and adds unneeded overhead.

Instead we can use the internal handler callback scheduling method.

Bug: 190274204
Test: verified locally with app, including across DST time skip
Change-Id: I4eb5e64b16c953baf473331dc7d498de19cfdbc9
2021-06-08 08:05:36 +00:00
Stevie Kideckel
bfbe46198c Fix handling for onItemClick of fixed collection items
The onItemClick handling code assumed that the item would be nested at
least one layer deep due to the RemoteViewsAdapter adding a wrapper view
group.

Rather than add another case to that logic, I've refactored this to
traverse the view's children looking for a view with the tag. As the
tag is internal, there should only ever be one child with it and we'll
always want that one to handle the click.

Fix: 190353630
Test: locally
Test: atest RemoteViewsFixedCollectionAdapterTest
Change-Id: I22057f148d33482ad84fff592b9f7f554fa2bfad
2021-06-07 14:46:52 +00:00
Sally
cda1b9ccec Unregister IA11yManagerClient in ToastPresenter
AccessibilityManager is used to send an a11y event when the Toast is
shown, so unregister the client after it's shown

Test: Track clients in A11yManagerService before and after
multiple toasts are shown with adb shell dumpsys accessibility,
atest ToastUITest
Bug: 189010828

Change-Id: Ie4759d2f67ab9e3149d44169b812d8ec2316c266
2021-06-04 22:50:28 +00:00
George Mount
60dd581ac2 Fix ListView not moving during catch
Fixes: 189294917

When a ListView has clickable items in it, the over scroll
animation "catch" wasn't properly catching. The problem was
that the over scroll animation was checked and the touch mode
was set, and the touch mode was checked later. Unfortunately,
the touch mode variable that was checked was different from
the one that was set.

Test: manual and new ListViewTest
Change-Id: Iaf9b51d028d1f14195ca38a5fd511141262487ff
2021-06-03 23:52:15 +00:00
Nader Jawad
7d0ed97427 Updated EdgeEffect to respect accessibility settings
Modified EdgeEffect to be disabled if the global
ValueAnimator#areAnimatorsEnabled flag is false

Fixes: 189870180
Test: Added CTS test
Change-Id: I7adb00342f6f89655719d6c5b64316fc58589e0a
2021-06-02 13:08:08 -07:00
Ahaan Ugale
df75689d4d Translate: Text alpha animation on toggling translated state.
Apply a simple text alpha animation when toggling between original and
translated text. The text is fully faded out, then swapped to the new
text, then the fading is reversed.

Quick toggles are handled by ending the previous animation (which resets
the alpha value) when starting a new one. If the toggle is extremely
fast (<250ms for the currently defined animation duration), the text
stays in it's original state instead of swapping back-and-forth. This is
arguably not ideal, but anyway not worth the complexity for fixing.

There is an unhandled edge case where if the color is changed by the app
during the animation, the app's change would get overridden. It should
be rare and doesn't seem very important to fix.

Bug: 178651829
Test: atest CtsTranslationTestCases
Test: manual - across several apps, while scrolling, concurrently
 interacting with the app, concurrently closing the app, selecting text
 during the animation (with animation speed slowed down to see the
 effect).
Change-Id: I08a26de2253bb345f01186a6748b2d0ff6c2a419
2021-05-27 09:34:18 -07:00
TreeHugger Robot
87d4c9a9ca Merge "Fix a bug in sentence detection when input is too long." into sc-dev 2021-05-25 18:25:52 +00:00
TreeHugger Robot
7568c8cd9a Merge "Fix a bug in SpellCheckSpan update logic." into sc-dev 2021-05-25 18:00:58 +00:00
Stevie Kideckel
ef1e1dfb44 Merge "Add a flag for the fps of the AnalogClock" into sc-dev 2021-05-25 09:58:28 +00:00
George Mount
ebde5e48e6 Merge "Fix overscroll doesn't affect scrolling when released" into sc-dev 2021-05-24 15:19:49 +00:00
TreeHugger Robot
2fdb6bd709 Merge "Revert "Do not invoke textclassifier when dimissing the selection"" into sc-dev 2021-05-24 11:48:28 +00:00
Tony Mak
c103424e3a Revert "Do not invoke textclassifier when dimissing the selection"
Reverting ag/13435448.

The bug that the change fixed was that TextView invokes classifyText
when the selection is going to be dimissed due to an ACTION_UP event.
The fix was that we only  call showFloatingToolbar() if users are
dragging the selection curosr when we get an ACTION_UP event.

QA has found a bug recently.
When user selects some text and then scrolls the TextView, we hide the
floating toolbar temporarily. When user finishes scrolling, TextView
does not reshow the toolbar immediately due to the fix.

I don't have a fix that I feel comfortable to get into S given
that we are pretty late in the process, so reverting the fix.

Some more details:
IMO, the fix should be calling showFloatingToolbar() only if
TextView has a selection(i.e. TextView.hasSelection()) when we are
processing the ACTION_UP event in updateFloatingToolbarVisibility().
Sadly, it does not work because the selection is not actually dismissed
yet when we are trying to update the visiblity of
the floating toolbar in updateFloatingToolbarVisibility().
The selection is actually dismissed when Editor.onTouchUpEvent is
called to handle the UP event, but updateFloatingToolbarVisibility() is
called before that :/

Moving around the code so that updateFloatingToolbarVisibility() is
called after Editor.onTouchEvent() may work, but I am not comfortable
to get in a risky change like this at the moment.

Reason for revert: b/187862341

Bug: 187862341

Change-Id: Ic49c6792dc86c01fcc78a4d3bc5bfd85b7772197
2021-05-24 11:47:56 +00:00
Nikita Dubrovsky
75dc1f16e3 Merge "Remove verbose logcat messages in TextViewOnReceiveContentListener" into sc-dev 2021-05-23 22:58:38 +00:00
Nikita Dubrovsky
5175c12a13 Remove verbose logcat messages in TextViewOnReceiveContentListener
Bug: 170163502
Test: Manual
Change-Id: Ib34a4375294a2a696cbf26e110602b5de2825184
2021-05-21 16:35:13 -07:00
George Mount
d2cbe50f18 Fix overscroll doesn't affect scrolling when released
Bug: 188531406

When an EdgeEffect is flung past 0 into negative values, it
shows a stretch from the other side. To prevent this, the EdgeEffect
animation is now terminated when it reaches 0. I also made it so
that dragging to a value of 0 releases the EdgeEffect.

I also fixed the nested scrolling so that the stretch release
of ListView occurs before the onNestedPreScroll().

Test: new tests and manual testing
Change-Id: Ia20a6b96d25cf31ef143511828ddce5c33cee804
2021-05-21 18:28:23 +00:00
Joanne Chung
18b1d3bde4 Refine the ViewTranslationCallback usage.
Currently, TextView uses its default implementation even developers
uses setViewTranslationCallback() to set their customized
ViewTranslationCallback, we should only set default TextView
implementation if developers don't set it.

The onViewTranslationResponse() will call getViewTranslationCallback
instead of getting TextView default implementation directly. This can
make sure we can get the expected ViewTranslationCallback.

Bug: 183467275
Test: manual
Test: atest CtsTranslationTestCases

Change-Id: I41417140f8985aec6c80f1bca3cfba804727d5df
2021-05-21 19:11:14 +08:00