diff --git a/flutter_showcase_app/android/app/build.gradle b/flutter_showcase_app/android/app/build.gradle
index 90c405637e0a1c4bdd0af7d74fc74538fba83075..f4666334a754e2761239fe865a12b046e4c98fb1 100644
--- a/flutter_showcase_app/android/app/build.gradle
+++ b/flutter_showcase_app/android/app/build.gradle
@@ -41,7 +41,7 @@ android {
         applicationId "com.OlavBjorlykke"
         minSdkVersion 16
         targetSdkVersion 28
-        versionCode 2
+        versionCode 4
         versionName flutterVersionName
     }
 
diff --git a/flutter_showcase_app/android/app/release/app-release.aab b/flutter_showcase_app/android/app/release/app-release.aab
index 287ef543e31a6780235e0867d810d659c2131e62..1227d3a62806edd30fae148b449fa98c1a92b4fe 100644
Binary files a/flutter_showcase_app/android/app/release/app-release.aab and b/flutter_showcase_app/android/app/release/app-release.aab differ
diff --git a/flutter_showcase_app/android/app/src/main/AndroidManifest.xml b/flutter_showcase_app/android/app/src/main/AndroidManifest.xml
index 18441363922417e50777d8f85111845c8a9fb66b..5b414795162565906e01d6dc669ee7281e37cce9 100644
--- a/flutter_showcase_app/android/app/src/main/AndroidManifest.xml
+++ b/flutter_showcase_app/android/app/src/main/AndroidManifest.xml
@@ -6,6 +6,7 @@
          additional functionality it is fine to subclass or reimplement
          FlutterApplication and put your custom class here. -->
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.INTERNET" />
     <application
         android:name="io.flutter.app.FlutterApplication"
         android:label="OlavBjorlykke"
diff --git a/flutter_showcase_app/lib/screens/cv_screen.dart b/flutter_showcase_app/lib/screens/cv_screen.dart
index b572f8d2b0f63608ba8f2c6cfac54336aaf00b14..e5120933aa8b4b3cc1ee63ce09c8c1e0347e83ee 100644
--- a/flutter_showcase_app/lib/screens/cv_screen.dart
+++ b/flutter_showcase_app/lib/screens/cv_screen.dart
@@ -1,4 +1,7 @@
 import 'package:flutter/material.dart';
+import 'package:flutter_phone_state/flutter_phone_state.dart';
+import 'package:flutter_email_sender/flutter_email_sender.dart';
+
 
 
 class CVScreen extends StatefulWidget {
@@ -7,6 +10,8 @@ class CVScreen extends StatefulWidget {
 }
 
 class _CVScreenState extends State<CVScreen> {
+
+
   @override
   Widget build(BuildContext context) {
     return Scaffold(
@@ -38,14 +43,16 @@ class _CVScreenState extends State<CVScreen> {
             ),
             Text(
               "Olav Bjørlykke",
+              textAlign: TextAlign.center,
               style: TextStyle(
                 color: Colors.white,
                 fontSize: 40,
-                fontFamily: 'fasterOne',
+                fontFamily: 'fasterOne'
               ),
             ),
             Text(
               "BRA KAR",
+              textAlign: TextAlign.center,
               style: TextStyle(
                 color: Colors.orange.shade100,
                 fontSize: 30,
@@ -65,17 +72,24 @@ class _CVScreenState extends State<CVScreen> {
               margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),
               child: Padding(
                 padding: const EdgeInsets.all(5.0),
-                child: ListTile(
-                  leading: Icon(
-                      Icons.phone,
-                      color: Colors.orangeAccent
-                  ),
-                  title:Text(
-                    "99208803",
-                    style: TextStyle(
-                      color: Colors.orangeAccent,
-                      fontFamily: "SourceSansPro",
-                      fontSize: 25,
+                child: GestureDetector(
+                  onTap:(){
+                    FlutterPhoneState.startPhoneCall('+4799208803');
+                  },
+                  child: ListTile(
+                    leading: Container(
+                      child: Icon(
+                          Icons.phone,
+                          color: Colors.orangeAccent
+                      ),
+                    ),
+                    title:Text(
+                      "99208803",
+                      style: TextStyle(
+                        color: Colors.orangeAccent,
+                        fontFamily: "SourceSansPro",
+                        fontSize: 20,
+                      ),
                     ),
                   ),
                 ),
@@ -86,17 +100,28 @@ class _CVScreenState extends State<CVScreen> {
               margin: EdgeInsets.symmetric(vertical: 10, horizontal: 25),
               child: Padding(
                 padding: const EdgeInsets.all(5.0),
-                child: ListTile(
-                  leading: Icon(
-                      Icons.mail_outline,
-                      color: Colors.orangeAccent
-                  ),
-                  title: Text(
-                    " olavsbj@stud.ntnu.no",
-                    style: TextStyle(
-                      color: Colors.orangeAccent,
-                      fontFamily: "SourceSansPro",
-                      fontSize: 25,
+                child: GestureDetector(
+                  onTap:(){
+                    FlutterEmailSender.send(
+                      Email(
+                        recipients: ['olavbj@gmail.com'],
+                        subject: 'Kontakt Olav',
+                        body: 'Hei Olav, jeg tar kontakt fra appen din'
+                      ),
+                    );
+                  },
+                  child: ListTile(
+                    leading: Icon(
+                        Icons.mail_outline,
+                        color: Colors.orangeAccent
+                    ),
+                    title: Text(
+                      " olavsbj@stud.ntnu.no",
+                      style: TextStyle(
+                        color: Colors.orangeAccent,
+                        fontFamily: "SourceSansPro",
+                        fontSize: 20,
+                      ),
                     ),
                   ),
                 ),
diff --git a/flutter_showcase_app/lib/screens/home_screen.dart b/flutter_showcase_app/lib/screens/home_screen.dart
index 2bf1d1d91f77567b4c3a416011d3e0bd4ced3fea..7a654666af39bab0853abdf3a6930d2a9e3f1d26 100644
--- a/flutter_showcase_app/lib/screens/home_screen.dart
+++ b/flutter_showcase_app/lib/screens/home_screen.dart
@@ -3,9 +3,11 @@ import 'package:flutter/material.dart';
 import '../utilities/button_navigator.dart';
 import 'cv_screen.dart';
 import 'ship_screen.dart';
-import 'weather_screen.dart';
+import '../unused/weather_screen.dart';
 import '../utilities/constants.dart';
 import '../services/location_data.dart';
+import 'second_weather_screen.dart';
+import 'package:animated_text_kit/animated_text_kit.dart';
 
 class HomeScreen extends StatefulWidget {
   @override
@@ -34,31 +36,28 @@ class _HomeScreenState extends State<HomeScreen> {
           crossAxisAlignment: CrossAxisAlignment.stretch,
           children: <Widget>[
             Center(
-              child: Text(
-                'En app av Olav Bjørlykke',
-                style: kHomeScreenStyle,
+              child: TyperAnimatedTextKit(
+                text: ['En app av Olav Bjørlykke'],
+                textStyle: kHomeScreenStyle,
+                isRepeatingAnimation: false,
+                speed: Duration(milliseconds: 100),
               ),
             ),
             ButtonNavigator(
               buttonText: 'Kontaktinfo til  Olav',
+              textFontSize: 20,
               screen: CVScreen(),
             ),
-            RaisedButton(
-                color: Colors.transparent,
-                padding: EdgeInsets.all(20),
-                child: Text(
-                    'Se været',
-                    style: TextStyle(color: Colors.white, fontSize: 20)
-                ),
 
-              onPressed: (){
-                LocationData locationData = LocationData(context);
-                locationData.getCurrentLocationData();
-              }
-            ),
             ButtonNavigator(
               buttonText:'Beregn motstand på skip',
+              textFontSize: 20,
               screen: ShipScreen(),
+            ),
+            ButtonNavigator(
+              buttonText:'Se været',
+              textFontSize: 20,
+              screen: SecondWeatherScreen(),
             )
           ],
         ),
diff --git a/flutter_showcase_app/lib/screens/second_weather_screen.dart b/flutter_showcase_app/lib/screens/second_weather_screen.dart
new file mode 100644
index 0000000000000000000000000000000000000000..d0093bf4c3a18cc0855cf7fb1ebffaf840e26042
--- /dev/null
+++ b/flutter_showcase_app/lib/screens/second_weather_screen.dart
@@ -0,0 +1,115 @@
+import 'package:flutter/material.dart';
+import 'package:flutter/cupertino.dart';
+import 'package:flutter_spinkit/flutter_spinkit.dart';
+import '../services/weather.dart';
+import '../services/weather_recomandation.dart';
+import '../services/location_data.dart';
+import '../utilities/constants.dart';
+
+class SecondWeatherScreen extends StatefulWidget {
+  @override
+  _SecondWeatherScreenState createState() => _SecondWeatherScreenState();
+}
+
+class _SecondWeatherScreenState extends State<SecondWeatherScreen> {
+
+  Weather weatherModel;
+  WeatherRecomandation recomandation;
+  bool loading;
+
+  getWeatherData()async{
+    weatherModel = Weather(await LocationData(context).getCurrentWeatherData());
+    recomandation =  WeatherRecomandation(weatherModel.temperature);
+    loading = false;
+    setState(() {
+
+    });
+  }
+
+  initState(){
+    super.initState();
+    loading = true;
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    if(loading == true){
+      getWeatherData();
+    return Container(
+      decoration: BoxDecoration(
+        image: DecorationImage(
+          image: AssetImage('images/foss.jpg'),
+          fit: BoxFit.cover,
+          colorFilter: ColorFilter.mode(
+              Colors.white.withOpacity(0.8), BlendMode.dstATop),
+        ),
+      ),
+      child: Expanded(
+        child: Center(
+          child: SpinKitChasingDots(
+            color: Colors.white,
+          )
+        ),
+      )
+    );
+    } else {
+      return Container(
+        decoration: BoxDecoration(
+          image: DecorationImage(
+            image: AssetImage('images/foss.jpg'),
+            fit: BoxFit.cover,
+            colorFilter: ColorFilter.mode(
+                Colors.white.withOpacity(0.8), BlendMode.dstATop),
+          ),
+        ),
+        child: Scaffold(
+          backgroundColor: Colors.transparent,
+          body: Container(
+            margin: EdgeInsets.all(5),
+            child: Column(
+              mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+              crossAxisAlignment: CrossAxisAlignment.stretch,
+              children: <Widget>[
+                SizedBox(
+                  height: 20,
+                ),
+                Row(
+                  children: <Widget>[
+                    FlatButton(
+                      child: Icon(Icons.keyboard_return, color: Colors.white),
+                      onPressed: () {
+                        Navigator.pop(context);
+                      },
+                    ),
+                  ],
+                ),
+                Expanded(
+                  child: Text(
+                    'Det er ${weatherModel.temperature.toString()}° ved ${weatherModel.city} i dag',
+                    style: kWeatherScreenStyle,
+                  ),
+                ),
+                Expanded(
+                  child: Text(
+                    'Det er meldt: \n' + weatherModel.description,
+                    style: kWeatherScreenStyle,
+                    textAlign: TextAlign.right,
+                  ),
+                ),
+                Expanded(
+                  child: Text(
+                    recomandation.getRecomandation(),
+                    style: kWeatherScreenStyle,
+                  ),
+                ),
+              ],
+            ),
+          ),
+        ),
+      );
+    }
+  }
+}
+
+
+
diff --git a/flutter_showcase_app/lib/screens/ship_screen.dart b/flutter_showcase_app/lib/screens/ship_screen.dart
index f73352b046c34fa291d4116d193f2a5927881337..5b5836d798edc9f0fea5f11a35015b9cea60bf13 100644
--- a/flutter_showcase_app/lib/screens/ship_screen.dart
+++ b/flutter_showcase_app/lib/screens/ship_screen.dart
@@ -39,6 +39,7 @@ class _ShipScreenState extends State<ShipScreen> {
           crossAxisAlignment: CrossAxisAlignment.stretch,
           children: <Widget>[
             Expanded(
+              flex: 5,
               child: ReusableCard(
                 cardChild: Container(
                   margin: EdgeInsets.all(5),
@@ -50,6 +51,7 @@ class _ShipScreenState extends State<ShipScreen> {
               ),
             ),
             Expanded(
+              flex: 5,
               child: ReusableCard(
                   cardChild: Column(
                 mainAxisAlignment: MainAxisAlignment.center,
@@ -83,6 +85,7 @@ class _ShipScreenState extends State<ShipScreen> {
               )),
             ),
             Expanded(
+              flex: 5,
               child: Row(
                 children: <Widget>[
                   Expanded(
@@ -164,10 +167,14 @@ class _ShipScreenState extends State<ShipScreen> {
                 ],
               ),
             ),
-            ButtonNavigator(
-              color: Colors.red.shade700,
-              buttonText: 'KALKULER',
-              screen: ShipCalculationScreen(shipLength: length, shipVelocity: velocity, shipBlockCoeficient: blockCoefecient,),
+            Expanded(
+              flex: 2,
+              child: ButtonNavigator(
+                textFontSize: 14,
+                color: Colors.red.shade700,
+                buttonText: 'KALKULER',
+                screen: ShipCalculationScreen(shipLength: length, shipVelocity: velocity, shipBlockCoeficient: blockCoefecient,),
+              ),
             ),
           ],
         ));
diff --git a/flutter_showcase_app/lib/services/location_data.dart b/flutter_showcase_app/lib/services/location_data.dart
index 1c7e02334a7a821bbcecb92f7309b345ebf1b378..d2d35fc2c022903993fbb9bfe650d9e86a3b5ee4 100644
--- a/flutter_showcase_app/lib/services/location_data.dart
+++ b/flutter_showcase_app/lib/services/location_data.dart
@@ -1,37 +1,48 @@
 import 'package:OlavBjorlykke/services/geolocater.dart';
 import 'package:flutter/material.dart';
-import '../screens/weather_screen.dart';
+import '../unused/weather_screen.dart';
 import '../services/network_datacall.dart';
 import '../utilities/constants.dart';
 import 'package:flutter_spinkit/flutter_spinkit.dart';
 
-class LocationData{
+class LocationData {
   LocationData(this.context);
 
   var context;
   Geolocater location;
   dynamic weatherData;
 
-  Future getCurrentLocationData()async{
-    if(location == null) {
+  Future getCurrentWeatherData() async {
+    if (location == null) {
       Geolocater location = Geolocater();
       await location.getCurrentLocation();
 
       NetworkDatacall datacall = NetworkDatacall(
-          'https://api.openweathermap.org/data/2.5/weather?lat=${location
-              .latitude}&lon=${location
-              .longtitude}&appid=$OpenWeatherMapApiKey&units=metric&lang=no'
-      );
+          'https://api.openweathermap.org/data/2.5/weather?lat=${location.latitude}&lon=${location.longtitude}&appid=$OpenWeatherMapApiKey&units=metric&lang=no');
+
+      weatherData = await datacall.getData();
+
+      return weatherData;
+    }
+  }
+
+  Future getCurrentLocationData() async {
+    if (location == null) {
+      Geolocater location = Geolocater();
+      await location.getCurrentLocation();
+
+      NetworkDatacall datacall = NetworkDatacall(
+          'https://api.openweathermap.org/data/2.5/weather?lat=${location.latitude}&lon=${location.longtitude}&appid=$OpenWeatherMapApiKey&units=metric&lang=no');
 
       weatherData = await datacall.getData();
 
       Navigator.push(context, MaterialPageRoute(builder: (context) {
         return WeatherScreen(weatherData);
       }));
-    } else{
+    } else {
       Navigator.push(context, MaterialPageRoute(builder: (context) {
         return WeatherScreen(weatherData);
       }));
     }
   }
-}
\ No newline at end of file
+}
diff --git a/flutter_showcase_app/lib/screens/weather_screen.dart b/flutter_showcase_app/lib/unused/weather_screen.dart
similarity index 94%
rename from flutter_showcase_app/lib/screens/weather_screen.dart
rename to flutter_showcase_app/lib/unused/weather_screen.dart
index 0afca81226aca21132dfe32793e539ee3e073585..fa1b25b0ccd18988541e0731992edc5807c37f61 100644
--- a/flutter_showcase_app/lib/screens/weather_screen.dart
+++ b/flutter_showcase_app/lib/unused/weather_screen.dart
@@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
 import '../services/geolocater.dart';
 import '../services/weather.dart';
 import '../utilities/constants.dart';
-import 'home_screen.dart';
+import '../screens/home_screen.dart';
 import '../services/weather_recomandation.dart';
 
 class WeatherScreen extends StatefulWidget {
@@ -85,6 +85,3 @@ class _WeatherScreenState extends State<WeatherScreen> {
     );
   }
 }
-
-//TODO lag modell for å gi tilbakemelding på været
-//TODO Finn ut hvor kontoret til MGMT er og last in værdate for dem også
diff --git a/flutter_showcase_app/lib/utilities/button_navigator.dart b/flutter_showcase_app/lib/utilities/button_navigator.dart
index cbfadbe8f2360392821a69c5f51606ad5f92f242..74703d503faa52c7a9e1af19c175b683e881e3e2 100644
--- a/flutter_showcase_app/lib/utilities/button_navigator.dart
+++ b/flutter_showcase_app/lib/utilities/button_navigator.dart
@@ -3,11 +3,12 @@ import 'package:flutter/material.dart';
 
 class ButtonNavigator extends StatelessWidget {
 
-  ButtonNavigator({this.buttonText, this.screen, this.color = Colors.transparent});
+  ButtonNavigator({this.buttonText, this.screen, this.color = Colors.transparent, this.textFontSize});
 
   final String buttonText;
   final screen;
   final Color color;
+  final double textFontSize;
 
   @override
   Widget build(BuildContext context) {
@@ -15,10 +16,10 @@ class ButtonNavigator extends StatelessWidget {
       margin: EdgeInsets.all(15),
       child: RaisedButton(
         color: color,
-        padding: EdgeInsets.all(20),
+        padding: EdgeInsets.all(10),
         child: Text(
             buttonText,
-            style: TextStyle(color: Colors.white, fontSize: 20)
+            style: TextStyle(color: Colors.white, fontSize: textFontSize)
         ),
         onPressed: (){
           Navigator.push(context, MaterialPageRoute(builder:(context){
diff --git a/flutter_showcase_app/local_history.patch b/flutter_showcase_app/local_history.patch
new file mode 100644
index 0000000000000000000000000000000000000000..3251d49eadbd1dcd02edd09e51917a5b5280e0ab
--- /dev/null
+++ b/flutter_showcase_app/local_history.patch
@@ -0,0 +1,175 @@
+Index: lib/screens/weather_screen.dart
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+--- lib/screens/weather_screen.dart	(date 1590961155980)
++++ lib/screens/weather_screen.dart	(date 1590961155980)
+@@ -5,12 +5,9 @@
+ import '../utilities/constants.dart';
+ import 'home_screen.dart';
+ import '../services/weather_recomandation.dart';
++import '../services/location_data.dart';
+ 
+ class WeatherScreen extends StatefulWidget {
+-  WeatherScreen(this.weatherData);
+-
+-  final dynamic weatherData;
+-
+   @override
+   _WeatherScreenState createState() => _WeatherScreenState();
+ }
+@@ -18,71 +15,97 @@
+ class _WeatherScreenState extends State<WeatherScreen> {
+   Weather weatherModel;
+   WeatherRecomandation recomandation;
++  bool textVisible;
+ 
+   @override
+   void initState() {
+-    // TODO: implement initState
+     super.initState();
+-    weatherModel = Weather(widget.weatherData);
++    textVisible = false;
++  }
++
++  Future getWeatherData() async {
++    weatherModel = await LocationData(context).getCurrentLocationData();
+     recomandation = WeatherRecomandation(weatherModel.temperature);
++    textVisible = true;
++    print('data recieved');
+   }
+ 
+   @override
+   Widget build(BuildContext context) {
+-    return Container(
+-      decoration: BoxDecoration(
+-        image: DecorationImage(
+-          image: AssetImage('images/coastal_picture.jpg'),
+-          fit: BoxFit.cover,
+-          colorFilter: ColorFilter.mode(
+-              Colors.white.withOpacity(0.8), BlendMode.dstATop),
+-        ),
+-      ),
+-      child: Scaffold(
+-        backgroundColor: Colors.transparent,
+-        body: Container(
+-          margin: EdgeInsets.all(5),
+-          child: Column(
+-            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
+-            crossAxisAlignment: CrossAxisAlignment.stretch,
+-            children: <Widget>[
+-              SizedBox(
+-                height: 20,
+-              ),
+-              Row(
+-                children: <Widget>[
+-                  FlatButton(
+-                    child: Icon(Icons.keyboard_return, color: Colors.white),
+-                    onPressed: () {
+-                      Navigator.pop(context);
+-                    },
+-                  ),
+-                ],
+-              ),
+-              Expanded(
+-                child: Text(
+-                  'Det er ${weatherModel.temperature.toString()}° ved ${weatherModel.city} i dag',
+-                  style: kWeatherScreenStyle,
+-                ),
+-              ),
+-              Expanded(
+-                child: Text(
+-                  'Det er meldt: \n' + weatherModel.description,
+-                  style: kWeatherScreenStyle,
+-                  textAlign: TextAlign.right,
+-                ),
+-              ),
+-              Expanded(
+-                child: Text(
+-                  recomandation.getRecomandation(),
+-                  style: kWeatherScreenStyle,
+-                ),
+-              ),
+-            ],
+-          ),
+-        ),
+-      ),
+-    );
++    if (textVisible) {
++      return Container(
++        decoration: BoxDecoration(
++          image: DecorationImage(
++            image: AssetImage('images/foss.jpg'),
++            fit: BoxFit.cover,
++            colorFilter: ColorFilter.mode(
++                Colors.white.withOpacity(0.8), BlendMode.dstATop),
++          ),
++        ),
++        child: Visibility(
++          visible: textVisible,
++          replacement: Text('placeholder'),
++          child: Scaffold(
++            backgroundColor: Colors.transparent,
++            body: Container(
++              margin: EdgeInsets.all(5),
++              child: Column(
++                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
++                crossAxisAlignment: CrossAxisAlignment.stretch,
++                children: <Widget>[
++                  SizedBox(
++                    height: 20,
++                  ),
++                  Row(
++                    children: <Widget>[
++                      FlatButton(
++                        child: Icon(Icons.keyboard_return, color: Colors.white),
++                        onPressed: () {
++                          Navigator.pop(context);
++                        },
++                      ),
++                    ],
++                  ),
++                  Expanded(
++                    child: Text(
++                      'Det er ${weatherModel.temperature.toString()}° ved ${weatherModel.city} i dag',
++                      style: kWeatherScreenStyle,
++                    ),
++                  ),
++                  Expanded(
++                    child: Text(
++                      'Det er meldt: \n' + weatherModel.description,
++                      style: kWeatherScreenStyle,
++                      textAlign: TextAlign.right,
++                    ),
++                  ),
++                  Expanded(
++                    child: Text(
++                      recomandation.getRecomandation(),
++                      style: kWeatherScreenStyle,
++                    ),
++                  ),
++                ],
++              ),
++            ),
++          ),
++        ),
++      );
++    } else {
++      setState(() {
++        getWeatherData();
++      });
++      return Container(
++        decoration: BoxDecoration(
++          image: DecorationImage(
++            image: AssetImage('images/foss.jpg'),
++            fit: BoxFit.cover,
++            colorFilter: ColorFilter.mode(
++                Colors.white.withOpacity(0.8), BlendMode.dstATop),
++          ),
++        ),
++      );
++    }
+   }
+ }
+ 
diff --git a/flutter_showcase_app/pubspec.lock b/flutter_showcase_app/pubspec.lock
index 848fd0271206e5cac272672da59bd2be7bd5243f..ebcc9d5cc8f5cef17a96243446809970d9bf4e83 100644
--- a/flutter_showcase_app/pubspec.lock
+++ b/flutter_showcase_app/pubspec.lock
@@ -1,6 +1,13 @@
 # Generated by pub
 # See https://dart.dev/tools/pub/glossary#lockfile
 packages:
+  animated_text_kit:
+    dependency: "direct main"
+    description:
+      name: animated_text_kit
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.2.0"
   archive:
     dependency: transitive
     description:
@@ -76,6 +83,20 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
+  flutter_email_sender:
+    dependency: "direct main"
+    description:
+      name: flutter_email_sender
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "3.0.1"
+  flutter_phone_state:
+    dependency: "direct main"
+    description:
+      name: flutter_phone_state
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.5.9"
   flutter_spinkit:
     dependency: "direct main"
     description:
@@ -88,6 +109,11 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
+  flutter_web_plugins:
+    dependency: transitive
+    description: flutter
+    source: sdk
+    version: "0.0.0"
   font_awesome_flutter:
     dependency: "direct main"
     description:
@@ -137,6 +163,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.5"
+  logging:
+    dependency: transitive
+    description:
+      name: logging
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.11.4"
   matcher:
     dependency: transitive
     description:
@@ -172,6 +205,27 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "2.4.0"
+  platform_detect:
+    dependency: transitive
+    description:
+      name: platform_detect
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.4.0"
+  plugin_platform_interface:
+    dependency: transitive
+    description:
+      name: plugin_platform_interface
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.2"
+  pub_semver:
+    dependency: transitive
+    description:
+      name: pub_semver
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.4.4"
   quiver:
     dependency: transitive
     description:
@@ -205,6 +259,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.0"
+  stream_transform:
+    dependency: transitive
+    description:
+      name: stream_transform
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.2.0"
   string_scanner:
     dependency: transitive
     description:
@@ -233,6 +294,41 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.1.6"
+  url_launcher:
+    dependency: transitive
+    description:
+      name: url_launcher
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "5.4.10"
+  url_launcher_macos:
+    dependency: transitive
+    description:
+      name: url_launcher_macos
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.0.1+7"
+  url_launcher_platform_interface:
+    dependency: transitive
+    description:
+      name: url_launcher_platform_interface
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "1.0.7"
+  url_launcher_web:
+    dependency: transitive
+    description:
+      name: url_launcher_web
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.1.1+6"
+  uuid:
+    dependency: transitive
+    description:
+      name: uuid
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.4"
   vector_math:
     dependency: transitive
     description:
diff --git a/flutter_showcase_app/pubspec.yaml b/flutter_showcase_app/pubspec.yaml
index 840132b31521dc01039f5013394e652c6867167c..c5f9201b4da637db24dd0adcc0e127f7c7a40a53 100644
--- a/flutter_showcase_app/pubspec.yaml
+++ b/flutter_showcase_app/pubspec.yaml
@@ -5,12 +5,15 @@ description: A new Flutter application.
 # pub.dev using `pub publish`. This is preferred for private packages.
 publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 
-version: 1.0.0+1
+version: 3.0.3+3
 
 environment:
   sdk: ">=2.7.0 <3.0.0"
 
 dependencies:
+  animated_text_kit: ^2.2.0
+  flutter_email_sender: ^3.0.1
+  flutter_phone_state: ^0.5.8
   geolocator: ^5.3.1
   http: ^0.12.1
   font_awesome_flutter: ^8.8.1