feat: add Gemini and Spartan protocol support
This commit is contained in:
parent
a4a49f41d7
commit
fa7aa5557c
48 changed files with 4992 additions and 161 deletions
|
|
@ -3,8 +3,12 @@ import 'dart:async' show unawaited;
|
|||
import 'dart:ui' show PlatformDispatcher;
|
||||
|
||||
import 'package:actors/actors.dart';
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||
import 'package:path/path.dart' as p;
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:signals/signals_flutter.dart' show SignalBuilder;
|
||||
|
||||
import '../application/actors/fetch_actor.dart';
|
||||
|
|
@ -13,8 +17,9 @@ import '../application/controllers/browser_controller.dart';
|
|||
import '../application/controllers/reader_settings_controller.dart';
|
||||
import '../application/controllers/subscriptions_controller.dart';
|
||||
import '../application/fonts.dart';
|
||||
import '../application/internal_actions.dart';
|
||||
import '../application/internal_actions.dart' show InternalActions, PickedPem;
|
||||
import '../application/internal_pages.dart';
|
||||
import '../application/key_store.dart';
|
||||
import '../database/database.dart';
|
||||
import '../l10n/locales.dart';
|
||||
import '../l10n/strings.dart';
|
||||
|
|
@ -29,12 +34,19 @@ class AppDependencies {
|
|||
MewsDatabase? database,
|
||||
Actor<FetchCommand, FetchResult>? fetch,
|
||||
Strings? strings,
|
||||
KeyStore? keys,
|
||||
Future<PickedPem?> Function(String title)? pickPemFile,
|
||||
}) : db = database ?? MewsDatabase(),
|
||||
fetch = fetch ?? Actor.create(FetchHandler.new),
|
||||
strings = strings ?? Strings() {
|
||||
settings = ReaderSettingsController(db);
|
||||
bookmarks = BookmarksController(db);
|
||||
subscriptions = SubscriptionsController(db: db, fetch: this.fetch);
|
||||
this.keys = keys ??
|
||||
KeyStore(() async {
|
||||
final support = await getApplicationSupportDirectory();
|
||||
return Directory(p.join(support.path, 'keys'));
|
||||
});
|
||||
internalPages = InternalPages(
|
||||
db: db,
|
||||
settings: settings,
|
||||
|
|
@ -46,10 +58,14 @@ class AppDependencies {
|
|||
settings: settings,
|
||||
bookmarks: bookmarks,
|
||||
subscriptions: subscriptions,
|
||||
keys: this.keys,
|
||||
strings: this.strings,
|
||||
pickPemFile: pickPemFile,
|
||||
);
|
||||
browser = BrowserController(
|
||||
db: db,
|
||||
fetch: this.fetch,
|
||||
keys: this.keys,
|
||||
internalPages: internalPages,
|
||||
internalActions: internalActions,
|
||||
);
|
||||
|
|
@ -63,6 +79,7 @@ class AppDependencies {
|
|||
|
||||
final MewsDatabase db;
|
||||
final Actor<FetchCommand, FetchResult> fetch;
|
||||
late final KeyStore keys;
|
||||
late final BrowserController browser;
|
||||
late final ReaderSettingsController settings;
|
||||
late final BookmarksController bookmarks;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue