1914 Commits

Author SHA1 Message Date
KyleWong
6a671a1458 When the instance method:init is unavailable, mark the class method:new unavailable. (flutter/engine#7532) 2019-01-20 14:36:13 -08:00
Chinmay Garde
1f528fef75 Allow embedders to specify AOT snapshot buffers. (flutter/engine#7538) 2019-01-18 16:32:35 -08:00
Dan Field
1b3d586cfe Roll buildroot and update method of getting android SDK and support libs (flutter/engine#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
Chinmay Garde
00fc057d88 Configure the embedder in AOT in "profile" and "release" runtime modes. (flutter/engine#7533) 2019-01-18 12:24:21 -08:00
Dan Field
e53df3e546 Ensure the ResourceContext is not ripped out from under dart (flutter/engine#7528)
* Ensure the ResourceContext is not ripped out from under dart
2019-01-17 13:55:44 -08:00
Chris Bracken
86d1e4f835 Deprecate FlutterProjectArgs.main_path, packages_path (flutter/engine#7497)
As of Dart 2, running from Dart source is no longer supported.  Dart
code should now be compiled to kernel form and will be loaded by from
kernel.blob in the assets directory. We retain the struct members for ABI
stability. package_path is also not required since kernel blobs are
self-contained.
2019-01-16 12:47:39 -08:00
KyleWong
8c111d9e25 Edit the bundleid so that it conform to UIT specifications. (flutter/engine#7503) 2019-01-16 11:35:39 -08:00
Stanislav Baranov
6d7e4f6eaf Validate dynamic patches before attempting to install (flutter/engine#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
Brian Osman
16d11f7649 Switch to new SkColorSpace factory (flutter/engine#7480) 2019-01-15 09:50:46 -05:00
Jason Simmons
700bd140a2 Log errors returned from method channel invocations in the text input plugin (flutter/engine#7476)
See https://github.com/flutter/flutter/issues/25715
2019-01-14 17:26:05 -08:00
Dan Field
ea0b78bc5d Allow FlutterViewController to be released when not initialized with an engine (flutter/engine#6879)
* Break cycle between FlutterViewController and FlutterEngine
2019-01-14 16:58:09 -08:00
Dan Field
60a0e7aeb4 iOS A11y memory leak (flutter/engine#7244)
* fix memory leak in a11y bridge
2019-01-14 16:47:19 -08:00
Greg Spencer
da656186ed Add hover event support to the engine (flutter/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
Dan Field
a9728ab07a Make IOManager own resource context (flutter/engine#7272)
* Make IOManager own resource context
2019-01-14 13:46:38 -08:00
Chris Bracken
8689c7f8e6 Stop pumping frames in applicationWillResignActive (flutter/engine#7450)
According to Apple's [OpenGL ES Programming guide][1], applications
should pause any animations in applicationWillResignActive. Any GL calls
after applicationDidEnterBackground will cause the app to be terminated
immedidately by iOS.

The surfaceUpdated:YES call is moved to the handler for the
applicationDidBecomeActive notification to handle cases where the
application becomes inactive then active again without being
backgrounded (e.g. home button double-tap then return to app directly).

[1]: https://developer.apple.com/library/archive/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/ImplementingaMultitasking-awareOpenGLESApplication/ImplementingaMultitasking-awareOpenGLESApplication.html#//apple_ref/doc/uid/TP40008793-CH5-SW1
2019-01-12 09:14:23 -08:00
Justin McCandless
67fb5e4ec6 Match the ios number input type behavior to what is said in the docs (flutter/engine#7281) 2019-01-11 10:24:00 -08:00
木士羽
c7de795701 Fix settings.advisory_script_uri in iOS createShell (flutter/engine#7235) 2019-01-10 12:09:37 -08:00
Stanislav Baranov
e82ebbd3c5 Simplify rollback of dynamic patches (flutter/engine#7432) 2019-01-09 17:29:04 -08:00
Stanislav Baranov
e4a7d30fcb Download dynamic patch to separate file, then rename it to install. (flutter/engine#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
Chinmay Garde
1aa19e022b Wire up support for external OpenGL textures for the embedder. (flutter/engine#7087) 2019-01-09 15:21:39 -08:00
Chris Bracken
bf7d09f9ca Eliminate unused import of ZipException (flutter/engine#7429)
Use of this class was eliminated in https://github.com/flutter/engine/pull/7398.
2019-01-09 15:08:43 -08:00
Chinmay Garde
074da7fd65 Allow embedders to add per shell idle notification callbacks. (flutter/engine#7427) 2019-01-09 14:33:56 -08:00
Stanislav Baranov
077b1ebf23 Refactor dynamic patching to use clearer naming and structure. (flutter/engine#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
089ea4bf10 Refactor shared code into separate function to simplify further work. (flutter/engine#7410)
This should be a no-op change that behaves identical to as before.
2019-01-08 12:44:07 -08:00
David Guralnick
d6a1bcc917 Add onStart hook to FlutterFragmentActivity (flutter/engine#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
7c43b20b1d Announce in/out of list (flutter/engine#6918)
* Support in/out of list announcements on Android
2019-01-07 13:36:20 -08:00
Todd Volkert
66ab3f16bc Replace Java code with equivalent, more concise code. (flutter/engine#7398) 2019-01-07 11:28:00 -08:00
Stanislav Baranov
f63f447b47 Give more control over when dynamic patches get downloaded and installed. (flutter/engine#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
5cc717fe86 Minor refactoring of dynamic patching code. (flutter/engine#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
733d65dd7b Support loading flutter assets from dynamic patch (flutter/engine#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
Amir Hardon
04b9885368 Recreate the overlay rendering surfaces if the GrContext was changed. (flutter/engine#7317)
When the app is sent to the background and then brought to the forward it is possible that the GrContext was changed.
This resulted in overlay surfaces not being updated after being backgrounded and foregrounded.

This change makes sure to re-create the overlay rendering surfaces if the GrContext for the main surface was changed.

fixes flutter/flutter#24900
2018-12-27 16:02:00 -08:00
Amir Hardon
568b03145e Reland "Only reject gestures to embedded UIViews when the framework sa… (flutter/engine#7315)
This re-lands commit 94b7921, with a few fixes:

  - Keep the DelayingGestureRecognizer a discrete gesture recognizer, when it was set to a began state embedded WkWebViews wasn't receiving touch events.
  - Fix a bug of not retaining the forwardRecognizer pointer when assigning it to a scoped_nsobject.
2018-12-27 13:23:36 -08:00
Stanislav Baranov
b1cf6809d1 Allow dynamic patches without a patch number. (flutter/engine#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
Amir Hardon
cb964ad34f Revert "Only reject gestures to embedded UIViews when the framework says so. (#7307)" (flutter/engine#7313)
This reverts commit 94b7921b81bbebad9a90cea0bcc95c7e0a9ade60.
2018-12-27 10:22:51 -08:00
Amir Hardon
94b7921b81 Only reject gestures to embedded UIViews when the framework says so. (flutter/engine#7307)
Previously the framework could only tell the engine to forward a touch
sequence to an embeded UIView between the time touches has started and
the time touches ended. This couldn't support gesture arena setups where
the gesture is recognized after the touch sequence is complete (e.g a
tap competing with a scroll).

This change makes it so that a touch gesture is only finally rejected by
a platform view when the framework invokes the `rejectGesture` method.
This allows the framework to resolve a gesture conflict after the touch
sequence was ended.
2018-12-26 22:11:10 -08:00
matthew-carroll
712911f505 Android embedding refactor PR1: JNI Extraction to FlutterJNI.java (flutter/engine#7098)
Android embedding refactor: JNI Extraction to FlutterJNI.java
2018-12-21 01:07:04 -05:00
Jason Simmons
2e112a7904 Add a system message channel for controlling the Skia resource cache size (flutter/engine#7257)
See https://github.com/flutter/flutter/issues/25244
2018-12-19 17:40:16 -08:00
Jason Simmons
4f52895770 Update usage of some Android APIs that are deprecated in API level 28 (flutter/engine#7261) 2018-12-19 17:39:53 -08:00
Jason Simmons
3c3ddb0a37 Remove unused GrContext in AndroidSurfaceGL (flutter/engine#7258) 2018-12-19 15:06:58 -08:00
Stanislav Baranov
c85ef14c19 Update dynamic patching terminilogy to match that of the flutter tool (flutter/engine#7248) 2018-12-19 10:31:54 -08:00
Dan Field
e12c087f9e Fix javadoc for Android-28 (flutter/engine#7254)
* Fix javadoc for Android-28

* build javadoc as part of pre-submit
2018-12-19 09:24:02 -08:00
Dan Field
5a59304379 Roll buildroot to support Android SDK 28 (flutter/engine#7245)
* Roll to buildroot and support Android SDK 28

* Ubuntu 16 for android build test
2018-12-18 19:38:28 -08:00
Jason Simmons
9eae3293a3 Update iOS unit test for the removal of hex string encoding of uint64 data (flutter/engine#7246) 2018-12-18 11:16:38 -08:00
Todd Volkert
70a7f91e86 Fix linter errors in ResourceUpdater (flutter/engine#7240) 2018-12-18 07:40:57 -08:00
Todd Volkert
cf3c281533 Allow inferred types using diamond syntax (flutter/engine#7237) 2018-12-17 16:35:10 -08:00
Todd Volkert
2d383262d7 Simplify nested try-with-resources statements (flutter/engine#7239) 2018-12-17 16:34:54 -08:00
Jason Simmons
1449f3af36 Fix destruction of the child object list in the iOS accessibility bridge (flutter/engine#7108)
Fixes https://github.com/flutter/flutter/issues/22206
2018-12-17 16:05:23 -08:00
Jason Simmons
5463140ef4 Simplify conversion of numeric types in the message codec on iOS (flutter/engine#7097)
Consistently handle Int32/Int64 types on both 32-bit and 64-bit versions
of iOS.  Drop usage of the obsolete hex string encoding for BigInt types.

Fixes https://github.com/flutter/flutter/issues/21313
2018-12-17 15:54:57 -08:00
Chris Bracken
fff4720f2c Verify RunConfiguration is valid before running (flutter/engine#6922)
In cases where a valid IsolateConfiguration cannot be inferred, (e.g.,
settings.kernel_list_asset is missing) RunConfiguration can be created
with a null IsolateConfiguration. In such cases, bail out early with
kInvalidSettings.

Also adds a redundant paranoid check to EmbedderEngine::Run.
2018-12-16 14:07:42 -08:00
Jimmy Casey
0e73c0f16d Correct spelling in doc comments (flutter/engine#7179)
Applies spelling corrections to accessibility-related doc comments and in the
license tool.
2018-12-16 12:51:00 -08:00