mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-05 09:37:52 +08:00
improve handling android window mode
Closes #1908 Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
25
lib/utils/max_screen_size.dart
Normal file
25
lib/utils/max_screen_size.dart
Normal file
@@ -0,0 +1,25 @@
|
||||
import 'dart:io' show Platform;
|
||||
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
|
||||
abstract final class MaxScreenSize {
|
||||
static int? _maxWidth;
|
||||
static int? _maxHeight;
|
||||
|
||||
static Future<void> init() async {
|
||||
final res = await Utils.channel.invokeMethod('maxScreenSize');
|
||||
if (res is Map) {
|
||||
_maxWidth = res['maxWidth'];
|
||||
_maxHeight = res['maxHeight'];
|
||||
}
|
||||
}
|
||||
|
||||
static bool isWindowMode({required num width, required num height}) {
|
||||
if (!Platform.isAndroid) return false;
|
||||
width = width.round();
|
||||
height = height.round();
|
||||
final hasWidthMatch = width == _maxWidth || width == _maxHeight;
|
||||
final hasHeightMatch = height == _maxWidth || height == _maxHeight;
|
||||
return !(hasWidthMatch && hasHeightMatch);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user