From a692b41ae23cbb148cae39d71c2e7b3edab1fe3d Mon Sep 17 00:00:00 2001 From: sky96111 Date: Tue, 19 Mar 2024 10:01:23 +0800 Subject: [PATCH] feat: dark tray icon in light theme --- assets/images/tray_icon_dark.ico | Bin 0 -> 67646 bytes assets/images/tray_icon_dark.png | Bin 0 -> 1516 bytes .../notifier/system_tray_notifier.dart | 13 +++++++++++-- pubspec.yaml | 2 ++ 4 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 assets/images/tray_icon_dark.ico create mode 100644 assets/images/tray_icon_dark.png diff --git a/assets/images/tray_icon_dark.ico b/assets/images/tray_icon_dark.ico new file mode 100644 index 0000000000000000000000000000000000000000..a3484c58340d32383a395a595b8b5462dc6a5899 GIT binary patch literal 67646 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 literal 0 HcmV?d00001 diff --git a/lib/features/system_tray/notifier/system_tray_notifier.dart b/lib/features/system_tray/notifier/system_tray_notifier.dart index f49e3e42..f5b6b70b 100644 --- a/lib/features/system_tray/notifier/system_tray_notifier.dart +++ b/lib/features/system_tray/notifier/system_tray_notifier.dart @@ -1,4 +1,6 @@ import 'dart:io'; +import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:hiddify/core/localization/translations.dart'; import 'package:hiddify/core/model/constants.dart'; @@ -123,7 +125,14 @@ class SystemTrayNotifier extends _$SystemTrayNotifier with AppLogger { } static String get _trayIconPath { - if (Platform.isWindows) return Assets.images.trayIconIco; - return Assets.images.trayIconPng.path; + final Brightness brightness = WidgetsBinding.instance.platformDispatcher.platformBrightness; + bool isDarkMode = brightness == Brightness.dark; + if (isDarkMode) { + if (Platform.isWindows) return Assets.images.trayIconIco; + return Assets.images.trayIconPng.path; + } else { + if (Platform.isWindows) return Assets.images.trayIconDarkIco; + return Assets.images.trayIconDarkPng.path; + } } } diff --git a/pubspec.yaml b/pubspec.yaml index a085ce28..d8ea9689 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -113,6 +113,8 @@ flutter: - assets/images/logo.svg - assets/images/tray_icon.ico - assets/images/tray_icon.png + - assets/images/tray_icon_dark.ico + - assets/images/tray_icon_dark.png - assets/images/tray_icon_connected.ico - assets/images/tray_icon_disconnected.ico - assets/images/connect_norouz.PNG