Browse Source

aurora platform is add

aurora2
Марков Сергей Викторович 1 year ago
parent
commit
df629913ea
  1. 2
      .vscode/settings.json
  2. 2
      packages/app/aurora/desktop/su.markow.nextcloud-neon.desktop
  3. 1
      packages/app/aurora/rpm/su.markow.nextcloud-neon.spec
  4. 2
      packages/app/pubspec.yaml
  5. 2
      packages/neon/neon/lib/src/platform/android.dart
  6. 51
      packages/neon/neon/lib/src/platform/aurora.dart
  7. 2
      packages/neon/neon/lib/src/platform/linux.dart
  8. 5
      packages/neon/neon/lib/src/platform/platform.dart
  9. 7
      packages/neon/neon/lib/src/utils/global_options.dart

2
.vscode/settings.json vendored

@ -1,7 +1,7 @@
{
"dart.lineLength": 120,
"yaml.format.singleQuote": true,
"dart.flutterSdkPath": ".fvm/flutter_sdk",
"dart.flutterSdkPath": "/home/mars/.local/opt/flutter",
"files.insertFinalNewline": true,
"search.exclude": {
"**/.fvm": true

2
packages/app/aurora/desktop/su.markow.nextcloud-neon.desktop

@ -7,6 +7,6 @@ Exec=/usr/bin/su.markow.nextcloud-neon
X-Nemo-Application-Type=silica-qt5
[X-Application]
Permissions=UserDirs
Permissions=UserDirs;Internet;Camera
OrganizationName=su.markow
ApplicationName=nextcloud-neon

1
packages/app/aurora/rpm/su.markow.nextcloud-neon.spec

@ -11,7 +11,6 @@ Source0: %{name}-%{version}.tar.zst
BuildRequires: cmake
BuildRequires: pkgconfig(flutter-embedder)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(camera)
%description
%{summary}.

2
packages/app/pubspec.yaml

@ -9,6 +9,8 @@ environment:
dependencies:
flutter:
sdk: flutter
sqflite: ^2.3.0
sqflite_aurora:
git:

2
packages/neon/neon/lib/src/platform/android.dart

@ -1,4 +1,5 @@
import 'package:meta/meta.dart';
import 'package:neon/src/platform/aurora.dart';
import 'package:neon/src/platform/linux.dart';
import 'package:neon/src/platform/platform.dart';
import 'package:neon/src/utils/exceptions.dart';
@ -10,6 +11,7 @@ import 'package:permission_handler/permission_handler.dart';
///
/// See:
/// * [NeonPlatform] to initialize and acquire an instance
/// * [AuroraNeonPlatform] for the Android implementation
/// * [LinuxNeonPlatform] for the Linux implementation
@immutable
@internal

51
packages/neon/neon/lib/src/platform/aurora.dart

@ -0,0 +1,51 @@
import 'package:meta/meta.dart';
import 'package:neon/src/platform/android.dart';
import 'package:neon/src/platform/linux.dart';
import 'package:neon/src/platform/platform.dart';
import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart';
/// Aurora specific platform information.
///
/// See:
/// * [NeonPlatform] to initialize and acquire an instance
/// * [AndroidNeonPlatform] for the Android implementation
/// * [LinuxNeonPlatform] for the Linux implementation
@immutable
@internal
class AuroraNeonPlatform implements NeonPlatform {
/// Creates a new Aurora Neon platform.
const AuroraNeonPlatform();
@override
bool get canUseCamera => true;
@override
bool get canUsePushNotifications => true;
@override
bool get canUseQuickActions => true;
@override
bool get canUseSystemTray => false;
@override
bool get canUseWebView => true;
@override
bool get canUseWindowManager => false;
@override
bool get canUseSharing => true;
@override
bool get shouldUseFileDialog => true;
@override
Future<String> get userAccessibleAppDataPath async {
return p.join((await getDownloadsDirectory())!.path);
}
@override
void init() {}
}

2
packages/neon/neon/lib/src/platform/linux.dart

@ -1,5 +1,6 @@
import 'package:meta/meta.dart';
import 'package:neon/src/platform/android.dart';
import 'package:neon/src/platform/aurora.dart';
import 'package:neon/src/platform/platform.dart';
import 'package:path/path.dart' as p;
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
@ -10,6 +11,7 @@ import 'package:universal_io/io.dart';
/// See:
/// * [NeonPlatform] to initialize and acquire an instance
/// * [AndroidNeonPlatform] for the Android implementation
/// * [AuroraNeonPlatform] for the Android implementation
@immutable
@internal
class LinuxNeonPlatform implements NeonPlatform {

5
packages/neon/neon/lib/src/platform/platform.dart

@ -1,7 +1,8 @@
import 'dart:async';
import 'package:meta/meta.dart';
import 'package:flutter/foundation.dart';
import 'package:neon/src/platform/android.dart';
import 'package:neon/src/platform/aurora.dart';
import 'package:neon/src/platform/linux.dart';
import 'package:universal_io/io.dart';
@ -30,6 +31,8 @@ abstract interface class NeonPlatform {
if (Platform.isAndroid) {
_platform = const AndroidNeonPlatform();
} else if (TargetPlatform.aurora == defaultTargetPlatform) {
_platform = const AuroraNeonPlatform();
} else if (Platform.isLinux) {
_platform = const LinuxNeonPlatform();
} else {

7
packages/neon/neon/lib/src/utils/global_options.dart

@ -1,3 +1,4 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:meta/meta.dart';
import 'package:neon/l10n/localizations.dart';
@ -267,10 +268,12 @@ class GlobalOptions extends OptionsCollection {
storage: storage,
key: GlobalOptionKeys.navigationMode,
label: (final context) => NeonLocalizations.of(context).globalOptionsNavigationMode,
defaultValue: Platform.isAndroid || Platform.isIOS ? NavigationMode.drawer : NavigationMode.drawerAlwaysVisible,
defaultValue: Platform.isAndroid || Platform.isIOS || TargetPlatform.aurora == defaultTargetPlatform
? NavigationMode.drawer
: NavigationMode.drawerAlwaysVisible,
values: {
NavigationMode.drawer: (final context) => NeonLocalizations.of(context).globalOptionsNavigationModeDrawer,
if (!Platform.isAndroid && !Platform.isIOS)
if (!Platform.isAndroid && !Platform.isIOS && TargetPlatform.aurora != defaultTargetPlatform)
NavigationMode.drawerAlwaysVisible: (final context) =>
NeonLocalizations.of(context).globalOptionsNavigationModeDrawerAlwaysVisible,
},

Loading…
Cancel
Save