1. Wraps TC queries in Request objects
2. Adds create/destroyTextClassificationSession system APIs
3. Adds the session Ids to system API calls
4. Change setSignature() to setId() on result objects
5. Plumbing to make the API updates work as things currently work
6. Hide Linkify.addLinksAsync APIs
Bug: 74461129
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextSelectionTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextLinksTest
Change-Id: I933ada8b37ef9893331a265e3b4fc08e043f1029
This new naming clashes less with the existing notion of FLAG_FALLBACK
in KeyEvents.
Bug: 72562800
Test: ViewTest#testUnhandledKeys
Change-Id: Ibd713860601e62d955443fe6811fd974b5bb0092
The saveLayer APIs are restored from @removed but will treat input
as ALL_SAVE_FLAGS and generate exceptions on newer API levels.
We internally used these calls in one situation that now use a
different @hide API to support the previous behavior until we
refactor that code.
Partial revert of "Remove deprecated android.graphics.Canvas APIs"
This reverts commit 7b837616ae.
Bug: 77276963
Bug: 73777445
Test: CtsGraphicsTestCases
Change-Id: I7acd4ffd5ac41a58d2be8b48cf50119c2b896708
None of the existing animation really work with transitions in
which a translucent app is appearing/disappearing. Add a separate
animation for that and change all existing transitions to these
new transition types in case we detect that only translucent
activities are appearing/disappearing.
Test: Sharesheet animations
Test: go/wm-smoke
Change-Id: Iffe57b7664dddf647d723c91d115ade60c12ad33
Fixes: 37953606
Fixes: 70730519
Fixes: 72649981
Fixes: 72686618
Fixes: 76462084
Test: make doc-comment-check-docs, open $ANDROID_BUILD_TOP/out/target/common/docs/doc-comment-check/reference/android/view/WindowManager.LayoutParams.html, navigate to LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
Change-Id: I8a9df979cbb062896fa874a163414a4f8a095b21
Behavioural changes:
- Every action now as an icon, and instead hints via RemoteAction whether
the icon should be shown or not.
- Icons are now taken from the app default, not the activity.
(That way, we can construct a lightweight resource backed Icon)
- Legacy intents are no longer parceled for security reasons.
(TextClassificatio wasn't parcelable in O)
- TextClassifications built with the new API will always return null for
getIntent, but provide a getOnClickListener.
- Accessibility descriptions are now provided for action mode items.
Testing changes:
- Removed URI checks from TCM test because PendingIntent hides this info.
Bug: 73950205
Test: atest FrameworksCoreTests:TextClassificationManagerTest
Test: atest FrameworksCoreTests:TextClassificationTest
Test: atest CtsViewTestCases:TextClassificationManagerTest
Test: atest CtsViewTestCases:TextClassifierValueObjectsTest
Test: atest CtsWidgetTestCases:TextViewTest
Test: atest CtsWidgetTestCases:EditTextTest
Change-Id: I6706d2c342a8bbb9de0146a48c8b8aac9d9c7d83
Outstanding work tbd in other CLs
- Introduce request objects with session Ids
- Implement character based indexing for Selection events.
This CL hides the old Logger API but still keeps running so that we can
check that the modifications to the new API does not break anything.
We will remove the old Logger once we're convinced this is stable.
Please refer to I3c9ceea0863099fc4f0a5ce5e823c648ee9c4521 for previous
reviews related to this CL.
Bug: 74461129
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Change-Id: Iea744f1fa5964b4399290c31863ebeffa99af8d3
SOFT_INPUT_STATE_UNSPECIFIED is a tricky mode because its de facto
spec is that the system can do whatever it thinks valid.
Despite the fact that this is the default value for newly created
Windows, unfortunatelly there is no clear spec about what would happen
regarding whether the system thinks the software keyboard should be
shown or dismissed.
This CL doesn't change the behavior, but it just attempts to clarify
the behavior in JavaDoc.
Bug: 73793727
Bug: 77152727
Test: make -j doc-comment-check-doc
Change-Id: I69dab7c7018da89ba57fe2f5c8e718ef95985307
When a dataset is selected, the framework tries to autofill all views belonging
to it. But if one (or more view) failed to autofill, we should let the user
recover by tapping the view again.
This scenario typically happens when views are recycled.
Test: atest MutableAutofillIdTest#testViewGoneDuringAutofillCanStillBeFilled
Test: atest CtsAutoFillServiceTestCases # manually retrying flaky failures
Fixes: 76149637
Change-Id: I7a6352c68b4a7d5e4cb80a7346c66efd831f21c8
Fixes an issue with the javadoc for windowLayoutInDisplayCutoutMode.
Removes @tags from enum javadocs, because they get merged into a table,
which does not support inner @tags. Instead, use <code> tags which work
in that context.
Also replaces @see tags with {@link} tags in the attr javadoc, because
the enum value table gets appended, but it is invalid to have text after
an @see tag.
Change-Id: Ib97e9aa82e173d99a467132a0d403793d7297e61
Fixes: 76448223
Test: make doc-comment-check-docs, verify output at $ANDROID_BUILD_TOP/out/target/common/docs/doc-comment-check/reference/android/R.attr.html#windowLayoutInDisplayCutoutMode
The contents of a browser URL bar is typically changed for 2 reasons:
1.User entered a new URL.
2.Form was submitted and the URL changed.
On scenario #1, the current session should be canceled, while on #2 it should be
committed. Scenario #2 is already handled when the service sets a SaveInfo, so
this CL handles the other cases:
1.Focus on URL bar is ignored so it does not trigger a new partition.
2.If URL bar changed and service didn't set a SaveInfo, the session is canceled.
Fixes: 76027553
Test: manual test with Chrome
Test: new tests on VirtualContainerActivityCompatModeTest:
testFocusOnUrlBarIsIgnored()
testUrlBarChangeIgnoredWhenServiceCanSave()
testUrlBarChangeCancelsSessionWhenServiceCannotSave
testUrlBarChangeCancelsSessionWhenServiceReturnsNullResponse
Test: atest CtsAutoFillServiceTestCases
Change-Id: I19d2aa4c8b25def0d5eca1c59cfdc2ffe33dd388
Since visibility effects children, it's state change should
report focusableViewAvailable even though it, itself, may
not be focusable.
Bug: 76027633
Test: CTS View_FocusHandlingTest
Change-Id: I83f949ec33bcac02e75e21727a120d3018d9382a
When refactoring to not use global transaction when setting
position I failed to account for the forwarding done by the
background wrapper.
Bug: 76099976
Bug: 76110573
Test: Manual. go/wm-smoke
Change-Id: I2cff8e571f12e69cefbd1ea35538fd71beaf1ec4
Bug: 74622357
Test: Test with ag/3738015 together. Layers without buffers have window
type -1 and owner uid -1.
Change-Id: I6f010bf1327671a06874b75bc0a63a3fb010ced7
The flag should only ensure that smart linkify calls behave in the
legacy way instead of totally disabling linkify.
Also, to keep the flag consistent with smart_selection_enabled and
smart_text_share_enabled flags, the flag should only disable the
SmartLinkify (i.e. Linkify.addLinksAsync) feature not TextClassifier
APIs (i.e. TextClassifier.generateLinks).
Also fixes issue with non-focusable TextViews by firing the primary
action instead of showing the floating toolbar. (b/73156794)
Bug: 75967597
Bug: 73156794
Test: bit FrameworksCoreTests:android.text.util.LinkifyTest
Test: bit CtsTextTestCases:android.text.util.cts.LinkifyTest
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Test: bit CtsWidgetTestCases:android.widget.cts.TextViewTest
Test: bit FrameworksCoreTests:android.widget.TextViewActivityTest
Test: manual - checked behaviour turning flag on/off
Test: manual - checked behaviour with TextView.setFocusableInTouchMode(true/false)
Change-Id: I541f60161b9cd63ce7e57235607500f2fb0841e7
Bug: 74720318
Test: Builds and fall-back works.
Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest
Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest
Change-Id: I5491af628c8406e42ca2cc971ad3a8b708ceb315
With this CL, calling SpellCheckerSession#close() multiple times will
no longer show the following error message in logcat, which was quite
confusing.
E SpellCheckerSession: ignoring processOrEnqueueTask due to
unexpected mState=TASK_CLOSE scp.mWhat=TASK_CLOSE
Note that with a recent CL [1], we now more often see the above
message. A typical scenario is:
1. App creates SpellCheckerSession x.
2. App calls x.close().
3. x is garbage-collected. ART calls x.finalize(), which internally
calls x.close() again.
[1]: I4e00c3a2cec93d1dacff20546e481fe757279661
9b64367193
Bug: 72974646
Fix: 72974646
Test: Made sure that no error message in question with a test app
that calls SpellCheckerSession#close() multiple times then
trigger SpellCheckerSession#finalize().
Change-Id: Ie9690860e6d0406dc6746cd03c28f693e65c1dde
ActivityView content should never be letter- or pillar-boxed
and it doesn't have overscan areas, so we can skip setting
display override info for a virtual display that backs it.
Bug: 72220802
Test: Manually resize with ActivityView demo app
Change-Id: I211449eaea50ec5d3214d63e7eb93a1d2ed2c0fd