mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-04-13 11:01:29 +03:00
Refact. Build flutter web (#7472)
* Refact. Build flutter web Signed-off-by: fufesou <shuanglongchen@yeah.net> * Refact. Flutter web, wrap Platform.xx Signed-off-by: fufesou <shuanglongchen@yeah.net> --------- Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
@@ -1,12 +1,10 @@
|
||||
import 'dart:async';
|
||||
import 'dart:convert';
|
||||
import 'dart:ffi' hide Size;
|
||||
import 'dart:io';
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:back_button_interceptor/back_button_interceptor.dart';
|
||||
import 'package:desktop_multi_window/desktop_multi_window.dart';
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -25,7 +23,6 @@ import 'package:get/get.dart';
|
||||
import 'package:uni_links/uni_links.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
import 'package:win32/win32.dart' as win32;
|
||||
import 'package:window_manager/window_manager.dart';
|
||||
import 'package:window_size/window_size.dart' as window_size;
|
||||
|
||||
@@ -37,16 +34,24 @@ import 'models/input_model.dart';
|
||||
import 'models/model.dart';
|
||||
import 'models/platform_model.dart';
|
||||
|
||||
import 'package:flutter_hbb/native/win32.dart'
|
||||
if (dart.library.html) 'package:flutter_hbb/web/win32.dart';
|
||||
import 'package:flutter_hbb/native/common.dart'
|
||||
if (dart.library.html) 'package:flutter_hbb/web/common.dart';
|
||||
|
||||
final globalKey = GlobalKey<NavigatorState>();
|
||||
final navigationBarKey = GlobalKey();
|
||||
|
||||
final isAndroid = Platform.isAndroid;
|
||||
final isIOS = Platform.isIOS;
|
||||
final isDesktop = Platform.isWindows || Platform.isMacOS || Platform.isLinux;
|
||||
var isWeb = false;
|
||||
final isAndroid = isAndroid_;
|
||||
final isIOS = isIOS_;
|
||||
final isWindows = isWindows_;
|
||||
final isMacOS = isMacOS_;
|
||||
final isLinux = isLinux_;
|
||||
final isDesktop = isDesktop_;
|
||||
final isWeb = isWeb_;
|
||||
var isWebDesktop = false;
|
||||
var isMobile = isAndroid || isIOS;
|
||||
var version = "";
|
||||
var version = '';
|
||||
int androidVersion = 0;
|
||||
|
||||
/// only available for Windows target
|
||||
@@ -2317,35 +2322,7 @@ WindowsTarget getWindowsTarget(int buildNumber) {
|
||||
/// [Note]
|
||||
/// Please use this function wrapped with `Platform.isWindows`.
|
||||
int getWindowsTargetBuildNumber() {
|
||||
final rtlGetVersion = DynamicLibrary.open('ntdll.dll').lookupFunction<
|
||||
Void Function(Pointer<win32.OSVERSIONINFOEX>),
|
||||
void Function(Pointer<win32.OSVERSIONINFOEX>)>('RtlGetVersion');
|
||||
final osVersionInfo = getOSVERSIONINFOEXPointer();
|
||||
rtlGetVersion(osVersionInfo);
|
||||
int buildNumber = osVersionInfo.ref.dwBuildNumber;
|
||||
calloc.free(osVersionInfo);
|
||||
return buildNumber;
|
||||
}
|
||||
|
||||
/// Get Windows OS version pointer
|
||||
///
|
||||
/// [Note]
|
||||
/// Please use this function wrapped with `Platform.isWindows`.
|
||||
Pointer<win32.OSVERSIONINFOEX> getOSVERSIONINFOEXPointer() {
|
||||
final pointer = calloc<win32.OSVERSIONINFOEX>();
|
||||
pointer.ref
|
||||
..dwOSVersionInfoSize = sizeOf<win32.OSVERSIONINFOEX>()
|
||||
..dwBuildNumber = 0
|
||||
..dwMajorVersion = 0
|
||||
..dwMinorVersion = 0
|
||||
..dwPlatformId = 0
|
||||
..szCSDVersion = ''
|
||||
..wServicePackMajor = 0
|
||||
..wServicePackMinor = 0
|
||||
..wSuiteMask = 0
|
||||
..wProductType = 0
|
||||
..wReserved = 0;
|
||||
return pointer;
|
||||
return getWindowsTargetBuildNumber_();
|
||||
}
|
||||
|
||||
/// Indicating we need to use compatible ui mode.
|
||||
|
||||
Reference in New Issue
Block a user