text:
errro on run

I downloaded flutter sdk and android sdk and set variables ANDROID_HOME , JAVA_HOME and flutter bin to path variable. I did it for my labtop win 10 and run it by vscode correctly.
I copied flutter sdk & android sdk & jdk1.8.0_161 folders to my work pc win 10 and set above variables , vscode flutter run get error :
Launching lib\main.dart on HTC One M9 in debug mode...

Error running Gradle:
ProcessException: Process "E:\Projects\Flutter\app1\android\gradlew.bat" exited abnormally:

FAILURE: Build failed with an exception.

What went wrong:

A problem occurred configuring root project 'android'.

Could not resolve all artifacts for configuration ':classpath'.

Could not resolve com.android.tools.build:gradle:3.2.1.

 Required by:

     project :

  > Could not resolve com.android.tools.build:gradle:3.2.1.

     > Could not get resource 'https://repo.maven.apache.org/maven2/com/android/tools/build/gradle/3.2.1/gradle-3.2.1.pom'.

        > Could not HEAD 'https://repo.maven.apache.org/maven2/com/android/tools/build/gradle/3.2.1/gradle-3.2.1.pom'. Received status code 503 from server: Service Unavailable

Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 11s
Picked up _JAVA_OPTIONS: -Xmx512M
Command: E:\Projects\Flutter\app1\android\gradlew.bat app:properties
Please review your Gradle project setup in the android/ folder.
Exited (sigterm)

What version of flutter are you using?

I tested both v1.3.8 beta and v1.2.1 Stable.

source: gharchive/issue

authors: dnfield mammadkoma

repo: flutter/flutter

license_type: permissive

license_source: github-api


text:
Switching between FlutterFragment and Fragment causes a momentary black flicker

When rapidly switching between a FlutterFragment and Fragment in an Android activity, there is a momentary brief black flicker.
This is reproducible on a Nexus 6 running Android 7.1.1, with the app in debug mode.
The code for the Activity is:
package io.flutter.addfluttertoandroid

import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.support.annotation.NonNull
import android.support.design.widget.BottomNavigationView
import android.support.v4.app.Fragment
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.widget.TextView
import io.flutter.embedding.android.FlutterFragment
import io.flutter.embedding.engine.FlutterEngine
import kotlinx.android.synthetic.main.activity_main.*
import android.view.*
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.android.FlutterView

class MainActivity : AppCompatActivity() {

    private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item ->
        when (item.itemId) {
            R.id.navigation_home -> {
                addFragment(null, "I am an Android Fragment!!!")
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_dashboard -> {
                addFragment(null, "I am a second Android Fragment!!!")
                return@OnNavigationItemSelectedListener true
            }
            R.id.navigation_notifications -> {
                addFlutterFragment()
                return@OnNavigationItemSelectedListener true
            }
        }
        false
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        addFragment(null, "I am an Android Fragment!!!")

        navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
    }

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        menuInflater.inflate(R.menu.action_menu, menu)
        return true
    }

    override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
        R.id.action_favorite -> {
            Log.i("onCreate", "Menu item selected")
            launchFlutterActivity()
            true
        }

        else -> {
            super.onOptionsItemSelected(item)
        }
    }

    private fun addFragment(savedInstanceState: Bundle?, text: String) {
        if (savedInstanceState == null) {
            supportFragmentManager
                .beginTransaction()
                .replace(R.id.fragment_container,
                    AndroidFragment.newInstance(text))
                .commit()
        }
    }

    private fun addFlutterFragment() {
        supportFragmentManager.beginTransaction()
            .replace(R.id.fragment_container,
                MyFlutterFragment.newInstance())
            .commit()
    }

    private fun launchFlutterActivity() {
        startActivity(Intent(this, MyFlutterActivity::class.java))
    }
}

class AndroidFragment : Fragment() {

    companion object {
        fun newInstance(text: String): AndroidFragment {
            val fragment = AndroidFragment()
            val args = Bundle()
            args.putString("text", text)
            fragment.arguments = args
            return fragment
        }
    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        val view = inflater.inflate(R.layout.fragment_main, container, false)
        arguments?.getString("text").let {
            view.findViewById<TextView>(R.id.fragment_message).setText(it)
        }
        return view
    }
}

class MyFlutterFragment : FlutterFragment() {

    companion object {
        @JvmStatic
        fun newInstance() =
            MyFlutterFragment().apply {
                return FlutterFragment.Builder(MyFlutterFragment::class.java)
                    .renderMode(FlutterView.RenderMode.texture)
                    .transparencyMode(FlutterView.TransparencyMode.transparent)
                    .build<MyFlutterFragment>()
            }
    }

    override fun createFlutterEngine(@NonNull context: Context): FlutterEngine {
        val app = context.applicationContext as MyApplication
        return app.engine
    }

    override fun retainFlutterEngineAfterFragmentDestruction() = true
}

class MyFlutterActivity : FlutterActivity(), FlutterFragment.FlutterEngineProvider {

    override fun getFlutterEngine(context: Context): FlutterEngine? {
        val app = context.applicationContext as MyApplication
        return app.engine//To change body of created functions use File | Settings | File Templates.
    }

}

The layouts used are:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
            android:id="@+id/fragment_container"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            android:orientation="horizontal" >
    </LinearLayout>

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginEnd="0dp"
        android:layout_marginStart="0dp"
        android:background="?android:attr/windowBackground"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:menu="@menu/navigation" />

</android.support.constraint.ConstraintLayout>

and:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <TextView
            android:id="@+id/fragment_message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/activity_horizontal_margin"
            android:layout_marginLeft="@dimen/activity_horizontal_margin"
            android:layout_marginTop="@dimen/activity_vertical_margin"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent"/>

</android.support.constraint.ConstraintLayout>

The Flutter code is:
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Add 2 App Demo',
      home: MyFragmentPage(),
    );
  }
}

class MyFragmentPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Center(
      child: Text('I am a Flutter Fragment!!!'),
    ));
  }
}

Tested in release mode, and the flicker remains.

Note: we believe this issue was previously solved (band-aid solution) for the SurfaceView variant. This issue is specifically about TextureView.

@mjohnsullivan can I close this issue, now that the problem has disappeared on your end?

Let me do that.

authors: matthew-carroll mjohnsullivan


text:
Flutter app crashes with firestore

I was using old version of firestore plugin 0.8 i remember, transactions was not working, then i get the 0.12.7 and now when i use firestore functions app crashes. Like 1 or 2 month ago app was working correctly. I can't figure out the problem.
E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): Failed to handle method call result E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin$4$1$1.success(CloudFirestorePlugin.java:391) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at io.flutter.plugin.common.MethodChannel$IncomingResultHandler.reply(MethodChannel.java:199) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at io.flutter.embedding.engine.dart.DartMessenger.handlePlatformMessageResponse(DartMessenger.java:114) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessageResponse(FlutterJNI.java:654) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at android.os.MessageQueue.nativePollOnce(Native Method) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at android.os.MessageQueue.next(MessageQueue.java:326) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at android.os.Looper.loop(Looper.java:160) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at android.app.ActivityThread.main(ActivityThread.java:6669) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at java.lang.reflect.Method.invoke(Native Method) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) E/MethodChannel#plugins.flutter.io/cloud_firestore( 9595): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/CloudFirestorePlugin( 9595): Timed out waiting for Task E/CloudFirestorePlugin( 9595): java.util.concurrent.TimeoutException: Timed out waiting for Task E/CloudFirestorePlugin( 9595): 	at com.google.android.gms.tasks.Tasks.await(Unknown Source:32) E/CloudFirestorePlugin( 9595): 	at io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin$4.apply(CloudFirestorePlugin.java:418) E/CloudFirestorePlugin( 9595): 	at io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin$4.apply(CloudFirestorePlugin.java:370) E/CloudFirestorePlugin( 9595): 	at com.google.firebase.firestore.FirebaseFirestore.lambda$runTransaction$1(com.google.firebase:firebase-firestore@@19.0.0:283) E/CloudFirestorePlugin( 9595): 	at com.google.firebase.firestore.FirebaseFirestore$$Lambda$3.call(Unknown Source:6) E/CloudFirestorePlugin( 9595): 	at com.google.android.gms.tasks.zzv.run(Unknown Source:2) E/CloudFirestorePlugin( 9595): 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) E/CloudFirestorePlugin( 9595): 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) E/CloudFirestorePlugin( 9595): 	at java.lang.Thread.run(Thread.java:764)
D/AndroidRuntime( 9595): Shutting down VM E/AndroidRuntime( 9595): FATAL EXCEPTION: main E/AndroidRuntime( 9595): Process: com.acmhacettepe.acmhacettepe, PID: 9595 E/AndroidRuntime( 9595): java.lang.IllegalStateException: Reply already submitted E/AndroidRuntime( 9595): 	at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:135) E/AndroidRuntime( 9595): 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.error(MethodChannel.java:230) E/AndroidRuntime( 9595): 	at io.flutter.plugins.firebase.cloudfirestore.CloudFirestorePlugin$3.onComplete(CloudFirestorePlugin.java:436) E/AndroidRuntime( 9595): 	at com.google.android.gms.tasks.zzj.run(Unknown Source:4) E/AndroidRuntime( 9595): 	at android.os.Handler.handleCallback(Handler.java:873) E/AndroidRuntime( 9595): 	at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime( 9595): 	at android.os.Looper.loop(Looper.java:193) E/AndroidRuntime( 9595): 	at android.app.ActivityThread.main(ActivityThread.java:6669) E/AndroidRuntime( 9595): 	at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime( 9595): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) E/AndroidRuntime( 9595): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) I/Process ( 9595): Sending signal. PID: 9595 SIG: 9 Lost connection to device.

My app is crashing too with transactions, but only on a physical iOS device. I've been trying to figure this out for 5 days now :/
#https://github.com/flutter/flutter/issues/35806
Some things that I've noticed:

Sometimes the transaction will fire multiple times
If it fires once (as it should), I get the error and crash if I run the transaction 5 times in a row. As far as I know, Firestore attempts a transaction 5 times before failing.

I'm not sure why the failures result in app crashes though? Or why it sometimes fires multiple times...

Another error after attempting a transaction:

[  +19 ms] *** Assertion failure in void firebase::firestore::core::Transaction::Lookup(const std::vector &, firebase::firestore::core::Transaction::LookupCallback
&&)(), /Users/rudeboy/Localis/localis/ios/Pods/FirebaseFirestore/Firestore/core/src/firebase/firestore/core/transaction.mm:83
[   +7 ms] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'FIRESTORE INTERNAL ASSERTION FAILED: Transactions lookups are invalid after
writes. (expected mutations_.empty())'
[        ] 	*** First throw call stack:
[        ] 	(0x258e391b 0x2507ee17 0x258e37f1 0x260c7583 0x3bda41 0x3bdbc3 0x49a4b5 0x26eadb 0x26edfb 0x5d1105 0x25451823 0x254605e9 0x2545ffcd 0x25615b29 0x25615718)
[  +28 ms] Service protocol connection closed.
[        ] Lost connection to device.

The issue solved with new firestore plugin update.

The issue solved with new firestore plugin update.

I'm still getting the same error after updating to 0.12.9+4 ?

@guit4eva Please provide your flutter doctor -v output.

@emrekosen
This issue has been moved to https://github.com/FirebaseExtended/flutterfire/issues/1214. Any further collaboration will be done there.

authors: BondarenkoStas emrekosen guit4eva kroikie


text:
/system/vendor/lib/egl/libGLESv2_adreno.so

We know this problem from bugly platform which collects all the crashes (both Java and native).
#00 pc 001be4d4 /system/vendor/lib/egl/libGLESv2_adreno.so (A5xPipeline::WriteGfxShaderRegs(A5xContext*, EsxCmdBufType, A5xStateBuffer*) const+275) [armeabi-v7a]
 #01 pc 001be6fd /system/vendor/lib/egl/libGLESv2_adreno.so (A5xPipeline::WriteGfxPipeline(A5xContext*, EsxCmdBufType, A5xStateBuffer*)+28) [armeabi-v7a]
#02 pc 001dc407 /system/vendor/lib/egl/libGLESv2_adreno.so (A5xContext::ValidateState(EsxDrawDescriptor const*)+1062) [armeabi-v7a]
#03 pc 001dcc65 /system/vendor/lib/egl/libGLESv2_adreno.so (A5xContext::HwValidateGfxState(EsxDrawDescriptor const*)+4) [armeabi-v7a]
#04 pc 000bcc37 /system/vendor/lib/egl/libGLESv2_adreno.so (EsxContext::ValidateGfxState(EsxDrawDescriptor const*)+758) [armeabi-v7a]
#05 pc 000b1d4f /system/vendor/lib/egl/libGLESv2_adreno.so (EsxContext::DrawArraysInstanced(EsxPrimType, int, unsigned int, unsigned int)+110) [armeabi-v7a]
#06 pc 0009c1df /system/vendor/lib/egl/libGLESv2_adreno.so (EsxContext::GlDrawArrays(unsigned int, int, int)+62) [armeabi-v7a]
#07 pc 0025ba99 libflutter.so GrGLGpu::sendIndexedMeshToGpu(GrPrimitiveType, GrBuffer const*, int, int, unsigned short, unsigned short, GrBuffer const*, int, GrPrimitiveRestart) (../../third_party/skia/src/gpu/gl/GrGLGpu.cpp:2705) [armeabi-v7a]
#08 pc 0025f12f libflutter.so GrGLGpuRTCommandBuffer::onDraw(GrPrimitiveProcessor const&, GrPipeline const&, GrPipeline::FixedDynamicState const*, GrPipeline::DynamicStateArrays const*, GrMesh const*, int, SkRect const&) (../../third_party/skia/include/core/SkRefCnt.h:287) [armeabi-v7a]
#09 pc 0020dcef libflutter.so GrGpuRTCommandBuffer::draw(GrPrimitiveProcessor const&, GrPipeline const&, GrPipeline::FixedDynamicState const*, GrPipeline::DynamicStateArrays const*, GrMesh const*, int, SkRect const&) (../../third_party/skia/src/gpu/GrGpuCommandBuffer.cpp:0) [armeabi-v7a]
#10 pc 0020f97b libflutter.so GrOpFlushState::executeDrawsAndUploadsForMeshDrawOp(GrOp const*, SkRect const&, GrProcessorSet&&, GrPipeline::InputFlags, GrUserStencilSettings const*) (../../third_party/skia/src/gpu/GrDeferredUpload.h:63) [armeabi-v7a]
 #11 pc 0023efe3 libflutter.so onExecute (../../third_party/skia/src/gpu/ops/GrTextureOp.cpp:0) [armeabi-v7a]
 #12 pc 00219b83 libflutter.so GrOp::execute(GrOpFlushState*, SkRect const&) (../../third_party/skia/src/gpu/ops/GrOp.h:0) [armeabi-v7a]
 #13 pc 00219ac1 libflutter.so GrRenderTargetOpList::onExecute(GrOpFlushState*) (../../third_party/skia/src/gpu/GrRenderTargetOpList.cpp:496) [armeabi-v7a]
 #14 pc 0020aacd libflutter.so GrDrawingManager::flush(GrSurfaceProxy*, SkSurface::BackendSurfaceAccess, SkSurface::FlushFlags, int, GrBackendSemaphore*) (../../third_party/skia/src/gpu/GrOpFlushState.h:54) [armeabi-v7a]
#15 pc 0020ae9f libflutter.so GrDrawingManager::prepareSurfaceForExternalIO(GrSurfaceProxy*, SkSurface::BackendSurfaceAccess, SkSurface::FlushFlags, int, GrBackendSemaphore*) (../../third_party/skia/src/gpu/GrDrawingManager.cpp:496) [armeabi-v7a]
#16 pc 0026bc75 libflutter.so SkGpuDevice::flushAndSignalSemaphores(SkSurface::BackendSurfaceAccess, SkSurface::FlushFlags, int, GrBackendSemaphore*) (../../third_party/skia/src/gpu/SkGpuDevice.cpp:1640) [armeabi-v7a]
#17 pc 0026bbdd libflutter.so SkGpuDevice::flushAndSignalSemaphores(SkSurface::BackendSurfaceAccess, SkSurface::FlushFlags, int, GrBackendSemaphore*) (../../third_party/skia/src/gpu/SkGpuDevice.cpp:1637) [armeabi-v7a]
#18 pc 0034322f libflutter.so operator() (../../third_party/libcxx/include/__functional_base:318 [Inline: __invoke<(lambda at ../../flutter/shell/gpu/gpu_surface_gl.cc:248:7) &, const flutter::SurfaceFrame &, SkCanvas *>]) [armeabi-v7a]
#19 pc 0015eaaf libflutter.so std::__1::function<bool (flutter::SurfaceFrame const&, SkCanvas*)>::operator()(flutter::SurfaceFrame const&, SkCanvas*) const (../../third_party/libcxx/include/functional:1923) [armeabi-v7a]
 #20 pc 00158fdf libflutter.so flutter::Rasterizer::DrawToSurface(flow::LayerTree&) (../../flutter/shell/common/surface.cc:48) [armeabi-v7a]
#21 pc 0015925f libflutter.so flutter::Rasterizer::DoDraw(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >) (../../flutter/shell/common/rasterizer.cc:157) [armeabi-v7a]
 #22 pc 00159b11 libflutter.so operator() (../../third_party/libcxx/include/__functional_base:349 [Inline: __invoke<std::__1::__bind<void (flutter::Rasterizer::*)(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >), flutter::Rasterizer *, const std::__1::placeholders::__ph<1> &> &, std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> > >]) [armeabi-v7a]
 #23 pc 0015916b libflutter.so flutter::Rasterizer::Draw(fml::RefPtr<flutter::Pipeline<flow::LayerTree> >) (../../third_party/libcxx/include/functional:1923) [armeabi-v7a]
#24 pc 001594c9 libflutter.so operator() (../../third_party/libcxx/include/__functional_base:349 [Inline: __invoke<(lambda at ../../flutter/shell/common/rasterizer.cc:85:11) &>]) [armeabi-v7a]
 #25 pc 00137d1d libflutter.so fml::MessageLoopImpl::RunExpiredTasksNow() (../../flutter/fml/message_loop_impl.cc:140) [armeabi-v7a]
 #26 pc 001390c5 libflutter.so __invoke (../../flutter/fml/platform/android/message_loop_android.cc:40 [Inline: operator()]) [armeabi-v7a]
#27 pc 000120bf /system/lib/libutils.so (android::Looper::pollInner(int)+610) [armeabi-v7a]
 #28 pc 00011dcf /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+26) [armeabi-v7a]
 #29 pc 0000a6b3 /system/lib/libandroid.so (ALooper_pollOnce+50) [armeabi-v7a]
 #30 pc 0013915f libflutter.so fml::MessageLoopAndroid::Run() (../../flutter/fml/platform/android/message_loop_android.cc:68) [armeabi-v7a]
#31 pc 00136ec7 libflutter.so Run (../../flutter/fml/message_loop_impl.cc:73) [armeabi-v7a]
#32 pc 0013809d libflutter.so __thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, (lambda at ../../flutter/fml/thread.cc:28:43)> > (../../third_party/libcxx/include/thread:352 [Inline: __thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, (lambda at ../../flutter/fml/thread.cc:28:43)>]) [armeabi-v7a]
 #33 pc 000471a3 /system/lib/libc.so (__pthread_start(void*)+22) [armeabi-v7a]
#34 pc 00019d0d /system/lib/libc.so (__start_thread+6) [armeabi-v7a]

@AndroidV Please provide steps to reproduce the issue, maybe code example, also flutter doctor -v output. Now there is not enough information for investigation.

@AndroidV Please provide steps to reproduce the issue, maybe code example, also flutter doctor -v output. Now there is not enough information for investigation.

[√] Flutter (Channel dev, v1.4.15, on Microsoft Windows [Version 6.1.7601], locale zh-CN)
• Flutter version 1.4.15 at F:\flutter
• Framework revision ed91a3be49 (5 months ago), 2019-04-10 10:35:03 -0500
• Engine revision 905c571db5
• Dart version 2.2.1 (build 2.2.1-dev.3.1 None)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
• Android SDK at C:/Users/Administrator/AppData/Local/Android/Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.1
• ANDROID_HOME = C:/Users/Administrator/AppData/Local/Android/Sdk
• Java binary at: F:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.
[√] Android Studio (version 3.4)
• Android Studio at F:\Program Files\Android\Android Studio
• Flutter plugin version 37.1.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
This is a crash collection, can not locate what is the problem, so come over and ask。

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don’t hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.

authors: AndroidV BondarenkoStas


text:
Horizontal ListView a11y scrolls in wrong direction on iOS

Internal: b/143653210
Consider a ListView(scrollDirection: Axis.horizontal). On iOS, when I use 3 fingers to a11y scroll horizontally then the content should move in the same direction as my fingers, but instead it moves opposite.
For instance if the horizontal list view children are numbered 0-9 LTR then:
3 fingers physically swipe from right to left => list view should also move RTL to reveal higher-numbered children
3 fingers physically swipe from left to right => list view should also move LTR to reveal lower-numbered children
Note that vertical scrolling is OK; the content moves in the same direction as my fingers. This axis is WAI and matches standard iOS a11y scroll behavior, for example horizontally between home screen pages or vertically in the notification center.

Here's a layout that demonstrates the difference in a11y scrolling direction in both axes
MaterialApp(
      home: Scaffold(
        body: ListView(
          children: List.generate(
            childCount,
            (i) => SizedBox(
              height: 100,
              child: ListView(
                scrollDirection: Axis.horizontal,
                children: List.generate(
                  i == 4 ? childCount : 1,
                  (j) => Container(
                    color: colors[(i * childCount + j) % colors.length],
                    width: 100,
                    child: Center(
                      child: Text(
                        'ROW$i\n\nCOLUMN$j',
                        style: TextStyle(fontWeight: FontWeight.bold),
                      ),
                    ),
                  ),
                ),
              ),
            ),
          ),
        ),
      ),
    );

Looks like we have the scroll direction mapping messed up in our iOS to Flutter mapper:
https://github.com/flutter/engine/blob/fe0838e94860d30ea68a2f3dda52be17ca20411a/shell/platform/darwin/ios/framework/Source/accessibility_bridge.mm#L26-L39
UIAccessibilityScrollDirectionRight probably needs to map to flutter::SemanticsAction::kScrollRight and UIAccessibilityScrollDirectionLeft to flutter::SemanticsAction::kScrollLeft.
(This is not as embarrassing as it sounds because due to Natural vs Reverse Scrolling, UIAccessibilityScrollDirectionUp actually needs to map to flutter::SemanticsAction::kScrollDown and UIAccessibilityScrollDirectionDown needs to map to flutter::SemanticsAction::kScrollUp).
/cc @darrenaustin Any chance you can take a look at this?

authors: goderbauer mehmetf


text:
Not works pub global run flutter_plugin_tools format --plugins video_player

pub global run flutter_plugin_tools format --plugins video_player
Formatting all .dart files...
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/test/video_player_test.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/test_driver/video_player.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/test_driver/video_player_e2e.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/test_driver/video_player_test.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/test_driver/video_player_e2e_test.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/lib/main.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/lib/video_player.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player_platform_interface/test/method_channel_video_player_test.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player_platform_interface/lib/video_player_platform_interface.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player_platform_interface/lib/method_channel_video_player.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player_web/test/video_player_web_test.dart
Unchanged /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player_web/lib/video_player_web.dart
Formatting all .java files...
Formatting all .m and .h files...
Unhandled exception:
ProcessException: No such file or directory
  Command: clang-format -i --style=Google /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Runner/AppDelegate.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Runner/GeneratedPluginRegistrant.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterEngine.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterChannels.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterPlugin.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterAppDelegate.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterTexture.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterPlatformViews.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterHeadlessDartRunner.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterCodecs.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/Flutter.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterViewController.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterMacros.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterDartProject.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterPluginAppLifeCycleDelegate.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterBinaryMessenger.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Flutter/Flutter.framework/Headers/FlutterCallbackCache.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Pods/Target Support Files/video_player/video_player-umbrella.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Pods/Target Support Files/e2e/e2e-umbrella.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/ios/Classes/VideoPlayerPlugin.h /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Runner/main.m /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Runner/AppDelegate.m /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Runner/GeneratedPluginRegistrant.m /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Pods/Target Support Files/video_player/video_player-dummy.m /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Pods/Target Support Files/Pods-Runner/Pods-Runner-dummy.m /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/example/ios/Pods/Target Support Files/e2e/e2e-dummy.m /Users/yuriy.dorofeev/it/terra/new/plugins/packages/video_player/video_player/ios/Classes/VideoPlayerPlugin.m
#0      ProcessRunner.runAndStream (package:flutter_plugin_tools/src/common.dart:302:32)
<asynchronous suspension>
#1      FormatCommand._formatObjectiveC (package:flutter_plugin_tools/src/format_command.dart:97:27)
<asynchronous suspension>
#2      FormatCommand.run (package:flutter_plugin_tools/src/format_command.dart:47:11)
<asynchronous suspension>
#3      CommandRunner.runCommand (package:args/command_runner.dart:197:27)
#4      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:112:25)
#5      new Future.sync (dart:async/future.dart:224:31)
#6      CommandRunner.run (package:args/command_runner.dart:112:14)
#7      main (package:flutter_plugin_tools/src/main.dart:57:17)
#8      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:305:32)
#9      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)

Sorry. I just have to install clang-format


text:
ModalRoute.of(context).settings returns RouteSettings("null", null) when using onGenerateRoute

I'm trying to extract RouteSettings inside of a route's didChangeDependencies() using ModalRoute.of(context).settings.
When I'm passing the routes argument to MaterialApp, everything works as expected.
However, when instead of routes I'm passing onGenerateRoute to MaterialApp and creating the route myself there, ModalRoute.of(context).settings suddenly returns RouteSettings("null", null).
Is this an expected behavior? Am I possibly overriding the default route generation method which is also responsible for keeping ModelRoute up to date?
One guess I have is the context is no longer the route's context, so ModalRoute.of(context) for that context won't be valid anymore. If so, how can I make the route's widget's context remain the route's context?
Here's the method I'm passing to MaterialApp's onGenerateRoute:
Route<dynamic> generateRoute(RouteSettings settings) {
    return MaterialPageRoute(
      builder: (BuildContext context) {
        //some custom code

        return _data[settings.name](context);
      }
    );
  }

Here's a gist of how _data looks like:
Map<String, Widget Function(BuildContext context)> _data = {
    home: (BuildContext context) => InitScreen(),
    init_profile: (BuildContext context) => InitProfileScreen()
}

Related code sample
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

const String home = 'home';
const String init_profile = 'init_profile';

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  Map<String, Widget Function(BuildContext context)> _data = {
    home: (BuildContext context) => InitScreen(),
    init_profile: (BuildContext context) => InitProfileScreen()
  };

  Route<dynamic> generateRoute(RouteSettings settings) {
    return MaterialPageRoute(builder: (BuildContext context) {
      print(ModalRoute.of(context).settings);
      return _data[settings.name](context);
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      initialRoute: home,
      onGenerateRoute: generateRoute,
    );
  }
}

class InitScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.pushNamed(context, init_profile);
        },
      ),
      body: Center(child: Text('InitScreen')),
    );
  }
}

class InitProfileScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.pushNamed(context, home);
        },
      ),
      body: Center(child: Text('home')),
    );
  }
}

@royibernthal but I'm not sure how exactly do you use didChangeDependencies()

@VladyslavBondarenko The navigation itself works and the settings in generateRoute are correct, however if you try to call ModalRoute.of(context).settings in a stateful widget's state's didChangeDependencies, you'll get RouteSettings("null", null).
I'm using didChangeDependencies instead of initState in this case since context is not available during the initState phase.
bool _initialized = false;

@override
void didChangeDependencies() {
	if (!_initialized) {
	  log( ModalRoute.of(context).settings ); //RouteSettings("null", null)

	  //some custom code

	  _initialized = true;
	}

	super.didChangeDependencies();
}

I can confirm this, the same issue here.
Moreover, even in the widget's build() method (not only in initState or didChangeDependencies)  ModalRoute.of(context).settings.name gives null.
Even though in the onGenerateRoute: (settings) callback the settings.name is present.

As a workaround, you can use routes: instead of onGeneratedRoute:
MaterialApp(
  routes: {
    ExtractArgumentsScreen.routeName: (context) => ExtractArgumentsScreen(),
  },
);

in this case, calling ModalRoute.of(context).settings will give you the valid settings object with the name and arguments (if you added them).

As a workaround, you can use routes: instead of onGeneratedRoute:
MaterialApp(
  routes: {
    ExtractArgumentsScreen.routeName: (context) => ExtractArgumentsScreen(),
  },
);

in this case, calling ModalRoute.of(context).settings will give you the valid settings object with the name and arguments (if you added them).

Indeed, as I specified in the main issue - routes work.
However, the problem is that a different builder function must be passed for every route.
My goal in the first place is to run the same custom code for each generated route without code duplication, thus I'm using generateRoute instead.

I am facing the same issue, whenever I call ModalRoute.of(context).settings.name I get null.
Does anyone have any workaround to solve this and keep using onGenerateRoute ?
Thanks

@royibernthal I believe you should pass RouteSettings to your MaterialPageRoute:
Route<dynamic> generateRoute(RouteSettings settings) {
    return MaterialPageRoute(
      settings: settings,
      builder: (BuildContext context) {
        //some custom code

        return _data[settings.name](context);
      }
    );
  }

@royibernthal I believe you should pass RouteSettings to your MaterialPageRoute:
Route<dynamic> generateRoute(RouteSettings settings) {
    return MaterialPageRoute(
      settings: settings,
      builder: (BuildContext context) {
        //some custom code

        return _data[settings.name](context);
      }
    );
  }

Oh, I didn't notice that argument. Thanks :)

I was also facing same issue. I was getting RouteSettings("null", null), whenever i was calling ModalRoute.of(context).settings.name. I did one change, pass settings to the  MaterialPageRoute and now it's working fine for me.
Route<dynamic> generateRoute(RouteSettings settings) {
    return MaterialPageRoute(
      builder: (BuildContext context) {
        //some custom code
        return _data[settings.name](context);
      },
      settings: settings
    );
  }

@IGR777 Thanks it's working, so easy to miss documentation.

Can someone help me understand what am I doing wrong? so that upon using ModalRoute.of(context).settings.name, I always get route as '/', which is the initial route.
`class RouteGenerator {
static String _routeName;
static String get routeName => _routeName;
static Route generateRoute(RouteSettings settings) {
Map<String, Widget Function(BuildContext context)> _data = {
'/': (BuildContext context) => SplashScreen(),
'/loginPage': (BuildContext context) => LoginPage(),
'/homePage': (BuildContext context) => HomePage(),
'/otpPage': (BuildContext context) => OtpPage(data: args)
};
return MaterialPageRoute(
    settings: settings,
    builder: (BuildContext buildContext) {
      return _data[settings.name](buildContext);
    });

}
}`
 print("Route from RouteGenerator variable:\t ${RouteGenerator.routeName}");       var route = ModalRoute.of(context);       if (route != null) {         print("Route from ModalRoute:\t ${route.settings.name}");       }
Logs:
I/flutter ( 8632): Route from RouteGenerator variable:	 /otpPage
I/flutter ( 8632): Route from ModalRoute:	 /
I/flutter ( 8632): Route from RouteGenerator variable:	 /homePage
I/flutter ( 8632): Route from ModalRoute:	 /

authors: GaneshvrBhat IGR777 RadheshyamSingh VladyslavBondarenko anandrikka karmazinkd royibernthal yassinesabri


text:
error occur due to image_picker package

when i install image_picker package my app return error and app runs if i didnot install this package

Hi @MuhammadAsif-coder
You don't need to provide that package manually to run image_picker
Check out this image_picker_sample
can you please provide your flutter doctor -v and flutter run --verbose?
Thank you

Hi @MuhammadAsif-coder
Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore
reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any
more information for us; we will reopen it right away!
Thanks for your contribution.

authors: MuhammadAsif-coder TahaTesser


text:
Cached Engine Not Found on Activity Process Death

Using a cached engine crashes when the process is killed in "Add 2 app".
Steps to Reproduce

Initialize demo repo from https://github.com/searchy2/FlutterCrash/tree/1e38bd4d2fa0a822e5cc8589ee2a73e0fa40fc54
Open app.
Open developer settings, set "Background processes" to "No Background Processes"
Open app again.
App crashes with the following error.

2020-02-24 13:16:32.504 31081-31081/com.flutter.android E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.flutter.android, PID: 31081
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.flutter.android/com.flutter.android.MainActivity}: java.lang.IllegalStateException: The requested cached FlutterEngine did not exist in the FlutterEngineCache: 'FLUTTER_ENGINE'
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.IllegalStateException: The requested cached FlutterEngine did not exist in the FlutterEngineCache: 'FLUTTER_ENGINE'
        at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setupFlutterEngine(FlutterActivityAndFragmentDelegate.java:211)
        at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:157)
        at io.flutter.embedding.android.FlutterFragment.onAttach(FlutterFragment.java:597)
        at androidx.fragment.app.Fragment.performAttach(Fragment.java:2574)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:828)
        at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1303)
        at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2659)
        at androidx.fragment.app.FragmentManagerImpl.dispatchCreate(FragmentManagerImpl.java:2607)
        at androidx.fragment.app.FragmentController.dispatchCreate(FragmentController.java:235)
        at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:316)
        at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
        at com.flutter.android.MainActivity.onCreate(MainActivity.kt:33)
        at android.app.Activity.performCreate(Activity.java:7802)
        at android.app.Activity.performCreate(Activity.java:7791)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

Solution
Check if the Flutter engine is initialized before super.onCreate. If the engine is not initialized, initialize the app engine.
override fun onCreate(savedInstanceState: Bundle?) {
        Log.d(TAG, "onCreate")
        context = this.application.applicationContext
        if (!FlutterEngineCache.getInstance().contains(
                FLUTTER_ENGINE
            )
        ) {
            mFlutterEngine = FlutterEngine(context)
            mFlutterEngine.dartExecutor
                .executeDartEntrypoint(DartExecutor.DartEntrypoint.createDefault())
            FlutterEngineCache.getInstance()
                .put(FLUTTER_ENGINE, mFlutterEngine)
        }

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //Create Flutter Fragment
        mFragmentManager = supportFragmentManager
        mFlutterFragment = mFragmentManager.findFragmentByTag(FLUTTER_FRAGMENT) as FlutterFragment?
        if (mFlutterFragment == null) {
            mFlutterFragment =
                FlutterFragment.withCachedEngine(FLUTTER_ENGINE).transparencyMode(FlutterView.TransparencyMode.opaque).build()
            mFragmentManager
                .beginTransaction()
                .add(R.id.fragment_container, mFlutterFragment as Fragment, FLUTTER_FRAGMENT)
                .commit()
        } else {
            mFragmentManager
                .beginTransaction()
                .show(mFragmentManager.findFragmentByTag(FLUTTER_FRAGMENT)!!)
                .commit()
        }
}

Flutter doctor:
[√] Flutter (Channel dev, v1.12.13, on Microsoft Windows [Version 10.0.17763.1039], locale en-US)
    • Flutter version 1.12.13 at D:\Development\flutter-sdk
    • Framework revision cf37c2cd07 (3 months ago), 2019-11-25 12:04:30 -0800
    • Engine revision b6b54fd606
    • Dart version 2.7.0

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at D:\Development\android-sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 28.0.3
    • ANDROID_HOME = D:\Development\android-sdk
    • Java binary at: C:\Program Files\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android Studio
    • Flutter plugin version 43.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

This issue was posted to help anyone that runs into this issue.

this is not working