diff --git a/lib/main.dart b/lib/main.dart index b010163b..d6df20ea 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,4 @@ import 'package:catcher_2/catcher_2.dart'; -import 'package:device_info_plus/device_info_plus.dart'; import 'package:dart_discord_rpc/dart_discord_rpc.dart'; import 'package:device_preview/device_preview.dart'; import 'package:flutter/foundation.dart'; @@ -39,7 +38,7 @@ import 'package:path_provider/path_provider.dart'; import 'package:spotube/hooks/configurators/use_init_sys_tray.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_native_splash/flutter_native_splash.dart'; -import 'package:spotube/utils/android_utils.dart'; +import 'package:flutter_displaymode/flutter_displaymode.dart'; Future main(List rawArgs) async { final arguments = await startCLI(rawArgs); @@ -54,7 +53,7 @@ Future main(List rawArgs) async { // force High Refresh Rate on some Android devices (like One Plus) if (DesktopTools.platform.isAndroid) { - await AndroidUtils.setHighRefreshRate(); + await FlutterDisplayMode.setHighRefreshRate(); } if (DesktopTools.platform.isDesktop) { diff --git a/lib/utils/android_utils.dart b/lib/utils/android_utils.dart deleted file mode 100644 index c7ef3d2e..00000000 --- a/lib/utils/android_utils.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter_displaymode/flutter_displaymode.dart'; - -abstract class AndroidUtils { - - /// Sets the device's display to the highest refresh rate available. - /// - /// This method retrieves the list of supported display modes and the currently active display mode. - /// It then selects the display mode with the highest refresh rate that matches the current resolution. - /// The selected display mode is set as the preferred mode using the FlutterDisplayMode plugin. - /// After setting the new mode, it checks if the system is using the new mode. - /// If the system is not using the new mode, it reverts back to the original mode and returns false. - /// Otherwise, it returns true to indicate that the high refresh rate has been successfully set. - /// - /// Returns true if the high refresh rate is set successfully, false otherwise. - static Future setHighRefreshRate() async { - final List modes = await FlutterDisplayMode.supported; - final DisplayMode activeMode = await FlutterDisplayMode.active; - - DisplayMode newMode = activeMode; - for (final DisplayMode mode in modes) { - if (mode.height == newMode.height && - mode.width == newMode.width && - mode.refreshRate > newMode.refreshRate) { - newMode = mode; - } - } - - await FlutterDisplayMode.setPreferredMode(newMode); - - final display = await FlutterDisplayMode.active; // possibly altered by system - - if (display.refreshRate < newMode.refreshRate) { - await FlutterDisplayMode.setPreferredMode(display); - return false; - } - - return true; - } -} diff --git a/pubspec.lock b/pubspec.lock index 411dc056..bc1f962f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -2521,4 +2521,4 @@ packages: version: "2.0.2" sdks: dart: ">=3.3.0 <4.0.0" - flutter: ">=3.13.0" + flutter: ">=3.16.0"