68 Commits

Author SHA1 Message Date
Jason Simmons
c1e5a9c1a3 Migrate third_party/android_tools to flutter/third_party (flutter/engine#52582)
Continuation of https://github.com/flutter/engine/pull/52034
2024-05-06 20:54:06 +00:00
Jason Simmons
f745408809 Move the Dart SDK to //flutter/third_party/dart (flutter/engine#51917) 2024-04-09 12:48:09 +00:00
Dan Field
19296c0ffd Guard against API 22 (flutter/engine#51167)
This was introduced in #51070 - my grepping for `LOLLIPOP` was too aggressive, and apparently the linter didn't catch this. I think it's just a bug in the linter.

Fixes b/327717572, because Google internal tests caught this.
2024-03-04 18:40:19 +00:00
Dan Field
2e9e6107eb Reapply "Bump everything to Android 21" (#51056) (flutter/engine#51070)
This reverts commit 98485b3f82fec45a6a0ac932c3c20285a9a14e02.

Reverted in https://github.com/flutter/engine/pull/51056 because it
caused failures in the framework. No changes, but framework test has
been updated to use an actual robolectric implementation to avoid those
failures.

This should not land until
https://github.com/flutter/flutter/pull/144348 has landed in the
framework.

@gaaclarke @johnmccutchan fyi
2024-02-29 09:00:01 -08:00
Dan Field
98485b3f82 Revert "Bump everything to Android 21" (flutter/engine#51056)
Reverts flutter/engine#51032

Probably causing some of the failures in https://github.com/flutter/flutter/pull/144326

@johnmccutchan fyi
2024-02-28 19:15:04 +00:00
Dan Field
6efee79357 Bump everything to Android 21 (flutter/engine#51032)
Followed the linter, got rid of a bunch of version check/guards we don't need anymore.
2024-02-28 15:56:40 +00:00
Gray Mackall
b9b16eab3c Fix new lint from android 14 upgrade, and remove it from the baseline (flutter/engine#47817)
See https://github.com/flutter/engine/pull/47609#discussion_r1385803721 for context.

It isn't clear to me what the file descriptor here is actually doing, so I'm not actually too sure about this fix. Can it just be deleted?

Update: it seems to me that the motivation here is that `ClipData.Item.coerceToText` [consumes a `SecurityException` here](https://cs.android.com/android/platform/superproject/main/+/main:frameworks/base/core/java/android/content/ClipData.java;l=411;bpv=0;bpt=1), with just a log line that isn't particularly descriptive. And basically we want to run into that same exception so we can [provide a more helpful log line](e5da8d9a87/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java (L525)), so we do the same thing that the underlying `coerceToText` method does?

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-29 16:04:20 +00:00
Gray Mackall
1dc6423dac [Re-land] Upgrade Android SDK to 34 "UpsideDownCake" (flutter/engine#47839)
The difference between this PR and the original is the change to the `AndroidManifest.xml`. For context, right before the original PR landed, [a change to upgrade the target sdk](https://github.com/flutter/engine/pull/47683) in the manifest from 31 to 33 landed. It also removed the lint complaining about using an old target sdk version from the baseline lint file. So this change upgrading the sdk, but not the target sdk in the manifest, triggered the lint again.

For the rest of the PR, [see the description of the original PR](https://github.com/flutter/engine/pull/47609).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-09 18:02:18 +00:00
auto-submit[bot]
f5605fa8aa Reverts "Upgrade Android SDK to 34 "UpsideDownCake"" (flutter/engine#47834)
Reverts flutter/engine#47609
Initiated by: zanderso
This change reverts the following previous change:
Original Description:
~**This should not land until https://github.com/flutter/buildroot/pull/790 (re)lands, and I swap the buildroot url back to the latest commit.**~ ~Reland of PR to update buildroot at https://github.com/flutter/buildroot/pull/792. ~ <- landed, and changed the buildroot commit to the latest in DEPS

Upgrades to android api 34

Also:
1. Upgrades to java 17 in DEPS/ci, because the linter now requires it.
2. Stops running some roboelectric tests on android apis 16-18, because Roboelectric indicated those versions were unsupported and we don't support them either.
3. Applies the four trivial new suggestions from the newer linter.
4. Updates the baseline lint to include the new non-trivial lint ([fixed in a different PR](https://github.com/flutter/engine/pull/47817/files)).
5. Changes some instances where we were hardcoding android apis as numbers (e.g. `sdk = 16') to use version codes (see the [comment below](https://github.com/flutter/engine/pull/47609#issuecomment-1800308658)).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-08 22:57:25 +00:00
Gray Mackall
542d29dedd Upgrade Android SDK to 34 "UpsideDownCake" (flutter/engine#47609)
~**This should not land until https://github.com/flutter/buildroot/pull/790 (re)lands, and I swap the buildroot url back to the latest commit.**~ ~Reland of PR to update buildroot at https://github.com/flutter/buildroot/pull/792. ~ <- landed, and changed the buildroot commit to the latest in DEPS

Upgrades to android api 34

Also:
1. Upgrades to java 17 in DEPS/ci, because the linter now requires it.
2. Stops running some roboelectric tests on android apis 16-18, because Roboelectric indicated those versions were unsupported and we don't support them either.
3. Applies the four trivial new suggestions from the newer linter.
4. Updates the baseline lint to include the new non-trivial lint ([fixed in a different PR](https://github.com/flutter/engine/pull/47817/files)).
5. Changes some instances where we were hardcoding android apis as numbers (e.g. `sdk = 16') to use version codes (see the [comment below](https://github.com/flutter/engine/pull/47609#issuecomment-1800308658)).

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-08 22:15:17 +00:00
utzcoz
3382ab50ac Use targetSdkVersion 33 for Android platform AndroidManifest.xml (flutter/engine#47683)
buildroot has switched to use 33 as default target sdk version.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-11-08 17:15:16 +00:00
Zachary Anderson
2431498922 Move some Dart packages to //flutter/third_party/pkg (flutter/engine#47654)
As part of eliminating the Flutter buildroot
(https://github.com/flutter/flutter/issues/67373), we are moving all
third-party dependencies from //third_party to //flutter/third_party.

Once all third-party dependencies have been migrated, tooling and config
will be moved and the buildroot will be eliminated altogether.

No tests changed because there is no semantic change to this PR. This is
simply relocating a dependency.
2023-11-06 06:59:27 -08:00
Zachary Anderson
14a7db93d1 Cleanup Dart package dependencies a bit (flutter/engine#47306)
Removes package:quiver, and an older second copy of package:file
2023-10-25 13:09:30 -07:00
Michael Goderbauer
efc22ee283 Enable private field promotion (flutter/engine#45722)
New feature in upcoming Dart 3.2. See https://github.com/dart-lang/language/issues/2020. Feature is enabled by bumping the min SDK version to 3.2.

Part of https://github.com/flutter/flutter/issues/134476.
2023-09-14 21:02:03 +00:00
Camille Simon
39cbbd22a3 [Android] Removes handling of Flutter splash screen (flutter/engine#44047)
Fixes https://github.com/flutter/flutter/issues/105173.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-07-28 18:08:35 +00:00
Michael Goderbauer
dcc4b1b535 Reland: Bump lower Dart SDK constraints to 3.0 (flutter/engine#40318)
* WIP

Bump to 3.0.0-0

* fix lints

* drop web_ui

* opt pointer_converter.dart out of dart 3

* Revert "drop web_ui"

This reverts commit b97a015d5cd0d7e0380a4231be4c31aad36671f1.
2023-03-16 08:07:39 -07:00
Zachary Anderson
32b3e66d7c Revert "Bump lower Dart SDK constraints to 3.0 (#40178)" (flutter/engine#40317)
Revert "Bump lower Dart SDK constraints to 3.0"
2023-03-15 18:53:00 +00:00
Michael Goderbauer
828f3deb86 Bump lower Dart SDK constraints to 3.0 (flutter/engine#40178)
Bump lower Dart SDK constraints to 3.0
2023-03-15 17:57:04 +00:00
Nayuta403
c2290f0a8f Create FlutterActivity/FlutterFragment using light weight engine with FlutterEngineGroup (flutter/engine#36963) 2022-12-07 09:17:03 -08:00
stuartmorgan
6013743aae Forward a11y events from Hybrid Composition overlays (flutter/engine#36924) 2022-10-31 13:54:14 +00:00
Jia Hao
abbff8407e Reland "Avoid vsync scheduling delay" (flutter/engine#36197) 2022-09-16 15:41:39 +00:00
Jia Hao
c626fcbe65 Revert "Avoid vsync scheduling delay" (flutter/engine#36091) 2022-09-13 11:10:36 +00:00
Gary Qian
b30aeada6d Upgrade Android SDK to 33 Tiramisu (flutter/engine#35415) 2022-08-19 00:26:52 +00:00
Michael Goderbauer
cc50c5249c Sync analysis_options.yaml with flutter/flutter (flutter/engine#34986) 2022-07-29 16:41:04 -07:00
Jia Hao
036265b39e Avoid vsync scheduling delay (flutter/engine#34363) 2022-06-30 05:22:04 +00:00
Emmanuel Garcia
135a1c8e56 Handle SurfaceView in a VirtualDisplay (flutter/engine#33599) 2022-06-22 19:39:05 -07:00
Gary Qian
c2fb536113 Upgrade android SDK to API 32 (flutter/engine#33524) 2022-06-01 18:58:04 -07:00
utzcoz
acfe2ab302 Use Robolectric's Config#qualifiers to set locale for tests (flutter/engine#32984) 2022-04-29 09:29:04 -07:00
Gary Qian
0422046115 Revert "Delete io.flutter.app android v1 embedding" (flutter/engine#32232) 2022-03-24 00:10:04 -07:00
Gary Qian
08cef2ee55 Delete io.flutter.app android v1 embedding (flutter/engine#32074) 2022-03-23 20:22:54 -07:00
Dan Field
57f4b8e838 Make tracing safe (flutter/engine#32042) 2022-03-15 21:10:11 -07:00
Emmanuel Garcia
0eb5a3774a Reland: Fix first batch of warnings in the Android embedding (flutter/engine#31530) 2022-02-18 11:39:07 -08:00
Emmanuel Garcia
c42f5c3591 Reland "Improve platform views performance" (flutter/engine#31468) 2022-02-15 10:25:10 -08:00
Zachary Anderson
7990f3dee5 Revert "Improve platform views performance (#31198)" (flutter/engine#31431)
This reverts commit 9ee76a65723d1d75af55ba8a58b70b8bef7a6536.
2022-02-12 16:22:58 -08:00
Emmanuel Garcia
9ee76a6572 Improve platform views performance (flutter/engine#31198) 2022-02-11 21:15:10 -08:00
Jim Graham
ef9c1c9887 Revert "Fix first batch of warnings in the Android embedding (#30807)" (flutter/engine#31277)
This reverts commit 2288e0d981062fd94c41fec53ac889d039379cbb.
2022-02-05 11:39:46 -08:00
Emmanuel Garcia
2288e0d981 Fix first batch of warnings in the Android embedding (flutter/engine#30807) 2022-02-04 18:50:08 -08:00
eggfly
8d18d929e5 [android] Provide a path instead of throwing NPE when getDir() suites returns null (flutter/engine#30367) 2021-12-16 22:09:09 -08:00
Gary Qian
f598b46a13 Add script to upload unified Android SDK CIPD archives and switch DEPS to use it. (flutter/engine#29776) 2021-11-23 00:02:29 -08:00
Dan Field
0a6301d5ca Listen for display refresh changes and report them correctly (flutter/engine#29800)
This makes sure the frame timings recorder and vsync waiter implementations get
the correct refresh rate if or when it adjusts at runtime. This should be OK
because we'll only query the refresh rate when the display metrics actually
change, which is much less frequent than every frame. I experimented with an NDK
implementation in the previous patch, but that vastly restricts the API levels
we can support, and currently on API 30 and 31 it just calls Java methods
through JNI anyway.

I've refactored the way Display updates are reported so that AndroidDisplay can
just dynamically get the refresh rate correctly. These values are used by a
service protocol extension and by some Stopwatches on the CompositorContext.

See also #29765

Fixes flutter/flutter#93688
Fixes flutter/flutter#93698
2021-11-18 13:09:26 -08:00
Gary Qian
38d660407d Revert "Temporarily delete deprecated Android v1 embedding (#29248)" (flutter/engine#29378)
This reverts commit fba89ec6a1ec5387102eb55592e2606d8de7e496.
2021-10-28 01:49:50 -07:00
Gary Qian
fba89ec6a1 Temporarily delete deprecated Android v1 embedding (flutter/engine#29248) 2021-10-28 01:00:12 -07:00
Renzo Olivares
b2b2f705de TextEditingDelta support for Android (flutter/engine#28175)
* Add new channel updateEditingStateWithDelta

* Fix formatting

* Fix formatting

* Fix formatting

* Add equality case

* formatting

* Implement TextEditingDelta class to encapsulate delta logic

* Formatting

* Also send new composing/selection along with delta

* Utilize an ArrayList of TextEditingDeltas to take into account batch editing

* clear batch deltas when editing state is updated by framework, we don't want to collect deltas from the framework because they have already been applied to the value on the framework side

* fix formatting

* formatting

* formatting

* Add enableDeltaModel flag to choose between updateEditingValue and updateEditingValueWithDeltas

* Add autofill support for delta model

* formatting

* update

* Fix issues with composing region

* formatting

* Remove

* Fix out of bounds error when textfield is initialized with text

* Clean up logs

* formatting

* update licenses

* Fix deletion issues

* formatting

* delta -> deltaType

* updates

* formatting

* formatting

* Fix logs

* Add tests for TextEditingDelta

* formatting fixes

* remove unused imports

* Fix return type for getDeltaType

* Fix tests

* Fix ListenableEditingStateTest

* formatting

* Fix typo

* Add test for deltas when setComposingText

* formatting

* Updates to test

* fix typo

* formatting

* Verify all properties of delta for test

* formatting

* Add VisibleForTesting import

* fix test

* fix formatting

* fix tests

* fix tests

* fix tests

* updates for tests

* remove ide made file

* Fix more tests

* Fix TextEditingDelta tests

* Add test for verifying delta is generated on setComposingText

* Add TextInputPlugin tests for replacement and deletion deltas

* formatting

* formatting

* Capture delta on setSpan and clear deltas when generated from the framework and when we skip updating the framework

* fix formatting

* update tests to reflect new clear batch delta calls

* Make deletion inline with platform

* fix tests

* Address reviewer comments

* formatting

* fix tests

* fix tests

* move delta inference to framework

* update tests

* formatting

* fix tests

* Formatting

* get -> extract

* More tests and address reviewer comments

* clean up logs

* Address reviewer comments

* formatting

* formatting

* Remove testing constructor

* send as deltas
2021-09-15 13:41:21 -07:00
Jason Simmons
426d5baac8 Add missing result for the TextInput.setEditableSizeAndTransform method handler on Android (flutter/engine#28376) 2021-08-31 14:56:02 -07:00
Emmanuel Garcia
1a9e4c4ff3 Bump Android version and add more info to create_sdk_cipd_package.sh (flutter/engine#27413) 2021-08-18 18:22:02 -07:00
Emmanuel Garcia
82bffc3762 Use Android linter from cmdline-tools (flutter/engine#28153) 2021-08-17 22:12:01 -07:00
Dan Field
01bf2ce3d7 Android lint to NNBD (flutter/engine#26826) 2021-06-20 06:58:17 -07:00
LongCatIsLooong
f2d4eff14c [Android KeyEvents] Split AndroidKeyProcessor into separate classes (flutter/engine#25628) 2021-06-04 18:54:01 -07:00
Zachary Anderson
197908b0a0 Get android_lint deps using gclient rather than pub. (flutter/engine#26106) 2021-05-13 09:17:56 -07:00
xster
8b90c7869e FlutterEngineGroup for Android (flutter/engine#23675) 2021-01-19 12:29:02 -08:00