Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removed VIRTUAL_KEYBOARD check in TextInputPlugin #9238

Merged

Conversation

matthew-carroll
Copy link
Contributor

Removed VIRTUAL_KEYBOARD check in TextInputPlugin because it's blocking Espresso work and we don't know why it exists.

…ng Espresso work and its purpose is unknown.
Copy link
Contributor

@adazh adazh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Matt, thanks for making this change! It will totally unblock us from implementing the typing text action in Espresso.

@tvolkert
Copy link
Contributor

tvolkert commented Jun 8, 2019

FYI @slightfoot

Copy link
Contributor

@tvolkert tvolkert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@slightfoot
Copy link
Member

slightfoot commented Jun 8, 2019

@matthew-carroll did you verify this doesn't break soft and hard keyboard input on AVD and Genymotion?
I can't build the engine where atm, or I'd test it myself.

@matthew-carroll
Copy link
Contributor Author

@slightfoot it was tested on a Pixel emulator, which is where I originally repro'd the bug that lead to this if-statement being introduced. There was no problem on the Pixel emulator now without the if-statement.

Is there any reason to believe that Genymotion would behave differently? And even if it does, is that something that Flutter would need to support, given that this conditional is blocking other work?

@slightfoot
Copy link
Member

@matthew-carroll I managed to dig out one of my original mock from last year. I've run it on Genymotion with Android 9.0 API 28 and Android 4.1 API 16 without issue. I don't see virtual key events coming in, so I think it's Ok to remove. I include the mock source here as it might be helpful in someway.

import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.text.DynamicLayout;
import android.text.Editable;
import android.text.InputType;
import android.text.Layout;
import android.text.Selection;
import android.text.TextPaint;
import android.util.Log;
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
import android.view.View;
import android.view.inputmethod.BaseInputConnection;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputConnection;
import android.view.inputmethod.InputMethodManager;
import java.util.HashMap;


/**
 * Created by Simon Lightfoot <simon@devangels.london> on 20/05/2018.
 */
public class InputTestActivity extends AppCompatActivity
{
	private static final String TAG = InputTestActivity.class.getSimpleName();

	@Override
	protected void onCreate(@Nullable Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);

		FakeInputView fakeInputView = new FakeInputView(this);
		fakeInputView.setBackgroundColor(Color.BLACK);
		setContentView(fakeInputView);
	}

	public static class FakeInputView extends View
	{
		private static final String TAG = FakeInputView.class.getSimpleName();
		private final InputMethodManager mImm;
		private final TextPaint mPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
		private final Paint mCursor = new Paint(Paint.ANTI_ALIAS_FLAG);
		private Editable mEditable;

		private DynamicLayout mTextLayout;

		public FakeInputView(Context context)
		{
			super(context);
			setFocusable(true);
			setFocusableInTouchMode(true);
			setClickable(true);
			mImm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
			mEditable = Editable.Factory.getInstance().newEditable("");
			mPaint.setColor(Color.WHITE);
			mPaint.setTextSize(50.0f);
			mCursor.setColor(Color.YELLOW);
			mCursor.setStrokeWidth(2.0f);
		}

		@SuppressLint("DrawAllocation")
		@Override
		protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
		{
			super.onMeasure(widthMeasureSpec, heightMeasureSpec);
			final int width = MeasureSpec.getSize(widthMeasureSpec);
			mTextLayout = new DynamicLayout(mEditable, mPaint, width, Layout.Alignment.ALIGN_NORMAL, 0.0f, 0.0f, false);
		}

		@Override
		public boolean performClick()
		{
			super.performClick();
			Log.w(TAG, "performClick");
			requestFocus();
			mImm.showSoftInput(this, 0);
			return true;
		}

		@Override
		public boolean onCheckIsTextEditor()
		{
			return true;
		}

		@Override
		protected void onDetachedFromWindow()
		{
			super.onDetachedFromWindow();
			Log.w(TAG, "onDetachedFromWindow");
			mImm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);
		}

		private InputConnection mLastInputConnection;

		@Override
		public InputConnection onCreateInputConnection(EditorInfo outAttrs)
		{
			Log.w(TAG, "onCreateInputConnection");
			mLastInputConnection = new TestInputConnection(this, mEditable);
			outAttrs.inputType = InputType.TYPE_CLASS_TEXT;
			outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_FULLSCREEN;
			outAttrs.initialSelStart = Selection.getSelectionStart(mEditable);
			outAttrs.initialSelEnd = Selection.getSelectionEnd(mEditable);
			return mLastInputConnection;
		}

		@Override
		protected void onDraw(Canvas canvas)
		{
			super.onDraw(canvas);
			mTextLayout.draw(canvas);
			final int offset = Selection.getSelectionStart(mEditable);
			if(offset != -1){
				final int line = mTextLayout.getLineForOffset(offset);
				final int top = mTextLayout.getLineTop(line);
				final int bottom = mTextLayout.getLineTop(line + 1);
				final int left = (int) mTextLayout.getPrimaryHorizontal(offset);
				canvas.drawLine(left, top, left, bottom, mCursor);
			}
			//canvas.drawText(mEditable, 0, mEditable.length(), 0, 100, mPaint);
		}

		@Override
		public boolean onKeyUp(int keyCode, KeyEvent event)
		{
			boolean isVirtual = (event.getDeviceId() == KeyCharacterMap.VIRTUAL_KEYBOARD);
			Log.d(TAG, "onKeyUp: device=" + isVirtual);
			Log.d(TAG, "onKeyUp: " + keyCode + ", event: " + event.toString());
			if(mImm.isAcceptingText() && mLastInputConnection != null){
				mLastInputConnection.sendKeyEvent(event);
				return true;
			}
			return super.onKeyUp(keyCode, event);
		}

		@Override
		public boolean onKeyDown(int keyCode, KeyEvent event)
		{
			boolean isVirtual = (event.getDeviceId() == KeyCharacterMap.VIRTUAL_KEYBOARD);
			Log.d(TAG, "onKeyDown: device=" + isVirtual);
			Log.d(TAG, "onKeyDown: " + keyCode + ", event: " + event.toString());
			if(mImm.isAcceptingText() && mLastInputConnection != null){
				mLastInputConnection.sendKeyEvent(event);
				return true;
			}
			return super.onKeyDown(keyCode, event);
		}
	}


	public static class TestInputConnection extends BaseInputConnection
	{
		private final View mView;
		private final Editable mEditable;
		private int mBatchCount;
		private InputMethodManager mImm;

		public TestInputConnection(View view, Editable editable)
		{
			super(view, true);
			mView = view;
			mEditable = editable;
			mBatchCount = 0;
			mImm = (InputMethodManager) view.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
		}

		// Send the current state of the editable to Flutter.
		private void updateEditingState()
		{
			// If the IME is in the middle of a batch edit, then wait until it completes.
			if(mBatchCount > 0){
				return;
			}

			int selectionStart = Selection.getSelectionStart(mEditable);
			int selectionEnd = Selection.getSelectionEnd(mEditable);
			int composingStart = BaseInputConnection.getComposingSpanStart(mEditable);
			int composingEnd = BaseInputConnection.getComposingSpanEnd(mEditable);

			mImm.updateSelection(mView, selectionStart, selectionEnd, composingStart, composingEnd);

			HashMap<Object, Object> state = new HashMap<Object, Object>();
			state.put("text", mEditable.toString());
			state.put("selectionBase", selectionStart);
			state.put("selectionExtent", selectionEnd);
			state.put("composingBase", composingStart);
			state.put("composingExtent", composingEnd);
			//mFlutterChannel.invokeMethod("TextInputClient.updateEditingState", Arrays.asList(mClient, state));]
			Log.d("INPUT", "### " + mEditable.toString());
			mView.invalidate();
		}

		@Override
		public Editable getEditable()
		{
			return mEditable;
		}

		@Override
		public boolean beginBatchEdit()
		{
			mBatchCount++;
			return super.beginBatchEdit();
		}

		@Override
		public boolean endBatchEdit()
		{
			boolean result = super.endBatchEdit();
			mBatchCount--;
			updateEditingState();
			return result;
		}

		@Override
		public boolean commitText(CharSequence text, int newCursorPosition)
		{
			boolean result = super.commitText(text, newCursorPosition);
			updateEditingState();
			return result;
		}

		@Override
		public boolean deleteSurroundingText(int beforeLength, int afterLength)
		{
			if(Selection.getSelectionStart(mEditable) == -1 || Selection.getSelectionStart(mEditable) == -1){
				return true;
			}

			boolean result = super.deleteSurroundingText(beforeLength, afterLength);
			updateEditingState();
			return result;
		}

		@Override
		public boolean setComposingRegion(int start, int end)
		{
			boolean result = super.setComposingRegion(start, end);
			updateEditingState();
			return result;
		}

		@Override
		public boolean setComposingText(CharSequence text, int newCursorPosition)
		{
			boolean result;
			if(text.length() == 0){
				result = super.commitText(text, newCursorPosition);
			}
			else{
				result = super.setComposingText(text, newCursorPosition);
			}
			updateEditingState();
			return result;
		}

		@Override
		public boolean setSelection(int start, int end)
		{
			boolean result = super.setSelection(start, end);
			updateEditingState();
			return result;
		}

		@Override
		public boolean sendKeyEvent(KeyEvent event)
		{
			if(event.getAction() == KeyEvent.ACTION_DOWN){
				final int keyCode = event.getKeyCode();
				if(keyCode == KeyEvent.KEYCODE_DEL){
					int selStart = Math.max(0, Selection.getSelectionStart(mEditable));
					int selEnd = Selection.getSelectionEnd(mEditable);
					if(selEnd > selStart){
						// Delete the selection.
						Selection.setSelection(mEditable, selStart);
						mEditable.delete(selStart, selEnd);
						updateEditingState();
						return true;
					}
					else if(selStart > 0){
						// Delete to the left of the cursor.
						int newSel = Math.max(selStart - 1, 0);
						Selection.setSelection(mEditable, newSel);
						mEditable.delete(newSel, selStart);
						updateEditingState();
						return true;
					}
				}
				else if(keyCode == KeyEvent.KEYCODE_DPAD_LEFT){
					int selStart = Selection.getSelectionStart(mEditable);
					int newSel = Math.max(selStart - 1, 0);
					setSelection(newSel, newSel);
					return true;
				}
				else if(keyCode == KeyEvent.KEYCODE_DPAD_RIGHT){
					int selStart = Selection.getSelectionStart(mEditable);
					int newSel = Math.min(selStart + 1, mEditable.length());
					setSelection(newSel, newSel);
					return true;
				}
				else{
					int character = event.getUnicodeChar();
					if(character != 0){
						int selStart = Math.max(0, Selection.getSelectionStart(mEditable));
						mEditable.insert(selStart, String.valueOf((char) character));
						setSelection(selStart + 1, selStart + 1);
						updateEditingState();
					}
					return true;
				}
			}
			return false;
		}

		@Override
		public boolean performEditorAction(int actionCode)
		{
			/*switch(actionCode){
				case EditorInfo.IME_ACTION_NONE:
					mFlutterChannel.invokeMethod("TextInputClient.performAction",
						Arrays.asList(mClient, "TextInputAction.newline"));
					break;
				default:
				case EditorInfo.IME_ACTION_DONE:
					mFlutterChannel.invokeMethod("TextInputClient.performAction",
						Arrays.asList(mClient, "TextInputAction.done"));
					break;
			}*/
			return true;
		}
	}
}

@matthew-carroll
Copy link
Contributor Author

Great. Thanks for checking on that @slightfoot. I'll go ahead and merge.

@matthew-carroll matthew-carroll merged commit 2d0103a into flutter:master Jun 10, 2019
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 10, 2019
…s blocking Espresso work and its purpose is unknown. (flutter/engine#9238)
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Jun 11, 2019
…s blocking Espresso work and its purpose is unknown. (flutter/engine#9238)
engine-flutter-autoroll added a commit to flutter/flutter that referenced this pull request Jun 11, 2019
flutter/engine@f3ab2e4...4c0daac

git log f3ab2e4..4c0daac --no-merges --oneline
4c0daac Roll src/third_party/skia cb1adb40d0f3..bb74990a11d9 (3 commits) (flutter/engine#9261)
2d0103a Removed VIRTUAL_KEYBOARD check in TextInputPlugin because it&#39;s blocking Espresso work and its purpose is unknown. (flutter/engine#9238)

The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop
the roller if necessary.
huqiuser pushed a commit to huqiuser/engine that referenced this pull request Jun 12, 2019
jonahwilliams added a commit to jonahwilliams/flutter that referenced this pull request Jun 12, 2019
commit 92e52d5
Merge: 421e4e4 da6dde6
Author: jonahwilliams <jonahwilliams@google.com>
Date:   Wed Jun 12 14:12:36 2019 -0700

    Merge branch 'master' of github.com:flutter/flutter into add_network_image_impl

commit 421e4e4
Author: jonahwilliams <jonahwilliams@google.com>
Date:   Wed Jun 12 14:03:11 2019 -0700

    address comments

commit da6dde6
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Wed Jun 12 16:49:55 2019 -0400

    Roll engine ab5c14b..67aadb6 (2 commits) (flutter#34350)

    flutter/engine@ab5c14b...67aadb6

    git log ab5c14b..67aadb6 --no-merges --oneline
    67aadb6 Roll src/third_party/skia d62d406aa24c..81756e4cae95 (5 commits) (flutter/engine#9300)
    0a2e28d Revert tracing changes (flutter/engine#9296)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
    the roller if necessary.

commit 8163c0a
Author: Todd Volkert <tvolkert@users.noreply.github.com>
Date:   Wed Jun 12 13:47:47 2019 -0700

    Re-apply compressionState changes. (flutter#34341)

    This re-applies the changes that were made in flutter#33697 and flutter#33729,
    but which were reverted in flutter#33792 and flutter#33790, respectively due to
    the Dart SDK not having received the update within Google yet.
    The SDK has now rolled, so these changes can be re-applied.

    flutter#32374
    flutter#33791

commit 25c8400
Author: Devon Carew <devoncarew@google.com>
Date:   Wed Jun 12 13:14:20 2019 -0700

    Revert "update the Flutter.Frame event to use new engine APIs (flutter#34243)" (flutter#34352)

    This reverts commit 446179f.

commit c40d701
Author: Jenn Magder <magder@google.com>
Date:   Wed Jun 12 11:31:17 2019 -0700

    Change Xcode project developmentRegion to 'en' and plist CFBundleDevelopmentRegion to DEVELOPMENT_LANGUAGE (flutter#34293)

commit 446179f
Author: Devon Carew <devoncarew@google.com>
Date:   Wed Jun 12 11:20:10 2019 -0700

    update the Flutter.Frame event to use new engine APIs (flutter#34243)

    * update the Flutter.Frame event to use new engine APIs

    * add a test

    * update test

commit 22ca3f9
Author: Zachary Anderson <zanderso@users.noreply.github.com>
Date:   Wed Jun 12 11:18:53 2019 -0700

    [flutter_tool] Don't truncate verbose logs from _flutter.listViews (flutter#34255)

commit 75b5cec
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Wed Jun 12 14:03:56 2019 -0400

    ab5c14b Set Dart version to git hash 3166bbf24b0c929eef33fd5d0f69e0f36a9009f3 (Dart 2.3.3-dev) (flutter/engine#9292) (flutter#34336)

    flutter/engine@d3c213e...ab5c14b

    git log d3c213e..ab5c14b --no-merges --oneline
    ab5c14b Set Dart version to git hash 3166bbf24b0c929eef33fd5d0f69e0f36a9009f3 (Dart 2.3.3-dev) (flutter/engine#9292)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
    the roller if necessary.

commit fb2f18e
Author: Todd Volkert <tvolkert@users.noreply.github.com>
Date:   Wed Jun 12 10:22:50 2019 -0700

    Prepare for Uint8List SDK breaking changes (flutter#34295)

    dart-lang/sdk#36900

commit bdd0724
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Wed Jun 12 13:03:55 2019 -0400

    Roll engine b14d971..d3c213e (3 commits) (flutter#34331)

    flutter/engine@b14d971...d3c213e

    git log b14d971..d3c213e --no-merges --oneline
    d3c213e Roll src/third_party/skia 698fa78b3cae..d62d406aa24c (1 commits) (flutter/engine#9295)
    4d7afb9 Roll src/third_party/skia ed7966f179c6..698fa78b3cae (1 commits) (flutter/engine#9294)
    05e1b6e Roll src/third_party/skia d82ca0bf2c99..ed7966f179c6 (2 commits) (flutter/engine#9293)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
    the roller if necessary.

commit fa174a1
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Wed Jun 12 00:45:55 2019 -0400

    Roll engine 4fc95eb..b14d971 (4 commits) (flutter#34310)

    flutter/engine@4fc95eb...b14d971

    git log 4fc95eb..b14d971 --no-merges --oneline
    b14d971 Roll src/third_party/skia f39124b0764d..d82ca0bf2c99 (3 commits) (flutter/engine#9291)
    87c26ae Refactor Delayed Tasks to their own file (flutter/engine#9290)
    9baf589 [iOS] [a11y] Don&flutter#39;t allow scroll views to grab a11y focus (flutter/engine#9282)
    f80ac5f [fuchsia] Fix alignment of Fuchsia/non-Fuchsia tracing (flutter/engine#9289)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
    the roller if necessary.

commit 70840d4
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Tue Jun 11 23:41:58 2019 -0400

    4fc95eb Fixed memory leaks within FlutterFragment and FlutterView (flutter#34268, flutter#34269, flutter#34270). (flutter/engine#9288) (flutter#34305)

commit d6425a2
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Tue Jun 11 21:54:55 2019 -0400

    Roll engine 2d2cfc0..de350c4 (2 commits) (flutter#34302)

    flutter/engine@2d2cfc0...de350c4

    git log 2d2cfc0..de350c4 --no-merges --oneline
    de350c4 Report timings faster (100ms) in profile/debug (flutter/engine#9287)
    6dc4d6c Add refresh callback to GLFW shell (flutter/engine#9280)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
    the roller if necessary.

commit 9a46b3e
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Tue Jun 11 20:17:55 2019 -0400

    Roll engine 02e6a13..2d2cfc0 (3 commits) (flutter#34292)

    flutter/engine@02e6a13...2d2cfc0

    git log 02e6a13..2d2cfc0 --no-merges --oneline
    2d2cfc0 Expose a hasRenderedFirstFrame() method in FlutterView (flutter#34275). (flutter/engine#9285)
    8040117 Fix TextInputPlugin NPE caused by PlatformViewsController ref in new embedding (flutter#34283). (flutter/engine#9283)
    c7b25f1 Roll src/third_party/skia df586b7d568d..f39124b0764d (11 commits) (flutter/engine#9284)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
    the roller if necessary.

commit 21a5326
Author: Emmanuel Garcia <egarciad@google.com>
Date:   Tue Jun 11 16:24:03 2019 -0700

    Split gradle_plugin_test.dart (flutter#34282)

    Fixes timeout when running gradle_plugin_test

commit 8247963
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Tue Jun 11 18:30:55 2019 -0400

    Roll engine 4d68474..02e6a13 (4 commits) (flutter#34281)

    flutter/engine@4d68474...02e6a13

    git log 4d68474..02e6a13 --no-merges --oneline
    02e6a13 Roll src/third_party/dart 7ecd81b0b8..b37aa3b036 (4 commits) (flutter/engine#9272)
    95f9b3d Fix crash on minimize with GLFW shell (flutter/engine#9278)
    8d017fa Roll src/third_party/skia a716809d5ad3..df586b7d568d (17 commits) (flutter/engine#9279)
    10a3ab0 Fix missing return lint (flutter/engine#9246)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
    the roller if necessary.

commit 9d724d4
Author: Jonah Williams <jonahwilliams@google.com>
Date:   Tue Jun 11 14:51:03 2019 -0700

    Compatibility pass on flutter/widgets tests for JavaScript compilation. (8) (flutter#33377)

commit d9c1962
Author: Emmanuel Garcia <egarciad@google.com>
Date:   Tue Jun 11 14:46:00 2019 -0700

    Instrument usage of include_flutter.groovy and xcode_backend.sh (flutter#34189)

    This is done via `flutter build bundle`.   As a consequence, this PR introduces a new way to disable analytics via the `FLUTTER_SUPPRESS_ANALYTICS` env flag.

commit 1eb8c64
Author: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
Date:   Tue Jun 11 14:14:54 2019 -0700

    Fix CupertinoTabScaffold index out of range (flutter#33624)

commit 89d887f
Author: Jason Simmons <jason-simmons@users.noreply.github.com>
Date:   Tue Jun 11 13:34:24 2019 -0700

    Strip debug symbols from ELF library snapshots (flutter#34250)

    AOT compiled code is now packaged as an ELF library for Android targets.
    By default gen_snapshot's output contains debug symbols.  The symbols could
    be stripped as a separate step, but that requires NDK tools that the user
    may not have available.

    This change passes a gen_snapshot flag that omits the symbols, and it filters
    out a warning printed when that flag is used.

commit 6d0e618
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Tue Jun 11 15:55:56 2019 -0400

    Roll engine de420a0..4d68474 (3 commits) (flutter#34258)

    flutter/engine@de420a0...4d68474

    git log de420a0..4d68474 --no-merges --oneline
    4d68474 Load AOT compiled Dart assets only from ELF libraries (flutter/engine#9260)
    3e9ffe1 Whitelist the —enable_mirrors flag to fix regression in existing embedder. (flutter/engine#9266)
    7cde42c Unbreak internal rolls (flutter/engine#9270)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
    the roller if necessary.

commit e59d9a8
Author: Ben Konyi <bkonyi@google.com>
Date:   Tue Jun 11 11:37:47 2019 -0700

    Reland "Added --dart-flags option to flutter run (flutter#33924)" (flutter#34181)

    Reland "Added --dart-flags option to flutter run (flutter#33924)"

    This reverts commit 587687e.

commit 7cc7161
Author: Jonah Williams <jonahwilliams@google.com>
Date:   Tue Jun 11 11:22:37 2019 -0700

    Compatibility pass on flutter/semantics tests for JavaScript compilation. (7) (flutter#33360)

commit 1bc8402
Author: guoskyhero <guojiex@users.noreply.github.com>
Date:   Tue Jun 11 11:15:50 2019 -0700

    Add hintStyle in SearchDelegate (flutter#30388)

    SearchDelegate hintStyle parameter

commit 336e4c4
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Tue Jun 11 14:12:56 2019 -0400

    Roll engine c9bbd0e..de420a0 (4 commits) (flutter#34247)

    flutter/engine@c9bbd0e...de420a0

    git log c9bbd0e..de420a0 --no-merges --oneline
    de420a0 Roll src/third_party/dart 97f91fecdb..7ecd81b0b8 (5 commits) (flutter/engine#9268)
    8812781 Roll src/third_party/skia bba5aa761cd5..a716809d5ad3 (1 commits) (flutter/engine#9269)
    b470913 Roll src/third_party/skia 77cb2ca3c9aa..bba5aa761cd5 (3 commits) (flutter/engine#9267)
    48ecbca Roll src/third_party/skia bb74990a11d9..77cb2ca3c9aa (1 commits) (flutter/engine#9265)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
    the roller if necessary.

commit 7feddfd
Author: Jonah Williams <jonahwilliams@google.com>
Date:   Tue Jun 11 10:35:10 2019 -0700

    make sure this test doesnt run for real (flutter#34199)

commit d850d69
Author: Neevash Ramdial <mail@neevash.dev>
Date:   Tue Jun 11 12:57:17 2019 -0400

    Added tool sample for PageController (flutter#34137)

    * Added tool sample for PageController

    * Fixed text directionality bug

commit 05e92c8
Author: Jonah Williams <jonahwilliams@google.com>
Date:   Tue Jun 11 09:09:13 2019 -0700

    Compatibility pass on flutter/physics tests for JavaScript compilation. (6) (flutter#33359)

commit 30fb980
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Tue Jun 11 11:41:47 2019 -0400

    c9bbd0e Roll src/third_party/dart 7f146e431e..97f91fecdb (22 commits) (flutter#34203)

commit e9ca112
Author: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
Date:   Mon Jun 10 19:17:55 2019 -0700

    update CupertinoDialogAction isDefaultAction documentation (flutter#34163)

commit fcaf96d
Author: engine-flutter-autoroll <engine-flutter-autoroll@skia.org>
Date:   Mon Jun 10 21:35:55 2019 -0400

    Roll engine f3ab2e4..4c0daac (2 commits) (flutter#34197)

    flutter/engine@f3ab2e4...4c0daac

    git log f3ab2e4..4c0daac --no-merges --oneline
    4c0daac Roll src/third_party/skia cb1adb40d0f3..bb74990a11d9 (3 commits) (flutter/engine#9261)
    2d0103a Removed VIRTUAL_KEYBOARD check in TextInputPlugin because it&flutter#39;s blocking Espresso work and its purpose is unknown. (flutter/engine#9238)

    The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

    If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop
    the roller if necessary.

commit 89b1533
Author: jonahwilliams <jonahwilliams@google.com>
Date:   Mon Jun 10 16:49:44 2019 -0700

    skip chunk test

commit c11b61f
Merge: b182271 1b3fc53
Author: jonahwilliams <jonahwilliams@google.com>
Date:   Mon Jun 10 16:49:34 2019 -0700

    Merge branch 'master' of github.com:flutter/flutter into add_network_image_impl

commit b182271
Author: jonahwilliams <jonahwilliams@google.com>
Date:   Mon Jun 10 16:14:06 2019 -0700

    update to remove extra asset image indirection

commit 96d7939
Merge: 3700e32 f530b80
Author: jonahwilliams <jonahwilliams@google.com>
Date:   Mon Jun 10 15:42:02 2019 -0700

    Merge branch 'master' of github.com:flutter/flutter into add_network_image_impl

commit 3700e32
Author: jonahwilliams <jonahwilliams@google.com>
Date:   Sat Jun 8 13:13:32 2019 -0700

    fix foundation import

commit e31b5e4
Author: jonahwilliams <jonahwilliams@google.com>
Date:   Sat Jun 8 13:09:19 2019 -0700

    add web and io implemenations of network and asset image
kiku-jw pushed a commit to kiku-jw/flutter that referenced this pull request Jun 14, 2019
flutter/engine@f3ab2e4...4c0daac

git log f3ab2e4..4c0daac --no-merges --oneline
4c0daac Roll src/third_party/skia cb1adb40d0f3..bb74990a11d9 (3 commits) (flutter/engine#9261)
2d0103a Removed VIRTUAL_KEYBOARD check in TextInputPlugin because it&flutter#39;s blocking Espresso work and its purpose is unknown. (flutter/engine#9238)

The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff (bmparr@google.com), and stop
the roller if necessary.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
5 participants