On Android O, when the autofill service returned null to a fill request we'd close both the
server-side and client-side sessions. The downside is that if new views were dynamically added,
it wouldn't trigger more request (which was problematic on apps using WebView)
On Android P, we changed it so the client-side was marked as FINISHED, but we kept track of which
fields were already focused, so it wouldn't trigger more requests when their were focused again.
Now on Android Q we're optimizing it further so we don't trigger extra requests on any field that
were originally present during the fill request (but we still trigger it for fields added later).
Test: atest CtsAutoFillServiceTestCases:android.autofillservice.cts.LoginActivityTest#testAutoFillNoDatasets_multipleFields_alwaysNull
Test: atest CtsAutoFillServiceTestCases # sanity check
Fixes: 128551128
Change-Id: Iaa203dc415bfd68647f07e8d7be1ce07bb49ffc9
Per API council feedback, we are making changes to include only the
namespace in the system API defined in DeviceConfig.java. Strings which
define property names should be defined in code local to the feature
instead.
Bug: 126411407
Test: atest FrameworksCoreTests:DeviceConfigTest
Change-Id: I73157c127a246719afb37eca65cabf2e3d24b38a
1. Use LangID to detect the language tags, and pass the result to
the native side.
2. Have feature flags to turn off "detectLanguageTagsFromText" and
foreign action for classification respectively.
Test: Select a non-english word, no more "define" action.
Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/
BUG: 123705564
BUG: 128413589
Change-Id: I6a68caca1e0709e63319907acbf8d776894f555b
This is useful for long-lived activities (like a browser), so child session can still be reported
after the service is restarted after dying.
Test: manual verification (cannot be tested using CTS because it would kill the test process)
Test: atest FrameworksCoreTests:android.view.contentcapture.ContentCaptureEventTest
Test: m update-api
Bug: 128466656
Change-Id: I9310263e897e929189d323d31853592a374dc6e0
Added javadoc to make clear that it requires FEATURE_INPUT_METHOD.
Bug: 127840515
Test: atest InputMethodManagerTest#testShowInputMethodPicker
Change-Id: I3dde60ecc538a8fc64ebbf6935830621bf9c6253
The explanation with "iteration" was difficult to understand. Rephrased with the use of "drawing order position".
Bug: 128029546
Test: N/A
Change-Id: I7c93750ea3f85a5f053b3079ade78869894945c3
Adding a corresponding getter for the recently opened View.setAnimationMatrix(Matrix).
Bug: 126376184
Test: new cts tests added
Change-Id: I9d5abb1ae3606d2e3884859ce9a81c11c65613d6
1. Deduplicate actions by their look. Ideally, we should compare
their labels and icons, but comparing icon is expensive and thus
we are comparing title + component name instead.
2. Put intent to extras in ConversationAction object
3. Updated LabeledIntent.resolve, so we only support activity intent
handler.
4. Fixed a minor issue in the browser title chooser.
If it is resolves to sharesheet / chooser, we will still show the URL.
BUG: 121200744
Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/
Change-Id: Ic7ea31eb0ac5e9386e8e4b428686a0b66726c96b
This CL reverts API changes which were introduced by below CLs:
- "761c475: AML: Make config_mediaMetadataBitmapMaxSize as @SystemApi"
- "888b791: Make AudioManager.FLAG_FROM_KEY as @SystemApi"
- "3d1353a: AML: Unhide KeyEvent.isMediaSessionKey()"
Bug: 128245348
Test: atest CtsMediaTestCases:android.media.cts.MediaSessionTest;
atest CtsMediaTestCases:android.media.cts.MediaControllerTest;
atest CtsMediaTestCases:android.media.cts.MediaBrowserTest;
Change-Id: I263a958bf340336f699adb28424241fd00e46e28
+ Generate inspection companions as MyClass$InspectionCompanion instead
of MyClass$$InspectionCompanion. This allows the discovery of custom
inspection companions written as nested classes.
+ Rename GeneratedInspectionCompanionProvider to
StaticInspectionCompanionProvider to more clearly articulate how it
function in the new world.
+ StaticInspectionCompanionProvider now explicitly checks if a class it
discovered implements InspectionCompanion, and returns null instead of
throwing a ClassCastException.
+ The annotation processor checks for the existence of a nested class
named InspectionCompanion, and fails the build if a class has both a
custom InspectionCompanion and @InspectableProperty annotations.
Test: atest --host view-inspector-annotation-processor-test
Bug: 126913705
Change-Id: Ic0d2100ec22420e36f9db44e56c66fe9146eeb0c
The logic is already in annotator, just applies the same logic in
langid and actions.
Test: Change locale to non-english. Observe no more suggestion
on notification.
FIXES: 122912634
Change-Id: Icf80a1e3edf04db1947fe98c598ecfca3ed6139f
Include source layout file in exceptions thrown from
LayoutInflater. This makes it easier to trace failures
when using <include ...> tags.
You'll get something like
Caused by: android.view.InflateException: Binary XML file line #11 in com.myapp:layout/activity_main: Binary XML file line #6 in com.myapp:layout/overlay: Error inflating class MyView
Caused by: android.view.InflateException: Binary XML file line #6 in com.myapp:layout/overlay: Error inflating class MyView
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.myapp.MyView"...
Bug: 127425845
Test: Manual app launch that has invalid XML
Change-Id: I262fa9625dd2981eb22e493e9e4a1d2b7b75ef4b