x1ongzhu há 6 anos atrás
pai
commit
0a93f97eb5

BIN
fonts/AgencyFB.ttf


+ 0 - 0
fonts/DINEngschrift-Regular.ttf → fonts/DINEngschrift.ttf


+ 211 - 2
ios/Runner.xcodeproj/project.pbxproj

@@ -12,6 +12,7 @@
 		3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
 		3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
 		3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+		59D1D864368358F4A8721AF2 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BA0677B4608E570E7167893D /* libPods-Runner.a */; };
 		9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
 		9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
 		9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
@@ -22,6 +23,65 @@
 		97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
 /* End PBXBuildFile section */
 
+/* Begin PBXContainerItemProxy section */
+		3A1FA3A82227E5F700A21AB2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 2D6643C8BFB9CEDF451A032AE4D0CB95;
+			remoteInfo = file_picker;
+		};
+		3A1FA3AA2227E5F700A21AB2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = BA50879E5560E2C030692AEAA5CC4918;
+			remoteInfo = flutter_picker;
+		};
+		3A1FA3AC2227E5F700A21AB2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 05090F21ACFFF66EE5BDE52516876D0B;
+			remoteInfo = image_picker;
+		};
+		3A1FA3AE2227E5F700A21AB2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 636F0549800AF6C6E65D56E59F5AD58F;
+			remoteInfo = package_info;
+		};
+		3A1FA3B02227E5F700A21AB2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 8F1AF7CC2B6B70473AF604A236DC5E8A;
+			remoteInfo = path_provider;
+		};
+		3A1FA3B22227E5F700A21AB2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = E95408BF932023EB586112EFBB46B6DA;
+			remoteInfo = "Pods-Runner";
+		};
+		3A1FA3B42227E5F700A21AB2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = D7A2A0850DF7C68725F50CC3107EBAB2;
+			remoteInfo = shared_preferences;
+		};
+		3A1FA3B62227E5F700A21AB2 /* PBXContainerItemProxy */ = {
+			isa = PBXContainerItemProxy;
+			containerPortal = 3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */;
+			proxyType = 2;
+			remoteGlobalIDString = 95E97B35A9D0628445C0C8ADC84FE0E6;
+			remoteInfo = video_player;
+		};
+/* End PBXContainerItemProxy section */
+
 /* Begin PBXCopyFilesBuildPhase section */
 		9705A1C41CF9048500538489 /* Embed Frameworks */ = {
 			isa = PBXCopyFilesBuildPhase;
@@ -41,6 +101,7 @@
 		1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
 		1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
 		2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; };
+		3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Pods.xcodeproj; path = Pods/Pods.xcodeproj; sourceTree = "<group>"; };
 		3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
 		3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
 		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
@@ -55,6 +116,7 @@
 		97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		BA0677B4608E570E7167893D /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -64,12 +126,36 @@
 			files = (
 				9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
 				3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
+				59D1D864368358F4A8721AF2 /* libPods-Runner.a in Frameworks */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		3A1FA39E2227E5F700A21AB2 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				3A1FA3A92227E5F700A21AB2 /* libfile_picker.a */,
+				3A1FA3AB2227E5F700A21AB2 /* libflutter_picker.a */,
+				3A1FA3AD2227E5F700A21AB2 /* libimage_picker.a */,
+				3A1FA3AF2227E5F700A21AB2 /* libpackage_info.a */,
+				3A1FA3B12227E5F700A21AB2 /* libpath_provider.a */,
+				3A1FA3B32227E5F700A21AB2 /* libPods-Runner.a */,
+				3A1FA3B52227E5F700A21AB2 /* libshared_preferences.a */,
+				3A1FA3B72227E5F700A21AB2 /* libvideo_player.a */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		56680C4E882F3A67DA1EE96B /* Pods */ = {
+			isa = PBXGroup;
+			children = (
+				3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */,
+			);
+			name = Pods;
+			sourceTree = "<group>";
+		};
 		9740EEB11CF90186004384FC /* Flutter */ = {
 			isa = PBXGroup;
 			children = (
@@ -90,7 +176,8 @@
 				9740EEB11CF90186004384FC /* Flutter */,
 				97C146F01CF9000F007C117D /* Runner */,
 				97C146EF1CF9000F007C117D /* Products */,
-				CF3B75C9A7D2FA2A4C99F110 /* Frameworks */,
+				56680C4E882F3A67DA1EE96B /* Pods */,
+				CB7E8738452979DCB20A9079 /* Frameworks */,
 			);
 			sourceTree = "<group>";
 		};
@@ -126,6 +213,14 @@
 			name = "Supporting Files";
 			sourceTree = "<group>";
 		};
+		CB7E8738452979DCB20A9079 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				BA0677B4608E570E7167893D /* libPods-Runner.a */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
 /* End PBXGroup section */
 
 /* Begin PBXNativeTarget section */
@@ -133,12 +228,14 @@
 			isa = PBXNativeTarget;
 			buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
 			buildPhases = (
+				5E67D78478B747670650C046 /* [CP] Check Pods Manifest.lock */,
 				9740EEB61CF901F6004384FC /* Run Script */,
 				97C146EA1CF9000F007C117D /* Sources */,
 				97C146EB1CF9000F007C117D /* Frameworks */,
 				97C146EC1CF9000F007C117D /* Resources */,
 				9705A1C41CF9048500538489 /* Embed Frameworks */,
 				3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+				2FACFBD77CB70DC4DF6EC729 /* [CP] Embed Pods Frameworks */,
 			);
 			buildRules = (
 			);
@@ -160,6 +257,7 @@
 				TargetAttributes = {
 					97C146ED1CF9000F007C117D = {
 						CreatedOnToolsVersion = 7.3.1;
+						DevelopmentTeam = ZZNLMX7WU2;
 					};
 				};
 			};
@@ -174,6 +272,12 @@
 			mainGroup = 97C146E51CF9000F007C117D;
 			productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
 			projectDirPath = "";
+			projectReferences = (
+				{
+					ProductGroup = 3A1FA39E2227E5F700A21AB2 /* Products */;
+					ProjectRef = 3A1FA39D2227E5F700A21AB2 /* Pods.xcodeproj */;
+				},
+			);
 			projectRoot = "";
 			targets = (
 				97C146ED1CF9000F007C117D /* Runner */,
@@ -181,6 +285,65 @@
 		};
 /* End PBXProject section */
 
+/* Begin PBXReferenceProxy section */
+		3A1FA3A92227E5F700A21AB2 /* libfile_picker.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libfile_picker.a;
+			remoteRef = 3A1FA3A82227E5F700A21AB2 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		3A1FA3AB2227E5F700A21AB2 /* libflutter_picker.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libflutter_picker.a;
+			remoteRef = 3A1FA3AA2227E5F700A21AB2 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		3A1FA3AD2227E5F700A21AB2 /* libimage_picker.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libimage_picker.a;
+			remoteRef = 3A1FA3AC2227E5F700A21AB2 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		3A1FA3AF2227E5F700A21AB2 /* libpackage_info.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libpackage_info.a;
+			remoteRef = 3A1FA3AE2227E5F700A21AB2 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		3A1FA3B12227E5F700A21AB2 /* libpath_provider.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libpath_provider.a;
+			remoteRef = 3A1FA3B02227E5F700A21AB2 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		3A1FA3B32227E5F700A21AB2 /* libPods-Runner.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = "libPods-Runner.a";
+			remoteRef = 3A1FA3B22227E5F700A21AB2 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		3A1FA3B52227E5F700A21AB2 /* libshared_preferences.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libshared_preferences.a;
+			remoteRef = 3A1FA3B42227E5F700A21AB2 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+		3A1FA3B72227E5F700A21AB2 /* libvideo_player.a */ = {
+			isa = PBXReferenceProxy;
+			fileType = archive.ar;
+			path = libvideo_player.a;
+			remoteRef = 3A1FA3B62227E5F700A21AB2 /* PBXContainerItemProxy */;
+			sourceTree = BUILT_PRODUCTS_DIR;
+		};
+/* End PBXReferenceProxy section */
+
 /* Begin PBXResourcesBuildPhase section */
 		97C146EC1CF9000F007C117D /* Resources */ = {
 			isa = PBXResourcesBuildPhase;
@@ -198,6 +361,28 @@
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
+		2FACFBD77CB70DC4DF6EC729 /* [CP] Embed Pods Frameworks */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+				"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
+				"${PODS_ROOT}/../.symlinks/flutter/ios/Flutter.framework",
+			);
+			name = "[CP] Embed Pods Frameworks";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+				"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+			showEnvVarsInLog = 0;
+		};
 		3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -212,6 +397,28 @@
 			shellPath = /bin/sh;
 			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
 		};
+		5E67D78478B747670650C046 /* [CP] Check Pods Manifest.lock */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
+			);
+			name = "[CP] Check Pods Manifest.lock";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+			showEnvVarsInLog = 0;
+		};
 		9740EEB61CF901F6004384FC /* Run Script */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -315,7 +522,7 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
-				DEVELOPMENT_TEAM = S8QB4VV633;
+				DEVELOPMENT_TEAM = ZZNLMX7WU2;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
@@ -441,6 +648,7 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+				DEVELOPMENT_TEAM = ZZNLMX7WU2;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",
@@ -464,6 +672,7 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
+				DEVELOPMENT_TEAM = ZZNLMX7WU2;
 				ENABLE_BITCODE = NO;
 				FRAMEWORK_SEARCH_PATHS = (
 					"$(inherited)",

+ 8 - 0
ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>

+ 3 - 0
ios/Runner.xcworkspace/contents.xcworkspacedata

@@ -4,4 +4,7 @@
    <FileRef
       location = "group:Runner.xcodeproj">
    </FileRef>
+   <FileRef
+      location = "group:Pods/Pods.xcodeproj">
+   </FileRef>
 </Workspace>

+ 8 - 0
ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>

+ 8 - 0
ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>BuildSystemType</key>
+	<string>Original</string>
+</dict>
+</plist>

+ 2 - 2
lib/pages/HomePage.dart

@@ -116,7 +116,7 @@ class _HomePageState extends State<HomePage> {
                                               style: TextStyle(
                                                 color: Colors.white,
                                                 fontSize: 68,
-                                                fontFamily: 'DINEngschrift',
+                                                fontFamily: 'AgencyFB',
                                               ),
                                             ),
                                             Text(
@@ -124,7 +124,7 @@ class _HomePageState extends State<HomePage> {
                                               style: TextStyle(
                                                 color: Colors.white,
                                                 fontSize: 36,
-                                                fontFamily: 'DINEngschrift',
+                                                fontFamily: 'AgencyFB',
                                               ),
                                             )
                                           ],

+ 53 - 136
lib/pages/roomInfo.dart

@@ -20,8 +20,7 @@ class RoomInfo extends StatefulWidget {
   RoomInfoState createState() => RoomInfoState();
 }
 
-class RoomInfoState extends State<RoomInfo>
-    with SingleTickerProviderStateMixin {
+class RoomInfoState extends State<RoomInfo> with SingleTickerProviderStateMixin {
   List<Map> tabList;
   TabController mController;
   Map roomInfo;
@@ -33,8 +32,7 @@ class RoomInfoState extends State<RoomInfo>
 //获取房间信息
   void getRoomInfo() async {
     Toast.show(context, '加载中', -1, 'loading');
-    Result res =
-        await HttpManager.get("houseInfo/getOne", data: {"id": widget.roomId});
+    Result res = await HttpManager.get("houseInfo/getOne", data: {"id": widget.roomId});
     Toast.hide();
     if (res.success) {
       setState(() {
@@ -50,8 +48,7 @@ class RoomInfoState extends State<RoomInfo>
 //隔一秒检查是否开始
   getNowStatus() async {
     await Future.delayed(const Duration(seconds: 1));
-    Result res = await HttpManager.get("houseInfo/getPlayerNum",
-        data: {"id": widget.roomId});
+    Result res = await HttpManager.get("houseInfo/getPlayerNum", data: {"id": widget.roomId});
     if (res.success) {
       if (houseInfo.statusFlag == 0 && res.data["statusFlag"] == 2) {
         showStart();
@@ -72,8 +69,7 @@ class RoomInfoState extends State<RoomInfo>
     final result = await Navigator.of(context).push(PageRouteBuilder(
         opaque: false,
         transitionDuration: Duration(milliseconds: 300),
-        transitionsBuilder: (BuildContext context, Animation<double> animation,
-            Animation<double> secondaryAnimation, Widget child) {
+        transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) {
           return FadeTransition(
             opacity: CurvedAnimation(parent: animation, curve: Curves.linear),
             child: child,
@@ -95,11 +91,8 @@ class RoomInfoState extends State<RoomInfo>
     if (res.success) {
       if (data['statusFlag'] == 2) {
         //加入比赛成功,开始录屏
-        bool success = await ScreenStreamPlugin.start(
-            'rtmp://49.4.66.233:1935/myapp/' +
-                playerInfo.userId.toString() +
-                '?playerInfoId=' +
-                playerInfo.id.toString());
+        bool success =
+            await ScreenStreamPlugin.start('rtmp://49.4.66.233:1935/myapp/' + playerInfo.userId.toString() + '?playerInfoId=' + playerInfo.id.toString());
         print('stream screen:' + success.toString());
         Future.delayed(Duration(milliseconds: 100), () => showSucessInfo());
       } else {
@@ -128,8 +121,7 @@ class RoomInfoState extends State<RoomInfo>
               child: new Text('完成比赛'),
               onPressed: () async {
                 Toast.show(context, '加载中', -1, 'loading');
-                HttpManager.post("playerInfo/update",
-                    data: {'id': playerInfo.id, 'statusFlag': 3});
+                HttpManager.post("playerInfo/update", data: {'id': playerInfo.id, 'statusFlag': 3});
                 bool success = await ScreenStreamPlugin.stop();
                 print('stop stream screen:' + success.toString());
                 Toast.hide();
@@ -176,10 +168,7 @@ class RoomInfoState extends State<RoomInfo>
 
 //检查加入信息
   checkJoinInfo() async {
-    Result res = await HttpManager.get("playerInfo/getOne", data: {
-      "userId": StoreProvider.of<AppState>(context).state.userInfo.id,
-      "houseId": widget.roomId
-    });
+    Result res = await HttpManager.get("playerInfo/getOne", data: {"userId": StoreProvider.of<AppState>(context).state.userInfo.id, "houseId": widget.roomId});
     if (res.success) {
       print(res.data);
       if (res.data == null) {
@@ -205,10 +194,7 @@ class RoomInfoState extends State<RoomInfo>
 //加入房间
   joinRoom() async {
     Toast.show(context, '加载中', -1, 'loading');
-    Result res = await HttpManager.post("houseInfo/join", data: {
-      "houseId": widget.roomId,
-      "userId": StoreProvider.of<AppState>(context).state.userInfo.id
-    });
+    Result res = await HttpManager.post("houseInfo/join", data: {"houseId": widget.roomId, "userId": StoreProvider.of<AppState>(context).state.userInfo.id});
     Toast.hide();
     if (res.success) {
       Toast.show(context, '加入成功', 1500, 'success');
@@ -238,8 +224,9 @@ class RoomInfoState extends State<RoomInfo>
       "白银": Color(0xFFAFCAD8),
       "青铜": Color(0xFFE18D50),
     };
-    getRoomInfo();
-    Future.delayed(Duration(milliseconds: 100), () {
+
+    Future.delayed(Duration.zero, () {
+      getRoomInfo();
       checkJoinInfo();
       // showBackDialog();
     });
@@ -258,7 +245,7 @@ class RoomInfoState extends State<RoomInfo>
     if (houseInfo != null) {
       status = houseInfo.statusFlag;
     }
-    
+
     return new WillPopScope(
       child: Scaffold(
         appBar: AppBar(
@@ -295,10 +282,7 @@ class RoomInfoState extends State<RoomInfo>
             color: BG_SUB_COLOR,
             child: TabBarView(
               controller: mController,
-              children: [
-                _firstPage(),
-                SecondPage(roomId: widget.roomId, status: status)
-              ],
+              children: [_firstPage(), SecondPage(roomId: widget.roomId, status: status)],
             )),
         floatingActionButton: _joinBtn(),
         floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
@@ -314,17 +298,11 @@ class RoomInfoState extends State<RoomInfo>
   Widget _firstPage() {
     Map houseLevelInfo = roomInfo.isNotEmpty ? roomInfo["houseLevelInfo"] : {};
 
-    String levelName = houseLevelInfo.containsKey("levelName")
-        ? houseLevelInfo["levelName"]
-        : '黄金';
+    String levelName = houseLevelInfo.containsKey("levelName") ? houseLevelInfo["levelName"] : '黄金';
 
-    int joinMoney =
-        houseLevelInfo.containsKey('feeRatio') && roomInfo.containsKey("bonus")
-            ? houseLevelInfo["feeRatio"] * roomInfo["bonus"]
-            : 0;
+    int joinMoney = houseLevelInfo.containsKey('feeRatio') && roomInfo.containsKey("bonus") ? houseLevelInfo["feeRatio"] * roomInfo["bonus"] : 0;
 
-    String topImg =
-        'http://images.liqucn.com/img/h22/h70/img_localize_8e824debdd9ee29522690f36680e2d8e_600x337.png';
+    String topImg = 'http://images.liqucn.com/img/h22/h70/img_localize_8e824debdd9ee29522690f36680e2d8e_600x337.png';
     int statuFlag = 0;
     if (houseInfo != null) {
       if (houseInfo.video != null) {
@@ -357,25 +335,16 @@ class RoomInfoState extends State<RoomInfo>
                           Container(
                             margin: EdgeInsets.only(left: 30, right: 8),
                             child: Text(
-                              roomInfo.containsKey("houseName")
-                                  ? roomInfo["houseName"]
-                                  : '',
-                              style: TextStyle(
-                                  color: Colors.white,
-                                  fontSize: 16,
-                                  fontWeight: FontWeight.w500),
+                              roomInfo.containsKey("houseName") ? roomInfo["houseName"] : '',
+                              style: TextStyle(color: Colors.white, fontSize: 16, fontWeight: FontWeight.w500),
                             ),
                           ),
                           Image.network(
-                            houseLevelInfo.containsKey("icon")
-                                ? houseLevelInfo["icon"]
-                                : '',
+                            houseLevelInfo.containsKey("icon") ? houseLevelInfo["icon"] : '',
                             width: 14,
                           ),
                           Text(
-                            houseLevelInfo.containsKey("levelName")
-                                ? houseLevelInfo["levelName"]
-                                : '',
+                            houseLevelInfo.containsKey("levelName") ? houseLevelInfo["levelName"] : '',
                             style: TextStyle(color: colorInfo[levelName]),
                           )
                         ],
@@ -383,9 +352,7 @@ class RoomInfoState extends State<RoomInfo>
                   Container(
                     margin: EdgeInsets.only(top: 6),
                     child: Text(
-                      roomInfo.containsKey('houseAbstract')
-                          ? roomInfo["houseAbstract"]
-                          : "",
+                      roomInfo.containsKey('houseAbstract') ? roomInfo["houseAbstract"] : "",
                       style: TextStyle(color: Color(0xFF9BA0AE), fontSize: 12),
                     ),
                   ),
@@ -397,17 +364,8 @@ class RoomInfoState extends State<RoomInfo>
                         width: 20,
                       ),
                       Text(
-                        (houseInfo != null
-                                ? houseInfo.playerNumber.toString()
-                                : '0') +
-                            '/' +
-                            (houseInfo != null
-                                ? houseInfo.maxNumber.toString()
-                                : '0'),
-                        style: TextStyle(
-                            fontSize: 14,
-                            fontWeight: FontWeight.w500,
-                            color: Color(0xFFB1B2C0)),
+                        (houseInfo != null ? houseInfo.playerNumber.toString() : '0') + '/' + (houseInfo != null ? houseInfo.maxNumber.toString() : '0'),
+                        style: TextStyle(fontSize: 14, fontWeight: FontWeight.w500, color: Color(0xFFB1B2C0)),
                       )
                     ],
                   ),
@@ -416,10 +374,7 @@ class RoomInfoState extends State<RoomInfo>
                     width: 200,
                     height: 40,
                     decoration: BoxDecoration(
-                      border: Border.all(
-                          width: 1,
-                          color: PRIMARY_COLOR,
-                          style: BorderStyle.solid),
+                      border: Border.all(width: 1, color: PRIMARY_COLOR, style: BorderStyle.solid),
                       borderRadius: BorderRadius.all(Radius.circular(2)),
                     ),
                     child: Row(
@@ -441,10 +396,7 @@ class RoomInfoState extends State<RoomInfo>
                           ),
                         ),
                         Text(
-                          'X' +
-                              (houseInfo != null
-                                  ? houseInfo.bonus.toString()
-                                  : '0'),
+                          'X' + (houseInfo != null ? houseInfo.bonus.toString() : '0'),
                           style: TextStyle(
                             color: PRIMARY_COLOR,
                             fontSize: 22,
@@ -458,14 +410,10 @@ class RoomInfoState extends State<RoomInfo>
                       ? Container(
                           width: double.infinity,
                           margin: EdgeInsets.only(top: 25, left: 15, right: 15),
-                          padding: EdgeInsets.only(
-                              top: 15, left: 15, right: 10, bottom: 15),
+                          padding: EdgeInsets.only(top: 15, left: 15, right: 10, bottom: 15),
                           decoration: BoxDecoration(
                               borderRadius: BorderRadius.only(
-                                  topLeft: Radius.circular(0),
-                                  topRight: Radius.circular(8),
-                                  bottomLeft: Radius.circular(8),
-                                  bottomRight: Radius.circular(8)),
+                                  topLeft: Radius.circular(0), topRight: Radius.circular(8), bottomLeft: Radius.circular(8), bottomRight: Radius.circular(8)),
                               gradient: LinearGradient(
                                 begin: Alignment.topRight,
                                 colors: [Color(0xFF464B6A), Color(0xFF35395E)],
@@ -492,16 +440,12 @@ class RoomInfoState extends State<RoomInfo>
   Widget _joinBtn() {
     int joinMoney = houseInfo != null ? houseInfo.houseLevel.entryCoin : 0;
     int statusFlag = houseInfo != null ? houseInfo.statusFlag : 1;
-     int playerStatus=playerInfo!=null?playerInfo.statusFlag:0;
+    int playerStatus = playerInfo != null ? playerInfo.statusFlag : 0;
     if (!isJoin && statusFlag == 0) {
       return Container(
         width: ScreenUtil().setWidth(375),
         height: 48 + ScreenUtil().setHeight(40),
-        padding: EdgeInsets.only(
-            top: ScreenUtil().setHeight(20),
-            bottom: ScreenUtil().setHeight(20),
-            left: 15,
-            right: 15),
+        padding: EdgeInsets.only(top: ScreenUtil().setHeight(20), bottom: ScreenUtil().setHeight(20), left: 15, right: 15),
         child: RaisedButton(
             textColor: Colors.white,
             child: Row(
@@ -515,20 +459,14 @@ class RoomInfoState extends State<RoomInfo>
                   margin: EdgeInsets.only(left: 6),
                   child: Text(
                     'X' + joinMoney.toString(),
-                    style: TextStyle(
-                        color: Colors.white,
-                        fontSize: 16,
-                        fontWeight: FontWeight.w500),
+                    style: TextStyle(color: Colors.white, fontSize: 16, fontWeight: FontWeight.w500),
                   ),
                 ),
                 Container(
                     margin: EdgeInsets.only(left: 20),
                     child: Text(
                       '加入房间',
-                      style: TextStyle(
-                          color: Colors.white,
-                          fontSize: 16,
-                          fontWeight: FontWeight.w500),
+                      style: TextStyle(color: Colors.white, fontSize: 16, fontWeight: FontWeight.w500),
                     ))
               ],
             ),
@@ -549,7 +487,7 @@ class RoomInfoState extends State<RoomInfo>
           onPressed: null,
         ),
       );
-    } else if (isJoin && statusFlag == 2 &&playerStatus==3) {
+    } else if (isJoin && statusFlag == 2 && playerStatus == 3) {
       return Container(
         width: double.infinity,
         padding: EdgeInsets.symmetric(horizontal: 15, vertical: 20),
@@ -611,8 +549,7 @@ class RankContentState extends State<RankContent> {
   List<PlayerInfo> topList = [];
   getTopList() async {
     Toast.show(context, '加载中', -1, 'loading');
-    Result res = await HttpManager.get("playerInfo/rankPage",
-        data: {"houseId": widget.roomId, "currentPage": 1, "pageNumber": 3});
+    Result res = await HttpManager.get("playerInfo/rankPage", data: {"houseId": widget.roomId, "currentPage": 1, "pageNumber": 3});
     Toast.hide();
     List<PlayerInfo> list = [];
     if (res.success) {
@@ -628,9 +565,10 @@ class RankContentState extends State<RankContent> {
 
   @override
   void initState() {
-    
     super.initState();
-    getTopList();
+    Future.delayed(Duration.zero, () {
+      getTopList();
+    });
   }
 
   @override
@@ -680,19 +618,14 @@ class RankContentState extends State<RankContent> {
                   width: _num == 1 ? 70 : 60,
                   height: _num == 1 ? 70 : 60,
                   decoration: BoxDecoration(
-                    gradient: LinearGradient(
-                        colors: colorList[_num - 1],
-                        begin: Alignment.topLeft,
-                        end: Alignment.bottomRight),
+                    gradient: LinearGradient(colors: colorList[_num - 1], begin: Alignment.topLeft, end: Alignment.bottomRight),
                     borderRadius: BorderRadius.all(Radius.circular(100)),
                   ),
                   child: Center(
                       child: Container(
                     width: _num == 1 ? 60 : 50,
                     height: _num == 1 ? 60 : 50,
-                    child: CircleAvatar(
-                        backgroundImage:
-                            NetworkImage(topList[_num - 1].userInfo.icon)),
+                    child: CircleAvatar(backgroundImage: NetworkImage(topList[_num - 1].userInfo.icon)),
                   )),
                 ),
                 Positioned(
@@ -723,12 +656,7 @@ class RankContentState extends State<RankContent> {
             mainAxisAlignment: MainAxisAlignment.center,
             children: <Widget>[
               Image.asset('images/icon_jinbi_xiao_hong.png', width: 20),
-              Text(
-                  'x' +
-                      (topList[_num - 1].bonus != null
-                          ? topList[_num - 1].bonus.toString()
-                          : '0'),
-                  style: TextStyle(color: PRIMARY_COLOR, fontSize: 12))
+              Text('x' + (topList[_num - 1].bonus != null ? topList[_num - 1].bonus.toString() : '0'), style: TextStyle(color: PRIMARY_COLOR, fontSize: 12))
             ],
           )
         ],
@@ -755,11 +683,7 @@ class SecondPageState extends State<SecondPage> {
   getPlayerPage() async {
     ismore = false;
     Toast.show(context, '加载中', -1, 'loading');
-    Result res = await HttpManager.get("playerInfo/rankPage", data: {
-      "houseId": widget.roomId,
-      "currentPage": currentPage,
-      "pageNumber": 20
-    });
+    Result res = await HttpManager.get("playerInfo/rankPage", data: {"houseId": widget.roomId, "currentPage": currentPage, "pageNumber": 20});
     Toast.hide();
     List<PlayerInfo> list = joinList;
     if (currentPage == 1) {
@@ -783,25 +707,24 @@ class SecondPageState extends State<SecondPage> {
 
   @override
   void initState() {
-    
     super.initState();
     _perController = ScrollController();
     currentPage = 1;
-    getPlayerPage();
-    _perController.addListener(() {
-      if (_perController.position.pixels ==
-          _perController.position.maxScrollExtent) {
-        if (ismore) {
-          currentPage++;
-          getPlayerPage();
+    Future.delayed(Duration.zero, () {
+      getPlayerPage();
+      _perController.addListener(() {
+        if (_perController.position.pixels == _perController.position.maxScrollExtent) {
+          if (ismore) {
+            currentPage++;
+            getPlayerPage();
+          }
         }
-      }
+      });
     });
   }
 
   @override
   void dispose() {
-    
     super.dispose();
     _perController.dispose();
   }
@@ -846,10 +769,7 @@ class SecondPageState extends State<SecondPage> {
       margin: EdgeInsets.only(top: index == 0 ? 10 : 0),
       padding: EdgeInsets.only(left: 15, right: 15),
       child: Container(
-        decoration: BoxDecoration(
-            border: Border(
-                bottom: BorderSide(
-                    width: 1, color: BG_SUB_COLOR, style: BorderStyle.solid))),
+        decoration: BoxDecoration(border: Border(bottom: BorderSide(width: 1, color: BG_SUB_COLOR, style: BorderStyle.solid))),
         child: Row(
           children: <Widget>[
             Container(
@@ -857,8 +777,7 @@ class SecondPageState extends State<SecondPage> {
               width: 36,
               height: 36,
               child: CircleAvatar(
-                backgroundImage: NetworkImage(
-                    info.userInfo != null ? info.userInfo.icon : ''),
+                backgroundImage: NetworkImage(info.userInfo != null ? info.userInfo.icon : ''),
               ),
             ),
             Expanded(
@@ -875,9 +794,7 @@ class SecondPageState extends State<SecondPage> {
             ),
             widget.status == 4 && index < 3
                 ? Image.asset(
-                    'images/icon_paihangbang_0' +
-                        (index + 1).toString() +
-                        '.png',
+                    'images/icon_paihangbang_0' + (index + 1).toString() + '.png',
                     width: 32,
                   )
                 : Container()

+ 21 - 48
lib/pages/setting.dart

@@ -32,6 +32,9 @@ class SettingState extends State<Setting> {
 
   void getFilePath() async {
     String filePath = await FilePicker.getFilePath(type: FileType.IMAGE);
+    if (filePath == null) {
+      return;
+    }
     File _file = File(filePath);
     Toast.show(context, '加载中', -1, 'loading');
     Result res = await HttpManager.post("assets/uploadFile", data: {
@@ -39,8 +42,7 @@ class SettingState extends State<Setting> {
     });
     Toast.hide();
     if (res.success) {
-      updateUserInfo(StoreProvider.of<AppState>(context).state.userInfo,
-          res.data[0], 'icon');
+      updateUserInfo(StoreProvider.of<AppState>(context).state.userInfo, res.data[0], 'icon');
     } else {}
   }
 
@@ -90,45 +92,29 @@ class SettingState extends State<Setting> {
                                 _cell(
                                     '头像',
                                     ClipOval(
-                                      child: Image.network(userInfo.icon,
-                                          width: 36, height: 36),
+                                      child: Image.network(userInfo.icon, width: 36, height: 36),
                                     ), onTap: () {
                                   getFilePath();
                                 }),
-                                _cell('昵称', userInfo.nickname,
-                                    placeholder: '请填写昵称', onTap: () {
+                                _cell('昵称', userInfo.nickname, placeholder: '请填写昵称', onTap: () {
                                   Navigator.push(
-                                      context,
-                                      new CupertinoPageRoute(
-                                          builder: (context) =>
-                                              new ChangeUserInfo(
-                                                  title: '昵称',
-                                                  val: userInfo.nickname)));
+                                      context, new CupertinoPageRoute(builder: (context) => new ChangeUserInfo(title: '昵称', val: userInfo.nickname)));
                                 }),
-                                _cell('性别', userInfo.sex,
-                                    placeholder: '请添加性别信息', onTap: () {
+                                _cell('性别', userInfo.sex, placeholder: '请添加性别信息', onTap: () {
                                   _chooseSex(context);
                                 }),
                                 _cell(
                                   '生日',
                                   DateFormat('yyyy-MM-dd').format(
-                                    DateTime.fromMillisecondsSinceEpoch(
-                                        userInfo.birthday),
+                                    DateTime.fromMillisecondsSinceEpoch(userInfo.birthday),
                                   ),
                                   placeholder: '选择生日',
                                   onTap: () {
                                     _chooseBirthday(context);
                                   },
                                 ),
-                                _cell('手机', userInfo.phone, showBorder: false,
-                                    onTap: () {
-                                  Navigator.push(
-                                      context,
-                                      new CupertinoPageRoute(
-                                          builder: (context) =>
-                                              new ChangeUserInfo(
-                                                  title: '手机号',
-                                                  val: userInfo.phone)));
+                                _cell('手机', userInfo.phone, showBorder: false, onTap: () {
+                                  Navigator.push(context, new CupertinoPageRoute(builder: (context) => new ChangeUserInfo(title: '手机号', val: userInfo.phone)));
                                 })
                               ]),
                               _sectionDivier(),
@@ -138,8 +124,7 @@ class SettingState extends State<Setting> {
                                     Switch(
                                         value: userInfo.noticeFlag,
                                         onChanged: (val) {
-                                          updateUserInfo(userInfo,
-                                              val ? 'Y' : 'N', 'noticeFlag');
+                                          updateUserInfo(userInfo, val ? 'Y' : 'N', 'noticeFlag');
                                         }),
                                     showBorder: false)
                               ]),
@@ -164,20 +149,15 @@ class SettingState extends State<Setting> {
                           highlightColor: Color(0xFF763434),
                           child: Text(
                             "退出登录",
-                            style: TextStyle(
-                                fontSize: 16, fontWeight: FontWeight.w700),
+                            style: TextStyle(fontSize: 16, fontWeight: FontWeight.w700),
                           ),
                           onPressed: () {
                             Future.delayed(const Duration(seconds: 1), () {
-                              StoreProvider.of<AppState>(context)
-                                  .dispatch({"action": Actions.logout});
+                              StoreProvider.of<AppState>(context).dispatch({"action": Actions.logout});
                             });
 
                             Toast.show(context, '退出成功', 1500, 'success');
-                            Navigator.push(
-                                context,
-                                new MaterialPageRoute(
-                                    builder: (context) => new LoginFirst()));
+                            Navigator.push(context, new MaterialPageRoute(builder: (context) => new LoginFirst()));
                           }),
                     )
                   ],
@@ -198,8 +178,7 @@ class SettingState extends State<Setting> {
     if (Toast.preToast == null) {
       Toast.show(context, '加载中', -1, 'loading');
     }
-    final Result res = await HttpManager.post('userInfo/update',
-        data: {"id": userInfo.id, key: value});
+    final Result res = await HttpManager.post('userInfo/update', data: {"id": userInfo.id, key: value});
     Toast.hide();
     if (res.success) {
       Toast.show(context, '修改成功', 1500, 'success');
@@ -212,8 +191,7 @@ class SettingState extends State<Setting> {
   void getUserInfo() async {
     Result res = await HttpManager.get("userInfo/getUserInfo");
     if (res.success) {
-      StoreProvider.of<AppState>(context)
-          .dispatch({"action": Actions.updateUser, "user": res.data});
+      StoreProvider.of<AppState>(context).dispatch({"action": Actions.updateUser, "user": res.data});
     } else {}
   }
 
@@ -247,16 +225,13 @@ class SettingState extends State<Setting> {
           );
         });
     if (sex != null) {
-      updateUserInfo(
-          StoreProvider.of<AppState>(context).state.userInfo, sex, 'sex');
+      updateUserInfo(StoreProvider.of<AppState>(context).state.userInfo, sex, 'sex');
     }
   }
 
   _chooseBirthday(BuildContext context) async {
     UserInfo userInfo = StoreProvider.of<AppState>(context).state.userInfo;
-    DateTime date = userInfo.birthday > 0
-        ? DateTime.fromMillisecondsSinceEpoch(userInfo.birthday)
-        : DateTime.now();
+    DateTime date = userInfo.birthday > 0 ? DateTime.fromMillisecondsSinceEpoch(userInfo.birthday) : DateTime.now();
     DateTime res = await showCupertinoModalPopup<DateTime>(
       context: context,
       builder: (BuildContext context) {
@@ -342,8 +317,7 @@ class SettingState extends State<Setting> {
     _image.readAsBytes().then((bytes) async {
       String encoded1 = 'data:image/jpeg;base64,' + base64Encode(bytes);
       FormData formData = new FormData.from({"base64": encoded1});
-      final response =
-          await Dio().post(domain + 'assets/uploadImg', data: formData);
+      final response = await Dio().post(domain + 'assets/uploadImg', data: formData);
       final res = json.decode(response.toString());
       if (res['success']) {
         updateUserInfo(userInfo, res['data'], 'icon');
@@ -364,8 +338,7 @@ class SettingState extends State<Setting> {
     );
   }
 
-  Widget _cell(String title, dynamic child,
-      {String placeholder, void Function() onTap, bool showBorder = true}) {
+  Widget _cell(String title, dynamic child, {String placeholder, void Function() onTap, bool showBorder = true}) {
     Widget secondChild;
     if (child == null || (child is String && child.length == 0)) {
       secondChild = Text(

+ 4 - 1
pubspec.yaml

@@ -45,4 +45,7 @@ flutter:
   fonts:
     - family: DINEngschrift
       fonts:
-        - asset: fonts/DINEngschrift-Regular.ttf
+        - asset: fonts/DINEngschrift.ttf
+    - family: AgencyFB
+      fonts:
+        - asset: fonts/AgencyFB.ttf