68 lines
1.5 KiB
Dart
68 lines
1.5 KiB
Dart
import 'package:flutter/foundation.dart'
|
|
show defaultTargetPlatform, kIsWeb, TargetPlatform;
|
|
|
|
enum Os {
|
|
web,
|
|
android,
|
|
ios,
|
|
macOS,
|
|
linux,
|
|
windows,
|
|
fuchsia,
|
|
}
|
|
|
|
class Platform {
|
|
const Platform();
|
|
|
|
/// Platform is Web.
|
|
static bool get isWeb => os == Os.web;
|
|
|
|
/// Platform is Android.
|
|
static bool get isAndroid => os == Os.android;
|
|
|
|
/// Platform is IOS.
|
|
static bool get isIOS => os == Os.ios;
|
|
|
|
/// Platform is Fuchsia.
|
|
static bool get isFuchsia => os == Os.fuchsia;
|
|
|
|
/// Platform is Linux.
|
|
static bool get isLinux => os == Os.linux;
|
|
|
|
/// Platform is MacOS.
|
|
static bool get isMacOS => os == Os.macOS;
|
|
|
|
/// Platform is Windows.
|
|
static bool get isWindows => os == Os.windows;
|
|
|
|
/// Platform is Android or IOS.
|
|
static bool get isMobile => isAndroid || isIOS;
|
|
|
|
/// Platform is Android or IOS or Fuchsia.
|
|
static bool get isFullMobile => isMobile || isFuchsia;
|
|
|
|
/// Platform is Linux or Windows or MacOS.
|
|
static bool get isDesktop => isLinux || isWindows || isMacOS;
|
|
|
|
/// Getting the os name.
|
|
static Os get os {
|
|
if (kIsWeb) {
|
|
return Os.web;
|
|
}
|
|
switch (defaultTargetPlatform) {
|
|
case TargetPlatform.android:
|
|
return Os.android;
|
|
case TargetPlatform.iOS:
|
|
return Os.ios;
|
|
case TargetPlatform.macOS:
|
|
return Os.macOS;
|
|
case TargetPlatform.windows:
|
|
return Os.windows;
|
|
case TargetPlatform.fuchsia:
|
|
return Os.fuchsia;
|
|
case TargetPlatform.linux:
|
|
return Os.linux;
|
|
}
|
|
}
|
|
}
|