<h2 dir="auto">Steps to Reproduce</h2>
<p dir="auto">Test code:</p>
<div class="highlight highlight-source-dart notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="    test('swipes', () async {
      SerializableFinder body = await find.byValueKey('body');
      await new Future&lt;Null&gt;.delayed(new Duration(milliseconds: 500));
      await findTab1Content();
      await driver.scroll(body, -200.0, 0.0, new Duration(milliseconds: 200));
      await new Future&lt;Null&gt;.delayed(new Duration(milliseconds: 500));
      await findTab2Content();
      await driver.scroll(body, -200.0, 0.0, new Duration(milliseconds: 200));
      await new Future&lt;Null&gt;.delayed(new Duration(milliseconds: 500));
      await findTab3Content();
      await driver.scroll(body, 200.0, 0.0, new Duration(milliseconds: 200));
      await new Future&lt;Null&gt;.delayed(new Duration(milliseconds: 500));
      await findTab2Content();
      await driver.scroll(body, 200.0, 0.0, new Duration(milliseconds: 200));
      await findTab1Content();
    });"><pre class="notranslate">    <span class="pl-en">test</span>(<span class="pl-s">'swipes'</span>, () <span class="pl-k">async</span> {
      <span class="pl-c1">SerializableFinder</span> body <span class="pl-k">=</span> <span class="pl-k">await</span> find.<span class="pl-en">byValueKey</span>(<span class="pl-s">'body'</span>);
      <span class="pl-k">await</span> <span class="pl-k">new</span> <span class="pl-c1">Future</span>&lt;<span class="pl-c1">Null</span>&gt;.<span class="pl-en">delayed</span>(<span class="pl-k">new</span> <span class="pl-c1">Duration</span>(milliseconds<span class="pl-k">:</span> <span class="pl-c1">500</span>));
      <span class="pl-k">await</span> <span class="pl-en">findTab1Content</span>();
      <span class="pl-k">await</span> driver.<span class="pl-en">scroll</span>(body, <span class="pl-k">-</span><span class="pl-c1">200.0</span>, <span class="pl-c1">0.0</span>, <span class="pl-k">new</span> <span class="pl-c1">Duration</span>(milliseconds<span class="pl-k">:</span> <span class="pl-c1">200</span>));
      <span class="pl-k">await</span> <span class="pl-k">new</span> <span class="pl-c1">Future</span>&lt;<span class="pl-c1">Null</span>&gt;.<span class="pl-en">delayed</span>(<span class="pl-k">new</span> <span class="pl-c1">Duration</span>(milliseconds<span class="pl-k">:</span> <span class="pl-c1">500</span>));
      <span class="pl-k">await</span> <span class="pl-en">findTab2Content</span>();
      <span class="pl-k">await</span> driver.<span class="pl-en">scroll</span>(body, <span class="pl-k">-</span><span class="pl-c1">200.0</span>, <span class="pl-c1">0.0</span>, <span class="pl-k">new</span> <span class="pl-c1">Duration</span>(milliseconds<span class="pl-k">:</span> <span class="pl-c1">200</span>));
      <span class="pl-k">await</span> <span class="pl-k">new</span> <span class="pl-c1">Future</span>&lt;<span class="pl-c1">Null</span>&gt;.<span class="pl-en">delayed</span>(<span class="pl-k">new</span> <span class="pl-c1">Duration</span>(milliseconds<span class="pl-k">:</span> <span class="pl-c1">500</span>));
      <span class="pl-k">await</span> <span class="pl-en">findTab3Content</span>();
      <span class="pl-k">await</span> driver.<span class="pl-en">scroll</span>(body, <span class="pl-c1">200.0</span>, <span class="pl-c1">0.0</span>, <span class="pl-k">new</span> <span class="pl-c1">Duration</span>(milliseconds<span class="pl-k">:</span> <span class="pl-c1">200</span>));
      <span class="pl-k">await</span> <span class="pl-k">new</span> <span class="pl-c1">Future</span>&lt;<span class="pl-c1">Null</span>&gt;.<span class="pl-en">delayed</span>(<span class="pl-k">new</span> <span class="pl-c1">Duration</span>(milliseconds<span class="pl-k">:</span> <span class="pl-c1">500</span>));
      <span class="pl-k">await</span> <span class="pl-en">findTab2Content</span>();
      <span class="pl-k">await</span> driver.<span class="pl-en">scroll</span>(body, <span class="pl-c1">200.0</span>, <span class="pl-c1">0.0</span>, <span class="pl-k">new</span> <span class="pl-c1">Duration</span>(milliseconds<span class="pl-k">:</span> <span class="pl-c1">200</span>));
      <span class="pl-k">await</span> <span class="pl-en">findTab1Content</span>();
    });</pre></div>
<p dir="auto">With the Future.delayed()... lines, the test runs successfully.  Without those lines, the test fails.  In the emulator running the test, it will swipe right twice to get to tab 3, then swipe left once back to tab 2, wait ~5 seconds, and then fail.  The logs indicate that it fails to find content that lives on tab 3.</p>
<h2 dir="auto">Flutter Doctor</h2>
<p dir="auto">[✓] Flutter (on Linux, channel alpha)<br>
• Flutter at /usr/local/bin/flutter<br>
• Framework revision <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/flutter/flutter/commit/cc9317089412f3a85f042fbd37c2fff5ac090c75/hovercard" href="https://github.com/flutter/flutter/commit/cc9317089412f3a85f042fbd37c2fff5ac090c75"><tt>cc93170</tt></a> (2 weeks ago), engine revision <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/flutter/flutter/commit/98f020ff2dcb13c60c115a0593f08687edab9a8d/hovercard" href="https://github.com/flutter/flutter/commit/98f020ff2dcb13c60c115a0593f08687edab9a8d"><tt>98f020f</tt></a></p>
<p dir="auto">[✓] Android toolchain - develop for Android devices (Android SDK 24.0.0-preview)<br>
• Android SDK at /usr/dir/of/android-sdk-linux<br>
• Platform android-N, build-tools 24.0.0-preview<br>
• OpenJDK Runtime Environment</p>
<p dir="auto">[✓] Atom - a lightweight development environment for Flutter<br>
• Atom installed; Flutter plugin version 0.2.2</p>
<h2 dir="auto">Logs and Crash Reports</h2>
<p dir="auto">Flutter logs:<br>
<code class="notranslate">--------- beginning of main --------- beginning of system I/flutter : Observatory listening on http://127.0.0.1:36085 I/flutter : Diagnostic server listening on http://127.0.0.1:48470 I/flutter : ══╡ EXCEPTION CAUGHT BY FLUTTER FRAMEWORK ╞═════════════════════════════════════════════════════════ I/flutter : The following message was thrown during a service extension callback for "ext.flutter.driver": I/flutter : Timed out waiting for text "Text from Tab 3" I/flutter : When the exception was thrown, this was the stack: I/flutter : #0      FlutterDriverExtension.waitFor.&lt;waitFor_async_body&gt; (package:flutter_driver/src/extension.dart) I/flutter : #1      _asyncErrorWrapperHelper.&lt;anonymous closure&gt; (dart:async-patch/async_patch.dart:34) I/flutter : #2      _RootZone.runBinary (dart:async/zone.dart:1210) I/flutter : #3      _FutureListener.handleError (dart:async/future_impl.dart:146) I/flutter : #4      _Future._propagateToListeners.handleError (dart:async/future_impl.dart:640) I/flutter : #5      _Future._propagateToListeners (dart:async/future_impl.dart:662) I/flutter : #6      _Future._completeError (dart:async/future_impl.dart:476) I/flutter : #7      _Future._asyncCompleteError.&lt;anonymous closure&gt; (dart:async/future_impl.dart:528) I/flutter : #8      _microtaskLoop (dart:async/schedule_microtask.dart:41) I/flutter : #9      _startMicrotaskLoop (dart:async/schedule_microtask.dart:50) I/flutter : ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━</code><br>
Flutter driver output: go/flutter-crash-djshuckerow-5-25-16</p>
<blockquote>
<p dir="auto">For more information about diagnosing and reporting Flutter bugs, please see <a href="https://flutter.io/bug-reports/" rel="nofollow">https://flutter.io/bug-reports/</a>.</p>
</blockquote>
<h2 dir="auto">Steps to Reproduce</h2>
<p dir="auto">In the gallery app's "Tab" demo, drag half-way between two tabs and release. The tab widget will snap to the closest tab with an animated transition. During that transition the tab widget will not accept any drag gestures. You have to wait for the animation to complete. This is easy to reproduce in slow animation mode. The behavior is not consistent, you may need to try several times to see it, but it doesn't take long to reproduce.</p>
<h2 dir="auto">Flutter Doctor</h2>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[✓] Flutter (on Mac OS, channel unknown)
    • Flutter at /Users/yjbanov/code/flutter/flutter
    • Framework revision 43dd9450af (3 months ago), engine revision 7fab0c350b

[✓] Android toolchain - develop for Android devices (Android SDK 22.0.1)
    • Android SDK at /Users/yjbanov/code/android-sdk-macosx
    • Platform android-22, build-tools 22.0.1
    • Java(TM) SE Runtime Environment (build 1.8.0_65-b17)

[✓] iOS toolchain - develop for iOS devices (Xcode 7.3.1)
    • XCode at /Applications/Xcode.app/Contents/Developer
    • Xcode 7.3.1, Build version 7D1014

[✓] Atom - a lightweight development environment for Flutter
    • Atom installed; Flutter plugin version 0.2.2"><pre class="notranslate"><code class="notranslate">[✓] Flutter (on Mac OS, channel unknown)
    • Flutter at /Users/yjbanov/code/flutter/flutter
    • Framework revision 43dd9450af (3 months ago), engine revision 7fab0c350b

[✓] Android toolchain - develop for Android devices (Android SDK 22.0.1)
    • Android SDK at /Users/yjbanov/code/android-sdk-macosx
    • Platform android-22, build-tools 22.0.1
    • Java(TM) SE Runtime Environment (build 1.8.0_65-b17)

[✓] iOS toolchain - develop for iOS devices (Xcode 7.3.1)
    • XCode at /Applications/Xcode.app/Contents/Developer
    • Xcode 7.3.1, Build version 7D1014

[✓] Atom - a lightweight development environment for Flutter
    • Atom installed; Flutter plugin version 0.2.2
</code></pre></div>
<p dir="auto">/cc <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HansMuller/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HansMuller">@HansMuller</a></p>