init
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
import 'dart:io';
|
||||
import 'package:flutter/foundation.dart' show kIsWeb;
|
||||
|
||||
class PlatformUtils {
|
||||
PlatformUtils._internal();
|
||||
static late bool _isAndroid;
|
||||
static late bool _isIos;
|
||||
static late bool _isMobile;
|
||||
static late bool _isWeb;
|
||||
static late bool _isWindows;
|
||||
static late bool _isMacOS;
|
||||
static late bool _isLinux;
|
||||
static late bool _isDesktop;
|
||||
static bool _isInstantiation = false;
|
||||
|
||||
factory PlatformUtils() {
|
||||
if (!_isInstantiation) {
|
||||
_isAndroid = !kIsWeb && Platform.isAndroid;
|
||||
_isIos = !kIsWeb && Platform.isIOS;
|
||||
_isMobile = _isAndroid || _isIos;
|
||||
_isWindows = !kIsWeb && Platform.isWindows;
|
||||
_isMacOS = !kIsWeb && Platform.isMacOS;
|
||||
_isLinux = !kIsWeb && Platform.isLinux;
|
||||
_isDesktop = _isMacOS || _isWindows || _isLinux;
|
||||
_isWeb = kIsWeb;
|
||||
_isInstantiation = true;
|
||||
}
|
||||
|
||||
return _instance;
|
||||
}
|
||||
|
||||
static late final PlatformUtils _instance = PlatformUtils._internal();
|
||||
|
||||
get isAndroid {
|
||||
return _isAndroid;
|
||||
}
|
||||
|
||||
get isWeb {
|
||||
return _isWeb;
|
||||
}
|
||||
|
||||
get isIOS {
|
||||
return _isIos;
|
||||
}
|
||||
|
||||
get isWindows {
|
||||
return _isWindows;
|
||||
}
|
||||
|
||||
get isMacOS {
|
||||
return _isMacOS;
|
||||
}
|
||||
|
||||
get isMobile {
|
||||
return _isMobile;
|
||||
}
|
||||
|
||||
bool get isDesktop => _isDesktop;
|
||||
|
||||
bool get isLinux => _isLinux;
|
||||
}
|
||||
Reference in New Issue
Block a user