Repository: flutter
Issue: Nested WillPopScope execution order is inconsistent.
Labels: framework,f: routes,has reproducible steps,P2,found in release: 2.8,found in release: 2.10,team-framework,triaged-framework

I have created a [Flutter package](https://pub.dev/packages/bottom_nav_layout) that uses the [WillPopScope](https://api.flutter.dev/flutter/widgets/WillPopScope-class.html) widget for back button navigation. One of my users reported that their application breaks after a hot reload or a `setState` call. After intense investigation, I figured out that the cause of the problem is the fact that nested `WillPopScope` instances handle the pop event in inconsistent orders. The outer one handles the event first before hot reload or a `setState` call, however, after hot reload or a `setState` call, the inner one handles pop events first. This inconsistency breaks their application behavior. He also reported that if the outer `WillPopScope` instance is not rebuilt by the `setState` call, the problem doesn't occur.

I do not know why this problem occurs but I would really like to. Nested `WillPopScope` behavior is not documented either. I reckon that `WillPopScope` widget is not meant to be nested in the first place, however, this doesn't stop anyone from doing so. Also, in this case, no one is actually nesting this widget. One is used by a package and the other is used by an application that uses that package, which seems like a very reasonable use case. The user shouldn't need to know the exact implementation of the package.

I have seen a few other ways to handle back button events such as [BackButtonListener](https://github.com/flutter/flutter/pull/79642/files). However, I am not using a Router and do not have a need for it but BackButtonListener requires a Router context.

I refuse to employ a workaround without understanding the cause of the problem first. I do not want to restrict people from using this package and `WillPopScope` together either. Or worse, tell them not to use hot reload or `setState`.

### A real-world example

I added here a real-world scenario in case the assumption that the `WillPopScope` widgets are not supposed to be nested is correct.

-> 1st WillPopScope: Prevents application from exiting with an accidental back button click.
---> 2nd WillPopScope: Handles bottom bar navigation stack. For example, this is inside the bottom_nav_layout package.
-----> 3rd WillPopScope: Handles in-page navigation or custom pop-up modals.

The lowest one should get the pop event first. Then if it does not handle it, it should delegate the event upwards. This ensures separation of concern and prevents `onWillPop()` methods from becoming giant if-else statements.

## Steps to Reproduce

1. Run one of the code samples.
2. Press the Android back button.
3. Trace which `onWillPop` is executed first.
4. Run the same sample again.
5. Hot reload.
6. Press the Android back button.
7. Trace which `onWillPop` is executed first.

**Expected results:** The outer and inner `WillPopScope` widget 's `onWillPop` should be called in the same order. (I am not sure in which way. It is not documented either.)

**Actual results:**  In 2 runs, the `WillPopScope` that handles the pop event first alternates. Outer one handles first without hot reload, inner one handles first after hot reload.

<details>
<summary>Code samples</summary>

1. Code sample with BottomNavLayout

The below code reproduces the problem using the package in point. To observe the problem, go to the definition of `BottomNavLayout` class, put a breakpoint to the first line of `onWillPop()` method, and debug the app.
```dart
import 'package:bottom_nav_layout/bottom_nav_layout.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: WillPopScope(
          onWillPop: () async {
            print('outer');
            return true;
          },
          child: BottomNavLayout(
            pages: [
                  (_) => const Center(child: Text("1")),
                  (_) => const Center(child: Text("2")),
                  (_) => const Center(child: Text("3")),
            ],
            bottomNavigationBar: (currentIndex, onTap) => BottomNavigationBar(
              currentIndex: currentIndex,
              onTap: (index) => onTap(index),
              items: const [
                BottomNavigationBarItem(icon: Icon(Icons.home), label: 'Home'),
                BottomNavigationBarItem(icon: Icon(Icons.linear_scale), label: 'Slider'),
                BottomNavigationBarItem(icon: Icon(Icons.search), label: 'Search'),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
```
2. Code sample without BottomnavLayout, vanilla Flutter

The below code reproduces the problem with Flutter widgets only.
```dart
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: WillPopScope(
          onWillPop: () async {
            print('outer');
            return true;
          },
          child: MyStatefulWidget(),
        ),
      ),
    );
  }
}

class MyStatefulWidget extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => _MyStatefulWidgetState();
}

class _MyStatefulWidgetState extends State<MyStatefulWidget> {
  Future<bool> onWillPop() async {
    print("inner");
    return true;
  }

  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: onWillPop,
      child: const Center(child: Text("1")),
    );
  }
}
```

</details>

<details>
  <summary>Logs</summary>

`flutter run --verbose` with `BottomNavLayout`

```
[  +53 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +208 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +1 ms] 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] executing: [C:\flutter/] git tag --points-at 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[  +41 ms] Exit code 0 from: git tag --points-at 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] 2.8.1
[   +7 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +29 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [C:\flutter/] git ls-remote --get-url origin
[  +25 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +88 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD
[  +28 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +54 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +46 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +36 ms] List of devices attached
           emulator-5554          device product:sdk_gphone_x86_arm model:sdk_gphone_x86_arm device:generic_x86_arm transport_id:1
[   +6 ms] C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell getprop
[  +31 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +7 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +68 ms] Skipping pub get: version match.
[  +90 ms] Generating C:\D\Software Workspace\Flutter\untitled1\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[  +43 ms] ro.hardware = ranchu
[  +11 ms] Using hardware rendering with device sdk gphone x86 arm. If you notice graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
[  +21 ms] Initializing file store
[  +10 ms] Skipping target: gen_localizations
[   +6 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: C:\D\Software Workspace\Flutter\untitled1\.dart_tool\package_config_subset}
[  +22 ms] gen_dart_plugin_registrant: Complete
[   +1 ms] Skipping target: _composite
[   +2 ms] complete
[   +5 ms] Launching lib\main.dart on sdk gphone x86 arm in debug mode...
[   +4 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --incremental
--target=flutter --debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill C:\Users\ViraL\AppData\Local\Temp\flutter_tools.f6943893\flutter_tool.cfa86603\app.dill --packages C:\D\Software
Workspace\Flutter\untitled1\.dart_tool\package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill
build\c075001b96339384a97db4862b8ab8db.cache.dill.track.dill --enable-experiment=alternative-invalidation-strategy
[   +8 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\build-tools\30.0.3\aapt dump xmltree C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[   +9 ms] Exit code 0 from: C:\Users\ViraL\AppData\Local\Android\sdk\build-tools\30.0.3\aapt dump xmltree C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[        ] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1e
               A: android:compileSdkVersionCodename(0x01010573)="11" (Raw: "11")
               A: package="com.example.popexample.untitled1" (Raw: "com.example.popexample.untitled1")
               A: platformBuildVersionCode=(type 0x10)0x1e
               A: platformBuildVersionName=(type 0x10)0xb
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1e
               E: uses-permission (line=14)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: application (line=16)
                 A: android:label(0x01010001)="untitled1" (Raw: "untitled1")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw: "androidx.core.app.CoreComponentFactory")
                 E: activity (line=21)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="com.example.popexample.untitled1.MainActivity" (Raw: "com.example.popexample.untitled1.MainActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: meta-data (line=35)
                     A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                     A: android:resource(0x01010025)=@0x7f0a0001
                   E: meta-data (line=45)
                     A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw: "io.flutter.embedding.android.SplashScreenDrawable")
                     A: android:resource(0x01010025)=@0x7f040000
                   E: intent-filter (line=49)
                     E: action (line=50)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=52)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                 E: meta-data (line=59)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
[   +5 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell -x logcat -v time -t 1
[  +14 ms] <- compile package:untitled1/main.dart
[  +31 ms] --------- beginning of main
           01-26 18:01:14.999 E/netmgr  (  451): Failed to open QEMU pipe 'qemud:network': Invalid argument
[  +10 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe version
[  +37 ms] Android Debug Bridge version 1.0.41
           Version 31.0.2-7242960
           Installed as C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe
[   +1 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe start-server
[  +15 ms] Building APK
[  +14 ms] Running Gradle task 'assembleDebug'...
[   +3 ms] Using gradle from C:\D\Software Workspace\Flutter\untitled1\android\gradlew.bat.
[  +13 ms] executing: C:\Program Files\Android\Android Studio\jre\bin\java -version
[ +124 ms] Exit code 0 from: C:\Program Files\Android\Android Studio\jre\bin\java -version
[        ] openjdk version "11.0.8" 2020-07-14
           OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
           OpenJDK 64-Bit Server VM (build 11.0.8+10-b944.6842174, mixed mode)
[   +1 ms] executing: C:\Program Files\Android\Android Studio\jre\bin\java -version
[ +125 ms] Exit code 0 from: C:\Program Files\Android\Android Studio\jre\bin\java -version
[        ] openjdk version "11.0.8" 2020-07-14
           OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
           OpenJDK 64-Bit Server VM (build 11.0.8+10-b944.6842174, mixed mode)
[   +2 ms] executing: [C:\D\Software Workspace\Flutter\untitled1\android/] C:\D\Software Workspace\Flutter\untitled1\android\gradlew.bat -Pverbose=true -Ptarget-platform=android-x86 -Ptarget=C:\D\Software Workspace\Flutter\untitled1\lib\main.dart
-Pbase-application-name=android.app.Application -Pdart-defines=RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ== -Pdart-obfuscation=false -Ptrack-widget-creation=true -Ptree-shake-icons=false -Pfilesystem-scheme=org-dartlang-root assembleDebug
[ +586 ms] Welcome to Gradle 6.7!
[        ] Here are the highlights of this release:
[        ]  - File system watching is ready for production use
[        ]  - Declare the version of Java your build requires
[        ]  - Java 15 support
[        ] For more details see https://docs.gradle.org/6.7/release-notes.html
[+2485 ms] > Task :app:compileFlutterBuildDebug
[   +1 ms] [  +60 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [ +219 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [        ] 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] [        ] executing: [C:\flutter/] git tag --points-at 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] [  +46 ms] Exit code 0 from: git tag --points-at 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] [        ] 2.8.1
[        ] [   +6 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[        ] [  +34 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] [        ] origin/stable
[        ] [        ] executing: [C:\flutter/] git ls-remote --get-url origin
[        ] [  +29 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [  +47 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD
[        ] [  +32 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] stable
[        ] [  +51 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [  +90 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] [   +3 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[        ] [  +37 ms] Initializing file store
[        ] [  +20 ms] Skipping target: gen_localizations
[        ] [  +12 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: C:\D\Software Workspace\Flutter\untitled1\.dart_tool\package_config_subset}
[        ] [  +36 ms] gen_dart_plugin_registrant: Complete
[        ] [   +3 ms] kernel_snapshot: Starting due to {}
[        ] [  +10 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --target=flutter
--no-print-incremental-dependencies -DFLUTTER_WEB_AUTO_DETECT=true -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --no-link-platform --packages C:\D\Software
Workspace\Flutter\untitled1\.dart_tool\package_config.json --output-dill C:\D\Software Workspace\Flutter\untitled1\.dart_tool\flutter_build\efb34723b074a85189ab8c265ec575f6\app.dill --depfile C:\D\Software
Workspace\Flutter\untitled1\.dart_tool\flutter_build\efb34723b074a85189ab8c265ec575f6\kernel_snapshot.d package:untitled1/main.dart
[+6485 ms] [+7134 ms] kernel_snapshot: Complete
[ +397 ms] [ +390 ms] debug_android_application: Starting due to {}
[  +93 ms] [ +137 ms] debug_android_application: Complete
[ +397 ms] [ +430 ms] Persisting file store
[        ] [   +6 ms] Done persisting file store
[        ] [   +5 ms] build succeeded.
[        ] [  +11 ms] "flutter assemble" took 8,351ms.
[ +296 ms] [ +256 ms] ensureAnalyticsSent: 251ms
[        ] [        ] Running shutdown hooks
[        ] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 0
[ +111 ms] Parameter format not correct -
[        ] > Task :app:packLibsflutterBuildDebug UP-TO-DATE
[        ] > Task :app:preBuild UP-TO-DATE
[        ] > Task :app:preDebugBuild UP-TO-DATE
[  +95 ms] > Task :app:compileDebugAidl NO-SOURCE
[        ] > Task :app:compileDebugRenderscript NO-SOURCE
[        ] > Task :app:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :app:checkDebugAarMetadata UP-TO-DATE
[        ] > Task :app:cleanMergeDebugAssets
[        ] > Task :app:mergeDebugShaders UP-TO-DATE
[        ] > Task :app:compileDebugShaders NO-SOURCE
[        ] > Task :app:generateDebugAssets UP-TO-DATE
[        ] > Task :app:mergeDebugAssets
[ +302 ms] > Task :app:copyFlutterAssetsDebug
[        ] > Task :app:generateDebugResValues UP-TO-DATE
[        ] > Task :app:generateDebugResources UP-TO-DATE
[        ] > Task :app:mergeDebugResources UP-TO-DATE
[   +1 ms] > Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
[        ] > Task :app:extractDeepLinksDebug UP-TO-DATE
[        ] > Task :app:processDebugMainManifest UP-TO-DATE
[        ] > Task :app:processDebugManifest UP-TO-DATE
[        ] > Task :app:processDebugManifestForPackage UP-TO-DATE
[        ] > Task :app:processDebugResources UP-TO-DATE
[        ] > Task :app:compileDebugKotlin UP-TO-DATE
[        ] > Task :app:javaPreCompileDebug UP-TO-DATE
[        ] > Task :app:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :app:compileDebugSources UP-TO-DATE
[        ] > Task :app:mergeDebugNativeDebugMetadata NO-SOURCE
[  +85 ms] > Task :app:processDebugJavaRes NO-SOURCE
[        ] > Task :app:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :app:checkDebugDuplicateClasses UP-TO-DATE
[        ] > Task :app:dexBuilderDebug UP-TO-DATE
[        ] > Task :app:desugarDebugFileDependencies UP-TO-DATE
[        ] > Task :app:mergeExtDexDebug UP-TO-DATE
[        ] > Task :app:mergeDexDebug UP-TO-DATE
[        ] > Task :app:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :app:mergeDebugNativeLibs UP-TO-DATE
[        ] > Task :app:stripDebugDebugSymbols UP-TO-DATE
[        ] > Task :app:validateSigningDebug UP-TO-DATE
[ +489 ms] > Task :app:compressDebugAssets
[ +504 ms] > Task :app:packageDebug
[ +176 ms] > Task :app:assembleDebug
[        ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
[        ] Use '--warning-mode all' to show the individual deprecation warnings.
[        ] See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
[        ] BUILD SUCCESSFUL in 12s
[        ] 32 actionable tasks: 7 executed, 25 up-to-date
[ +520 ms] Running Gradle task 'assembleDebug'... (completed in 13.3s)
[  +44 ms] calculateSha: LocalDirectory: 'C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk'/app.apk
[ +556 ms] √  Built build\app\outputs\flutter-apk\app-debug.apk.
[   +3 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\build-tools\30.0.3\aapt dump xmltree C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[  +15 ms] Exit code 0 from: C:\Users\ViraL\AppData\Local\Android\sdk\build-tools\30.0.3\aapt dump xmltree C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[        ] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1e
               A: android:compileSdkVersionCodename(0x01010573)="11" (Raw: "11")
               A: package="com.example.popexample.untitled1" (Raw: "com.example.popexample.untitled1")
               A: platformBuildVersionCode=(type 0x10)0x1e
               A: platformBuildVersionName=(type 0x10)0xb
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1e
               E: uses-permission (line=14)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: application (line=16)
                 A: android:label(0x01010001)="untitled1" (Raw: "untitled1")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw: "androidx.core.app.CoreComponentFactory")
                 E: activity (line=21)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="com.example.popexample.untitled1.MainActivity" (Raw: "com.example.popexample.untitled1.MainActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: meta-data (line=35)
                     A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                     A: android:resource(0x01010025)=@0x7f0a0001
                   E: meta-data (line=45)
                     A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw: "io.flutter.embedding.android.SplashScreenDrawable")
                     A: android:resource(0x01010025)=@0x7f040000
                   E: intent-filter (line=49)
                     E: action (line=50)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=52)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                 E: meta-data (line=59)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
[   +2 ms] Stopping app 'app.apk' on sdk gphone x86 arm.
[        ] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell am force-stop com.example.popexample.untitled1
[  +32 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell pm list packages com.example.popexample.untitled1
[  +34 ms] package:com.example.popexample.untitled1
[   +1 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell cat /data/local/tmp/sky.com.example.popexample.untitled1.sha1
[  +27 ms] a02fb3b3dc881d0543c3204020ac30fde546ec58
[        ] Installing APK.
[   +1 ms] Installing build\app\outputs\flutter-apk\app.apk...
[        ] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 install -t -r C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk
[ +742 ms] Performing Streamed Install
                    Success
[   +1 ms] Installing build\app\outputs\flutter-apk\app.apk... (completed in 743ms)
[   +1 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell echo -n a1b11b83f379cb132efe9dd7bfb33be921fc9baf > /data/local/tmp/sky.com.example.popexample.untitled1.sha1
[  +55 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell -x logcat -v time -t 1
[+2047 ms] --------- beginning of main
                    01-26 18:01:30.946 I/m.android.phon(  869): Background concurrent copying GC freed 35640(2392KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 2776KB/5552KB, paused 243us total 337.944ms
[   +5 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode
true --ez verify-entry-points true com.example.popexample.untitled1/com.example.popexample.untitled1.MainActivity
[ +124 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.popexample.untitled1/.MainActivity (has extras) }
[        ] Waiting for observatory port to be available...
[ +806 ms] W/FlutterActivityAndFragmentDelegate(16154): A splash screen was provided to Flutter, but this is deprecated. See flutter.dev/go/android-splash-migration for migration steps.
[   +3 ms] Observatory URL on device: http://127.0.0.1:40137/TOcc69vZWIY=/
[        ] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 forward tcp:0 tcp:40137
[  +15 ms] 6800
[        ] Forwarded host port 6800 to device port 40137 for Observatory
[   +4 ms] Caching compiled dill
[  +29 ms] Connecting to service protocol: http://127.0.0.1:6800/TOcc69vZWIY=/
[ +311 ms] Launching a Dart Developer Service (DDS) instance at http://127.0.0.1:0, connecting to VM service at http://127.0.0.1:6800/TOcc69vZWIY=/.
[ +122 ms] DDS is listening at http://127.0.0.1:6803/qeUfW3BUnZo=/.
[  +44 ms] Successfully connected to service protocol: http://127.0.0.1:6800/TOcc69vZWIY=/
[  +46 ms] DevFS: Creating new filesystem on the device (null)
[  +21 ms] DevFS: Created new filesystem on the device (file:///data/user/0/com.example.popexample.untitled1/code_cache/untitled1MMQOMU/untitled1/)
[   +2 ms] Updating assets
[  +59 ms] Syncing files to device sdk gphone x86 arm...
[   +1 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[   +2 ms] <- recompile package:untitled1/main.dart f4ca2dc8-89cd-413c-8771-cd4ac2e13520
[        ] <- f4ca2dc8-89cd-413c-8771-cd4ac2e13520
[ +109 ms] Updating files.
[        ] DevFS: Sync finished
[        ] Syncing files to device sdk gphone x86 arm... (completed in 115ms)
[        ] Synced 0.0MB.
[   +1 ms] <- accept
[   +7 ms] Connected to _flutterView/0xea7481f0.
[   +2 ms] Flutter run key commands.
[   +1 ms] r Hot reload. 
[        ] R Hot restart.
[        ] h List all available interactive commands.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ]  Running with sound null safety 
[   +1 ms] An Observatory debugger and profiler on sdk gphone x86 arm is available at: http://127.0.0.1:6803/qeUfW3BUnZo=/
[ +531 ms] The Flutter DevTools debugger and profiler on sdk gphone x86 arm is available at: http://127.0.0.1:9101?uri=http://127.0.0.1:6803/qeUfW3BUnZo=/
```

`flutter run --verbose` without `BottomNavLayout`

```
[  +53 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +338 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[   +1 ms] 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] executing: [C:\flutter/] git tag --points-at 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[  +41 ms] Exit code 0 from: git tag --points-at 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] 2.8.1
[   +6 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +29 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/stable
[        ] executing: [C:\flutter/] git ls-remote --get-url origin
[  +25 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +90 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD
[  +28 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] stable
[  +54 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +46 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe devices -l
[  +36 ms] List of devices attached
           emulator-5554          device product:sdk_gphone_x86_arm model:sdk_gphone_x86_arm device:generic_x86_arm transport_id:1
[   +7 ms] C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell getprop
[  +33 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +69 ms] Skipping pub get: version match.
[  +95 ms] Generating C:\D\Software Workspace\Flutter\untitled1\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[  +44 ms] ro.hardware = ranchu
[  +12 ms] Using hardware rendering with device sdk gphone x86 arm. If you notice graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
[  +20 ms] Initializing file store
[  +10 ms] Skipping target: gen_localizations
[   +5 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: C:\D\Software Workspace\Flutter\untitled1\.dart_tool\package_config_subset}
[  +22 ms] gen_dart_plugin_registrant: Complete
[   +2 ms] Skipping target: _composite
[   +2 ms] complete
[   +5 ms] Launching lib\main.dart on sdk gphone x86 arm in debug mode...
[   +5 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --incremental
--target=flutter --debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill C:\Users\ViraL\AppData\Local\Temp\flutter_tools.f7ed1f83\flutter_tool.4288363b\app.dill --packages C:\D\Software
Workspace\Flutter\untitled1\.dart_tool\package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill
build\c075001b96339384a97db4862b8ab8db.cache.dill.track.dill --enable-experiment=alternative-invalidation-strategy
[   +9 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\build-tools\30.0.3\aapt dump xmltree C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[   +9 ms] Exit code 0 from: C:\Users\ViraL\AppData\Local\Android\sdk\build-tools\30.0.3\aapt dump xmltree C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[        ] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1e
               A: android:compileSdkVersionCodename(0x01010573)="11" (Raw: "11")
               A: package="com.example.popexample.untitled1" (Raw: "com.example.popexample.untitled1")
               A: platformBuildVersionCode=(type 0x10)0x1e
               A: platformBuildVersionName=(type 0x10)0xb
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1e
               E: uses-permission (line=14)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: application (line=16)
                 A: android:label(0x01010001)="untitled1" (Raw: "untitled1")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw: "androidx.core.app.CoreComponentFactory")
                 E: activity (line=21)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="com.example.popexample.untitled1.MainActivity" (Raw: "com.example.popexample.untitled1.MainActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: meta-data (line=35)
                     A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                     A: android:resource(0x01010025)=@0x7f0a0001
                   E: meta-data (line=45)
                     A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw: "io.flutter.embedding.android.SplashScreenDrawable")
                     A: android:resource(0x01010025)=@0x7f040000
                   E: intent-filter (line=49)
                     E: action (line=50)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=52)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                 E: meta-data (line=59)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
[   +6 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell -x logcat -v time -t 1
[  +14 ms] <- compile package:untitled1/main.dart
[  +38 ms] --------- beginning of main
           01-26 18:03:51.907 I/libprocessgroup(  518): Successfully killed process cgroup uid 10116 pid 13879 in 42ms
[  +31 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe version
[  +23 ms] Android Debug Bridge version 1.0.41
           Version 31.0.2-7242960
           Installed as C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe
[   +1 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe start-server
[  +17 ms] Building APK
[  +15 ms] Running Gradle task 'assembleDebug'...
[   +4 ms] Using gradle from C:\D\Software Workspace\Flutter\untitled1\android\gradlew.bat.
[  +11 ms] executing: C:\Program Files\Android\Android Studio\jre\bin\java -version
[ +122 ms] Exit code 0 from: C:\Program Files\Android\Android Studio\jre\bin\java -version
[   +1 ms] openjdk version "11.0.8" 2020-07-14
           OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
           OpenJDK 64-Bit Server VM (build 11.0.8+10-b944.6842174, mixed mode)
[   +2 ms] executing: C:\Program Files\Android\Android Studio\jre\bin\java -version
[ +109 ms] Exit code 0 from: C:\Program Files\Android\Android Studio\jre\bin\java -version
[        ] openjdk version "11.0.8" 2020-07-14
           OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
           OpenJDK 64-Bit Server VM (build 11.0.8+10-b944.6842174, mixed mode)
[   +1 ms] executing: [C:\D\Software Workspace\Flutter\untitled1\android/] C:\D\Software Workspace\Flutter\untitled1\android\gradlew.bat -Pverbose=true -Ptarget-platform=android-x86 -Ptarget=C:\D\Software Workspace\Flutter\untitled1\lib\main.dart
-Pbase-application-name=android.app.Application -Pdart-defines=RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ== -Pdart-obfuscation=false -Ptrack-widget-creation=true -Ptree-shake-icons=false -Pfilesystem-scheme=org-dartlang-root assembleDebug
[+3091 ms] > Task :app:compileFlutterBuildDebug
[        ] [  +52 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [ +228 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [        ] 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] [        ] executing: [C:\flutter/] git tag --points-at 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] [  +42 ms] Exit code 0 from: git tag --points-at 77d935af4db863f6abd0b9c31c7e6df2a13de57b
[        ] [        ] 2.8.1
[        ] [   +7 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[        ] [  +30 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] [        ] origin/stable
[        ] [        ] executing: [C:\flutter/] git ls-remote --get-url origin
[        ] [  +26 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [  +46 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD
[        ] [  +28 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] stable
[        ] [  +50 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [   +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [  +80 ms] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] [   +3 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[   +1 ms] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[        ] [  +31 ms] Initializing file store
[        ] [  +10 ms] Done initializing file store
[        ] [  +31 ms] Skipping target: gen_localizations
[        ] [   +8 ms] Skipping target: gen_dart_plugin_registrant
[        ] [ +399 ms] kernel_snapshot: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: C:\D\Software Workspace\Flutter\untitled1\lib\main.dart}
[        ] [   +9 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\flutter\bin\cache\artifacts\engine\common\flutter_patched_sdk/ --target=flutter
--no-print-incremental-dependencies -DFLUTTER_WEB_AUTO_DETECT=true -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --no-link-platform --packages C:\D\Software
Workspace\Flutter\untitled1\.dart_tool\package_config.json --output-dill C:\D\Software Workspace\Flutter\untitled1\.dart_tool\flutter_build\efb34723b074a85189ab8c265ec575f6\app.dill --depfile C:\D\Software
Workspace\Flutter\untitled1\.dart_tool\flutter_build\efb34723b074a85189ab8c265ec575f6\kernel_snapshot.d package:untitled1/main.dart
[+6365 ms] [+6798 ms] kernel_snapshot: Complete
[ +396 ms] [ +433 ms] debug_android_application: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: C:\D\Software Workspace\Flutter\untitled1\.dart_tool\flutter_build\efb34723b074a85189ab8c265ec575f6\app.dill}
[ +505 ms] [ +413 ms] debug_android_application: Complete
[ +205 ms] [ +237 ms] Persisting file store
[        ] [   +6 ms] Done persisting file store
[        ] [   +3 ms] build succeeded.
[        ] [  +10 ms] "flutter assemble" took 8,497ms.
[ +199 ms] [ +234 ms] ensureAnalyticsSent: 231ms
[        ] [        ] Running shutdown hooks
[        ] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 0
[  +93 ms] Parameter format not correct -
[  +96 ms] > Task :app:packLibsflutterBuildDebug UP-TO-DATE
[        ] > Task :app:preBuild UP-TO-DATE
[        ] > Task :app:preDebugBuild UP-TO-DATE
[        ] > Task :app:compileDebugAidl NO-SOURCE
[        ] > Task :app:compileDebugRenderscript NO-SOURCE
[        ] > Task :app:generateDebugBuildConfig UP-TO-DATE
[        ] > Task :app:checkDebugAarMetadata UP-TO-DATE
[        ] > Task :app:cleanMergeDebugAssets
[        ] > Task :app:mergeDebugShaders UP-TO-DATE
[        ] > Task :app:compileDebugShaders NO-SOURCE
[        ] > Task :app:generateDebugAssets UP-TO-DATE
[        ] > Task :app:mergeDebugAssets
[ +300 ms] > Task :app:copyFlutterAssetsDebug
[        ] > Task :app:generateDebugResValues UP-TO-DATE
[        ] > Task :app:generateDebugResources UP-TO-DATE
[        ] > Task :app:mergeDebugResources UP-TO-DATE
[        ] > Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
[        ] > Task :app:extractDeepLinksDebug UP-TO-DATE
[        ] > Task :app:processDebugMainManifest UP-TO-DATE
[        ] > Task :app:processDebugManifest UP-TO-DATE
[        ] > Task :app:processDebugManifestForPackage UP-TO-DATE
[        ] > Task :app:processDebugResources UP-TO-DATE
[  +91 ms] > Task :app:compileDebugKotlin UP-TO-DATE
[        ] > Task :app:javaPreCompileDebug UP-TO-DATE
[        ] > Task :app:compileDebugJavaWithJavac UP-TO-DATE
[        ] > Task :app:compileDebugSources UP-TO-DATE
[        ] > Task :app:mergeDebugNativeDebugMetadata NO-SOURCE
[        ] > Task :app:processDebugJavaRes NO-SOURCE
[        ] > Task :app:mergeDebugJavaResource UP-TO-DATE
[        ] > Task :app:checkDebugDuplicateClasses UP-TO-DATE
[        ] > Task :app:dexBuilderDebug UP-TO-DATE
[        ] > Task :app:desugarDebugFileDependencies UP-TO-DATE
[        ] > Task :app:mergeExtDexDebug UP-TO-DATE
[        ] > Task :app:mergeDexDebug UP-TO-DATE
[        ] > Task :app:mergeDebugJniLibFolders UP-TO-DATE
[        ] > Task :app:mergeDebugNativeLibs UP-TO-DATE
[ +106 ms] > Task :app:stripDebugDebugSymbols UP-TO-DATE
[        ] > Task :app:validateSigningDebug UP-TO-DATE
[ +397 ms] > Task :app:compressDebugAssets
[ +493 ms] > Task :app:packageDebug
[ +149 ms] > Task :app:assembleDebug
[        ] Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
[        ] Use '--warning-mode all' to show the individual deprecation warnings.
[        ] See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
[        ] BUILD SUCCESSFUL in 12s
[        ] 32 actionable tasks: 7 executed, 25 up-to-date
[ +531 ms] Running Gradle task 'assembleDebug'... (completed in 13.3s)
[  +51 ms] calculateSha: LocalDirectory: 'C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk'/app.apk
[ +564 ms] √  Built build\app\outputs\flutter-apk\app-debug.apk.
[   +3 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\build-tools\30.0.3\aapt dump xmltree C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[  +13 ms] Exit code 0 from: C:\Users\ViraL\AppData\Local\Android\sdk\build-tools\30.0.3\aapt dump xmltree C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk AndroidManifest.xml
[        ] N: android=http://schemas.android.com/apk/res/android
             E: manifest (line=2)
               A: android:versionCode(0x0101021b)=(type 0x10)0x1
               A: android:versionName(0x0101021c)="1.0.0" (Raw: "1.0.0")
               A: android:compileSdkVersion(0x01010572)=(type 0x10)0x1e
               A: android:compileSdkVersionCodename(0x01010573)="11" (Raw: "11")
               A: package="com.example.popexample.untitled1" (Raw: "com.example.popexample.untitled1")
               A: platformBuildVersionCode=(type 0x10)0x1e
               A: platformBuildVersionName=(type 0x10)0xb
               E: uses-sdk (line=7)
                 A: android:minSdkVersion(0x0101020c)=(type 0x10)0x10
                 A: android:targetSdkVersion(0x01010270)=(type 0x10)0x1e
               E: uses-permission (line=14)
                 A: android:name(0x01010003)="android.permission.INTERNET" (Raw: "android.permission.INTERNET")
               E: application (line=16)
                 A: android:label(0x01010001)="untitled1" (Raw: "untitled1")
                 A: android:icon(0x01010002)=@0x7f080000
                 A: android:debuggable(0x0101000f)=(type 0x12)0xffffffff
                 A: android:appComponentFactory(0x0101057a)="androidx.core.app.CoreComponentFactory" (Raw: "androidx.core.app.CoreComponentFactory")
                 E: activity (line=21)
                   A: android:theme(0x01010000)=@0x7f0a0000
                   A: android:name(0x01010003)="com.example.popexample.untitled1.MainActivity" (Raw: "com.example.popexample.untitled1.MainActivity")
                   A: android:launchMode(0x0101001d)=(type 0x10)0x1
                   A: android:configChanges(0x0101001f)=(type 0x11)0x40003fb4
                   A: android:windowSoftInputMode(0x0101022b)=(type 0x11)0x10
                   A: android:hardwareAccelerated(0x010102d3)=(type 0x12)0xffffffff
                   E: meta-data (line=35)
                     A: android:name(0x01010003)="io.flutter.embedding.android.NormalTheme" (Raw: "io.flutter.embedding.android.NormalTheme")
                     A: android:resource(0x01010025)=@0x7f0a0001
                   E: meta-data (line=45)
                     A: android:name(0x01010003)="io.flutter.embedding.android.SplashScreenDrawable" (Raw: "io.flutter.embedding.android.SplashScreenDrawable")
                     A: android:resource(0x01010025)=@0x7f040000
                   E: intent-filter (line=49)
                     E: action (line=50)
                       A: android:name(0x01010003)="android.intent.action.MAIN" (Raw: "android.intent.action.MAIN")
                     E: category (line=52)
                       A: android:name(0x01010003)="android.intent.category.LAUNCHER" (Raw: "android.intent.category.LAUNCHER")
                 E: meta-data (line=59)
                   A: android:name(0x01010003)="flutterEmbedding" (Raw: "flutterEmbedding")
                   A: android:value(0x01010024)=(type 0x10)0x2
[   +2 ms] Stopping app 'app.apk' on sdk gphone x86 arm.
[        ] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell am force-stop com.example.popexample.untitled1
[+1160 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell pm list packages com.example.popexample.untitled1
[  +32 ms] package:com.example.popexample.untitled1
[   +1 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell cat /data/local/tmp/sky.com.example.popexample.untitled1.sha1
[  +26 ms] a1b11b83f379cb132efe9dd7bfb33be921fc9baf
[        ] Installing APK.
[   +1 ms] Installing build\app\outputs\flutter-apk\app.apk...
[   +1 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 install -t -r C:\D\Software Workspace\Flutter\untitled1\build\app\outputs\flutter-apk\app.apk
[+1130 ms] Performing Streamed Install
                    Success
[   +1 ms] Installing build\app\outputs\flutter-apk\app.apk... (completed in 1,131ms)
[   +1 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell echo -n bc5bfe3b1581007c08c65e4718e7c40add476980 > /data/local/tmp/sky.com.example.popexample.untitled1.sha1
[  +39 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell -x logcat -v time -t 1
[ +158 ms] --------- beginning of kernel
                    01-26 18:04:08.654 D/logd    (    0): logdr: UID=2000 GID=2000 PID=16326 n tail=1 logMask=99 pid=0 start=0ns timeout=0ns
[   +5 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode
true --ez verify-entry-points true com.example.popexample.untitled1/com.example.popexample.untitled1.MainActivity
[  +52 ms] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.example.popexample.untitled1/.MainActivity (has extras) }
[   +1 ms] Waiting for observatory port to be available...
[ +745 ms] Observatory URL on device: http://127.0.0.1:36863/t5KA0DJlmaI=/
[   +1 ms] executing: C:\Users\ViraL\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 forward tcp:0 tcp:36863
[        ] W/FlutterActivityAndFragmentDelegate(16380): A splash screen was provided to Flutter, but this is deprecated. See flutter.dev/go/android-splash-migration for migration steps.
[  +15 ms] 6989
[        ] Forwarded host port 6989 to device port 36863 for Observatory
[   +4 ms] Caching compiled dill
[  +30 ms] Connecting to service protocol: http://127.0.0.1:6989/t5KA0DJlmaI=/
[ +261 ms] Launching a Dart Developer Service (DDS) instance at http://127.0.0.1:0, connecting to VM service at http://127.0.0.1:6989/t5KA0DJlmaI=/.
[ +125 ms] DDS is listening at http://127.0.0.1:6992/abmwDk5dOWg=/.
[  +57 ms] Successfully connected to service protocol: http://127.0.0.1:6989/t5KA0DJlmaI=/
[  +46 ms] DevFS: Creating new filesystem on the device (null)
[  +22 ms] DevFS: Created new filesystem on the device (file:///data/user/0/com.example.popexample.untitled1/code_cache/untitled1FBBTBE/untitled1/)
[   +2 ms] Updating assets
[  +65 ms] Syncing files to device sdk gphone x86 arm...
[   +1 ms] <- reset
[        ] Compiling dart to kernel with 0 updated files
[   +2 ms] <- recompile package:untitled1/main.dart 9ec50bad-38a9-40ca-9b52-4dcdcb39d481
[        ] <- 9ec50bad-38a9-40ca-9b52-4dcdcb39d481
[  +89 ms] Updating files.
[        ] DevFS: Sync finished
[        ] Syncing files to device sdk gphone x86 arm... (completed in 95ms)
[        ] Synced 0.0MB.
[   +1 ms] <- accept
[   +3 ms] Connected to _flutterView/0xea744fb0.
[   +2 ms] Flutter run key commands.
[   +1 ms] r Hot reload. 
[        ] R Hot restart.
[        ] h List all available interactive commands.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[   +1 ms]  Running with sound null safety 
[   +1 ms] An Observatory debugger and profiler on sdk gphone x86 arm is available at: http://127.0.0.1:6992/abmwDk5dOWg=/
[ +634 ms] The Flutter DevTools debugger and profiler on sdk gphone x86 arm is available at: http://127.0.0.1:9101?uri=http://127.0.0.1:6992/abmwDk5dOWg=/
```

`flutter analyze` with `BottomNavLayout`

```
   info - Use key in widget constructors - lib\main.dart:8:7 - use_key_in_widget_constructors
   info - Avoid `print` calls in production code - lib\main.dart:15:13 - avoid_print
```

`flutter analyze` without `BottomNavLayout`

```
   info - Use key in widget constructors - lib\main.dart:7:7 - use_key_in_widget_constructors
   info - Avoid `print` calls in production code - lib\main.dart:14:13 - avoid_print
   info - Use key in widget constructors - lib\main.dart:24:7 - use_key_in_widget_constructors
   info - Avoid `print` calls in production code - lib\main.dart:31:5 - avoid_print
```

`flutter doctor -v`
```
[√] Flutter (Channel stable, 2.8.1, on Microsoft Windows [Version 10.0.19042.985], locale en-US)
    • Flutter version 2.8.1 at C:\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 77d935af4d (6 weeks ago), 2021-12-16 08:37:33 -0800
    • Engine revision 890a5fca2e
    • Dart version 2.15.1

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\ViraL\AppData\Local\Android\sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[√] VS Code (version 1.63.2)
    • VS Code at C:\Users\ViraL\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension can be installed from:
       https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[√] Connected device (3 available)
    • sdk gphone x86 arm (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Chrome (web)                • chrome        • web-javascript • Google Chrome 97.0.4692.99
    • Edge (web)                  • edge          • web-javascript • Microsoft Edge 97.0.1072.69

• No issues found!
```

</details>