mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-08 23:18:16 -07:00
feat: Android TV support (#503)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
7ab8c015b9
commit
c299492d6d
168 changed files with 12019 additions and 3073 deletions
|
|
@ -5,10 +5,13 @@ import 'package:collection/collection.dart';
|
|||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:screen_brightness/screen_brightness.dart';
|
||||
|
||||
import 'package:fladder/models/items/media_segments_model.dart';
|
||||
import 'package:fladder/models/settings/key_combinations.dart';
|
||||
import 'package:fladder/models/settings/video_player_settings.dart';
|
||||
import 'package:fladder/providers/shared_provider.dart';
|
||||
import 'package:fladder/providers/user_provider.dart';
|
||||
import 'package:fladder/providers/video_player_provider.dart';
|
||||
import 'package:fladder/src/player_settings_helper.g.dart' as pigeon;
|
||||
|
||||
final videoPlayerSettingsProvider =
|
||||
StateNotifierProvider<VideoPlayerSettingsProviderNotifier, VideoPlayerSettingsModel>((ref) {
|
||||
|
|
@ -30,6 +33,30 @@ class VideoPlayerSettingsProviderNotifier extends StateNotifier<VideoPlayerSetti
|
|||
if (!oldState.playerSame(value)) {
|
||||
ref.read(videoPlayerProvider.notifier).init();
|
||||
}
|
||||
final userData = ref.read(userProvider);
|
||||
pigeon.PlayerSettingsPigeon().sendPlayerSettings(
|
||||
pigeon.PlayerSettings(
|
||||
skipTypes: value.segmentSkipSettings.map(
|
||||
(key, value) => MapEntry(
|
||||
switch (key) {
|
||||
MediaSegmentType.unknown => pigeon.SegmentType.intro,
|
||||
MediaSegmentType.commercial => pigeon.SegmentType.commercial,
|
||||
MediaSegmentType.preview => pigeon.SegmentType.preview,
|
||||
MediaSegmentType.recap => pigeon.SegmentType.recap,
|
||||
MediaSegmentType.outro => pigeon.SegmentType.outro,
|
||||
MediaSegmentType.intro => pigeon.SegmentType.intro,
|
||||
},
|
||||
switch (value) {
|
||||
SegmentSkip.none => pigeon.SegmentSkip.none,
|
||||
SegmentSkip.askToSkip => pigeon.SegmentSkip.ask,
|
||||
SegmentSkip.skip => pigeon.SegmentSkip.skip,
|
||||
},
|
||||
),
|
||||
),
|
||||
skipBackward: (userData?.userSettings?.skipBackDuration ?? const Duration(seconds: 15)).inMilliseconds,
|
||||
skipForward: (userData?.userSettings?.skipForwardDuration ?? const Duration(seconds: 30)).inMilliseconds,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void setScreenBrightness(double? value) async {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue