heavyrain 4 months ago
parent
commit
7dde106fde
5 changed files with 52 additions and 24 deletions
  1. 6 6
      lib/index_page.dart
  2. 15 16
      lib/main.dart
  3. 6 1
      lib/pages/timer_page.dart
  4. 6 0
      lib/routes.dart
  5. 19 1
      lib/utils/app_utils.dart

+ 6 - 6
lib/pages/main_page.dart → lib/index_page.dart

@@ -2,21 +2,21 @@ import 'dart:async';
 import 'dart:math' as math;
 
 import 'package:flutter/material.dart';
-import 'package:flutter_clock/model/config.dart';
-import 'package:intl/intl.dart';
 import 'package:flutter_clock/pages/alarm_page.dart';
 import 'package:flutter_clock/pages/clock_page.dart';
 import 'package:flutter_clock/pages/stopwatch_page.dart';
 import 'package:flutter_clock/pages/timer_page.dart';
-
-class MainPage extends StatefulWidget {
+/// Description: main page
+/// Time       : 04/06/2025 Sunday
+/// Author     : liuyuqi.gov@msn.cn
+class IndexPage extends StatefulWidget {
   @override
   State<StatefulWidget> createState() {
-    return _MainPageState();
+    return _IndexPageState();
   }
 }
 
-class _MainPageState extends State<MainPage>
+class _IndexPageState extends State<IndexPage>
     with SingleTickerProviderStateMixin {
   late TabController _tabController;
   final List<Widget> _tabs = [

+ 15 - 16
lib/main.dart

@@ -1,24 +1,23 @@
 import 'dart:io';
 
-import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
-import 'package:flutter_clock/pages/main_page.dart';
-
-void setOverrideForDesktop() {
-  if (kIsWeb) return;
-
-  if (Platform.isMacOS) {
-    debugDefaultTargetPlatformOverride = TargetPlatform.iOS;
-  } else if (Platform.isLinux || Platform.isWindows) {
-    debugDefaultTargetPlatformOverride = TargetPlatform.android;
-  } else if (Platform.isFuchsia) {
-    debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
-  }
-}
+import 'package:flutter/services.dart';
+import 'package:flutter_clock/index_page.dart';
+import 'package:flutter_clock/utils/app_utils.dart';
 
+/// Description: enter point of the app
+/// Time       : 04/06/2025 Sunday
+/// Author     : liuyuqi.gov@msn.cn
 void main() {
-  setOverrideForDesktop();
+  WidgetsFlutterBinding.ensureInitialized();
+  AppUtils.setOverrideForDesktop();
   runApp(MyApp());
+  if (Platform.isAndroid) {
+    SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
+      statusBarColor: Colors.transparent,
+      statusBarIconBrightness: Brightness.dark,
+    ));
+  }
 }
 
 class MyApp extends StatelessWidget {
@@ -32,7 +31,7 @@ class MyApp extends StatelessWidget {
         visualDensity: VisualDensity.adaptivePlatformDensity,
         fontFamily: 'Roboto',
       ),
-      home: MainPage(),
+      home: IndexPage(),
     );
   }
 }

+ 6 - 1
lib/pages/timer_page.dart

@@ -4,7 +4,9 @@ import 'package:flutter_clock/model/timer_settings.dart';
 import 'package:flutter_clock/pages/timer_settings_page.dart';
 import 'package:flutter_clock/utils/audio_manager.dart';
 import 'package:flutter_clock/utils/screen_manager.dart';
-
+/// Description: 倒计时页面
+/// Time       : 04/06/2025 Sunday
+/// Author     : liuyuqi.gov@msn.cn
 class TimerPage extends StatefulWidget {
   @override
   _TimerPageState createState() => _TimerPageState();
@@ -325,6 +327,7 @@ class _TimerPageState extends State<TimerPage> with WidgetsBindingObserver {
             child: Row(
               mainAxisAlignment: MainAxisAlignment.spaceAround,
               children: [
+                // 唤醒屏幕
                 _buildCircleButton(
                   Icons.phone_android,
                   Colors.grey[600]!,
@@ -334,6 +337,7 @@ class _TimerPageState extends State<TimerPage> with WidgetsBindingObserver {
                   },
                   isActive: ScreenManager.isWakeLockEnabled,
                 ),
+                // 暂停/开始
                 _isRunning
                     ? _buildCircleButton(
                         Icons.pause,
@@ -345,6 +349,7 @@ class _TimerPageState extends State<TimerPage> with WidgetsBindingObserver {
                         Colors.blue,
                         () => _startTimer(),
                       ),
+                // 重置
                 _buildCircleButton(
                   Icons.stop,
                   Colors.red,

+ 6 - 0
lib/routes.dart

@@ -0,0 +1,6 @@
+class Routes {
+  static const String home = '/home';
+  static const String timer = '/timer';
+  static const String settings = '/settings';
+}
+

+ 19 - 1
lib/utils/app_utils.dart

@@ -1 +1,19 @@
-class AppUtils {}
+import 'dart:io';
+
+import 'package:flutter/foundation.dart';
+import 'package:flutter/material.dart';
+
+class AppUtils {
+  static void setOverrideForDesktop() {
+    if (kIsWeb) return;
+
+    if (Platform.isMacOS) {
+      debugDefaultTargetPlatformOverride = TargetPlatform.iOS;
+    } else if (Platform.isLinux || Platform.isWindows) {
+      debugDefaultTargetPlatformOverride = TargetPlatform.android;
+    } else if (Platform.isFuchsia) {
+      debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia;
+    }
+  }
+
+}