517 Commits

Author SHA1 Message Date
Matt Carroll
18ad03d49d
Fixed an Android keyboard entry bug that was introduced by the embedding refactor. (#28438) (#7954) 2019-02-25 19:15:49 -08:00
Jason Simmons
fd6c3fc700
Do not clear FlutterJNI state when a FlutterView is detached (#7929)
If an app is using retainFlutterNativeView or a plugin wants to keep the
FlutterNativeView active, then the FlutterNativeView should not drop its
handle to the corresponding native platform view.

Fixes https://github.com/flutter/flutter/issues/26931
2019-02-25 15:31:50 -08:00
Ivan
f7306394e3 fix sendLocales on old android versions (#7937)
[Configuration.getLocales()][1] was added in API level 24. 
For earlier versions, we instead return only the current locale.

Fixes https://github.com/flutter/flutter/issues/28321

[1]: https://developer.android.com/reference/android/content/res/Configuration#getLocales()
2019-02-24 22:29:16 -08:00
Matt Carroll
502c9c4002
Android Embedding PR 6: Introduce FlutterView structure with FlutterSurfaceView and FlutterTextureView. (#7896) 2019-02-24 20:41:18 -08:00
Stanislav Baranov
36d495d57a
Dynamic patching support for native code libraries. (#7927) 2019-02-22 14:18:47 -08:00
Stanislav Baranov
5809adea41
Make the layout of dynamic patch bundle similar to APK. (#7925)
This will help further changes when we pull other artifacts into the bundle.
2019-02-22 12:56:35 -08:00
Chinmay Garde
33bb91cc15
Allow embedders to specify a vsync waiter. (#7914)
Fixes https://github.com/flutter/flutter/issues/28240
2019-02-21 23:02:32 -08:00
Stanislav Baranov
aa2b287cbf
Reland #7777 with proper LICENSE (#7888) 2019-02-21 13:45:24 -08:00
Chinmay Garde
684c9394c0
Respect the custom GL proc table when creating the resource context on the IO thread. (#7893)
Fixes https://github.com/flutter/flutter/issues/28229
2019-02-20 17:23:14 -08:00
Matt Carroll
e11d0e96fb
Android embedding refactor pr5 add flutterengine impl (#7878) 2019-02-20 17:06:33 -08:00
Matt Carroll
2f4a38dbd3
Android embedding refactor pr3 add remaining systemchannels (#7892)
Merging back in after reversion. Fixed some messaging issues in FlutterNativeView and corrected some message parsing.
2019-02-20 17:05:31 -08:00
Dan Field
6d7eb52185
Revert "Android embedding refactor pr3 add remaining systemchannels (#7874)" (#7886)
This reverts commit f4fba6d7110338caf3878cf42e26e17744108d00.
2019-02-20 11:18:12 -08:00
Matt Carroll
f4fba6d711
Android embedding refactor pr3 add remaining systemchannels (#7874) 2019-02-19 15:51:13 -08:00
Stanislav Baranov
5141680287
Revert "Support for binary decompression of dynamic patches. (#7777)" (#7853)
This reverts commit d48de7a3ec97ebf7ffe543aa74993efa51064789.
2019-02-15 17:07:06 -08:00
Chris Bracken
163a2fd5e1
Revert "Android embedding refactor pr3 add remaining systemchannels (#7738)" (#7849)
From build log:
```
../../flutter/shell/platform/android/io/flutter/view/FlutterView.java:95: error: cannot find symbol
    private final LocalizationChannel localizationChannel;
                  ^
  symbol:   class LocalizationChannel
  location: class FlutterView
../../flutter/shell/platform/android/io/flutter/view/FlutterView.java:172: error: cannot find symbol
        localizationChannel = new LocalizationChannel(dartExecutor);
                                  ^
  symbol:   class LocalizationChannel
  location: class FlutterView
2 errors
```

This reverts commit 256db4bc23b7931509233df0dc04e44e16608229.
2019-02-15 15:03:19 -08:00
Matt Carroll
256db4bc23
Android embedding refactor pr3 add remaining systemchannels (#7738) 2019-02-15 13:45:24 -08:00
Todd Volkert
02d7ca31d8
Don't call static method from instance variable (#7841) 2019-02-15 16:18:02 -05:00
Amir Hardon
10cee612bb
Delete GL textures when they are released from the texture registry. (#7836)
On Android we were never deleting the textures allocated for
the texture registry, which resulted in a memory leak, see:
https://github.com/flutter/flutter/issues/24145
2019-02-15 13:11:49 -08:00
najeira
69e4606077 Fix NullPointerException in SurfaceTextureRegistryEntry (#7837) 2019-02-15 13:01:41 -08:00
najeira
9a965bc3d9 Fix NullPointerException in ResourceCleaner (#7838) 2019-02-15 12:56:37 -08:00
nathanrogersgoogle
e2394ad77e
Add flow events connecting pointer events to frames (#7807) 2019-02-13 22:27:12 -08:00
Stanislav Baranov
d48de7a3ec
Support for binary decompression of dynamic patches. (#7777) 2019-02-11 16:56:33 -08:00
Matt Carroll
4663d357a3
Recommended implementation of combining characters implementation. (#7758) 2019-02-11 15:27:55 -08:00
Jason Simmons
694300d325
Provide a default pressure range if a MotionEvent does not have a device (#7737)
Fixes https://github.com/flutter/flutter/issues/27641
2019-02-11 09:29:07 -08:00
Stanislav Baranov
aa275820bc
Support for loading dynamic patches in AOT mode. (#7744)
* Dynamic patching support for AOT mode.

* Cleanup.
2019-02-08 10:47:01 -08:00
Matt Carroll
211adeac3a
Introduced a number of Java system channels in io/flutter/embedding/engine/systemchannels/ (#7500) 2019-02-06 17:07:30 -08:00
Matt Carroll
cc27cafb84
Implemented Dark Mode for Android (#25525) (#7488) 2019-02-04 19:30:15 -08:00
Jason Simmons
050dcaad60
Embed ICU data inside libflutter.so on Android (#7588)
Prior to this the Android embedder code would extract the icudtl.dat asset out
of the APK and write it to local disk during the first startup of the app.

This change will make that work unnecessary and eliminate the risk of ICU
failures due to errors in the extraction process.
2019-01-30 11:56:17 -08:00
Chinmay Garde
79dc315dc4
Allow the engine to redirect traces to systrace via settings. (#7617) 2019-01-28 17:39:31 -08:00
jslavitz
c57e66fdae
fixes android pressure range (#7516) 2019-01-22 15:09:02 -08:00
Brian Osman
50ddc3712f
Remove SkColorSpaceXformCanvas, use color-managed SkSurfaces instead (#7548)
Behavior (visual) changes should be very minor. Things that are to be expected:
* A few things were not color managed correctly by the transform canvas (color emoji, some color filters). Those will be handled correctly with the tagged surfaces (although we're always transforming to sRGB, so nothing should change until we target a wider gamut).
* Image filtering will happen in the source color space, rather than the destination. Very minor.
* The transform canvas did caching of images in the destination color space. Now, the conversion happens at draw time. If there are performance issues, images can be pre-converted to the destination with makeColorSpace().
2019-01-22 15:34:51 -05:00
Dan Field
75cfebde06
Roll buildroot and update method of getting android SDK and support libs (#7284)
* Get support, use new SDK tooling from buildroot
* Roll NDK to 19
* Skip Android bits on Windows with note
2019-01-18 15:20:56 -08:00
Stanislav Baranov
5401803f67
Validate dynamic patches before attempting to install (#7496)
This change adds explicit validation of dynamic patches in all places
where they're used, instead of only validating it in some places which
wasn't as reliable because some of the code paths were missed.

This change also moves utility functions that deal with validating
patches from ResourceExtractor to ResourceUpdater, to make them
available as API for other places in code that need this validation.
2019-01-15 18:09:25 -08:00
Jason Simmons
395937380c
Log errors returned from method channel invocations in the text input plugin (#7476)
See https://github.com/flutter/flutter/issues/25715
2019-01-14 17:26:05 -08:00
Greg Spencer
918b28dbe1
Add hover event support to the engine (#6961)
This adds support for passing ACTION_HOVER_MOVE events to the framework, in preparation for supporting mouse hover events on Android and ChromeOS.
2019-01-14 16:15:20 -08:00
Stanislav Baranov
37d886ef85
Simplify rollback of dynamic patches (#7432) 2019-01-09 17:29:04 -08:00
Stanislav Baranov
6071286ef1
Download dynamic patch to separate file, then rename it to install. (#7428)
This fixes potential race condition when patch gets downloaded on top
of zip file that's currently in active use by resource extractor and/or
asset manager. This change is necessary since download can happen in
the background while normal application operations are in progress.
2019-01-09 16:26:24 -08:00
Chris Bracken
20d70d2bf4
Eliminate unused import of ZipException (#7429)
Use of this class was eliminated in https://github.com/flutter/engine/pull/7398.
2019-01-09 15:08:43 -08:00
Stanislav Baranov
844d27cb3c
Refactor dynamic patching to use clearer naming and structure. (#7426)
This is a no-op change, except for fixing a bug where download task
reference wasn't cleared after download was completed.

This change also removes call to output stream flush(), which is not
necessary according to Java spec.

The rest of the change deals with requiring the code to work directly
with ResourceUpdater object instead of having FlutterMain be a facade
that forwards some of ResourceUpdater's methods. This simplifies the
other (more essential) upcoming changes that will be landing in the
followings few PRs.
2019-01-09 14:21:36 -08:00
Stanislav Baranov
5e33f33a18
Refactor shared code into separate function to simplify further work. (#7410)
This should be a no-op change that behaves identical to as before.
2019-01-08 12:44:07 -08:00
David Guralnick
8eccb860de Add onStart hook to FlutterFragmentActivity (#6719)
Seems like this file was missed when onStart hooks were added recently in this pull request: https://github.com/flutter/engine/pull/5177
2019-01-07 17:16:06 -05:00
Dan Field
5ca8aadaa2
Announce in/out of list (#6918)
* Support in/out of list announcements on Android
2019-01-07 13:36:20 -08:00
Todd Volkert
4487d392da
Replace Java code with equivalent, more concise code. (#7398) 2019-01-07 11:28:00 -08:00
Stanislav Baranov
8cca33aea8
Give more control over when dynamic patches get downloaded and installed. (#7327)
This change introduces manifest properties that control when dynamic patches are downloaded and installed in the application lifecycle.

Application developer can choose whether between install on restart, install on resume, or immediate forced install of dynamic patches.
2019-01-02 10:40:37 -08:00
Stanislav Baranov
6f763fbad7
Minor refactoring of dynamic patching code. (#7325)
Minor refactoring of dynamic patching code.

- Changes naming of manifest properties to be consistent with documentation.
- Moves methods from inner class to outer class to make them more reusable.
2018-12-28 13:23:38 -08:00
Stanislav Baranov
868dc047b4
Support loading flutter assets from dynamic patch (#7308)
This replicates similar logic found in ApkAssetProvider that locates assets by their short name in a sudbirectory inside of an archive file, instead of only at the root of archive.
2018-12-28 10:34:47 -08:00
Stanislav Baranov
732ea7669c
Allow dynamic patches without a patch number. (#7309)
Unique patch numbers are mainly useful for canary and A-B testing, but otherwise complicate things and can now be omitted.

Also, always append .zip to patch download URL. This obviates the need to configure redirects on the server when not using patch numbers.
2018-12-27 11:56:56 -08:00
matthew-carroll
6b85ed3d93
Android embedding refactor PR1: JNI Extraction to FlutterJNI.java (#7098)
Android embedding refactor: JNI Extraction to FlutterJNI.java
2018-12-21 01:07:04 -05:00
Jason Simmons
41222d0555
Update usage of some Android APIs that are deprecated in API level 28 (#7261) 2018-12-19 17:39:53 -08:00
Jason Simmons
5ec8ef8509
Remove unused GrContext in AndroidSurfaceGL (#7258) 2018-12-19 15:06:58 -08:00