#131 viewer max brightness option

This commit is contained in:
Thibault Deckers 2021-11-25 14:50:53 +09:00
parent 005339094b
commit b3500edd10
16 changed files with 207 additions and 81 deletions

View file

@ -797,20 +797,10 @@
"settingsSectionViewer": "Viewer", "settingsSectionViewer": "Viewer",
"@settingsSectionViewer": {}, "@settingsSectionViewer": {},
"settingsViewerShowOverlayOnOpening": "Show overlay on opening",
"@settingsViewerShowOverlayOnOpening": {},
"settingsViewerShowMinimap": "Show minimap",
"@settingsViewerShowMinimap": {},
"settingsViewerShowInformation": "Show information",
"@settingsViewerShowInformation": {},
"settingsViewerShowInformationSubtitle": "Show title, date, location, etc.",
"@settingsViewerShowInformationSubtitle": {},
"settingsViewerShowShootingDetails": "Show shooting details",
"@settingsViewerShowShootingDetails": {},
"settingsViewerEnableOverlayBlurEffect": "Overlay blur effect",
"@settingsViewerEnableOverlayBlurEffect": {},
"settingsViewerUseCutout": "Use cutout area", "settingsViewerUseCutout": "Use cutout area",
"@settingsViewerUseCutout": {}, "@settingsViewerUseCutout": {},
"settingsViewerMaximumBrightness": "Maximum brightness",
"@settingsViewerMaximumBrightness": {},
"settingsImageBackground": "Image background", "settingsImageBackground": "Image background",
"@settingsImageBackground": {}, "@settingsImageBackground": {},
@ -827,6 +817,23 @@
"settingsViewerQuickActionEmpty": "No buttons", "settingsViewerQuickActionEmpty": "No buttons",
"@settingsViewerQuickActionEmpty": {}, "@settingsViewerQuickActionEmpty": {},
"settingsViewerOverlayTile": "Overlay",
"@settingsViewerOverlayTile": {},
"settingsViewerOverlayTitle": "Overlay",
"@settingsViewerOverlayTitle": {},
"settingsViewerShowOverlayOnOpening": "Show on opening",
"@settingsViewerShowOverlayOnOpening": {},
"settingsViewerShowMinimap": "Show minimap",
"@settingsViewerShowMinimap": {},
"settingsViewerShowInformation": "Show information",
"@settingsViewerShowInformation": {},
"settingsViewerShowInformationSubtitle": "Show title, date, location, etc.",
"@settingsViewerShowInformationSubtitle": {},
"settingsViewerShowShootingDetails": "Show shooting details",
"@settingsViewerShowShootingDetails": {},
"settingsViewerEnableOverlayBlurEffect": "Blur effect",
"@settingsViewerEnableOverlayBlurEffect": {},
"settingsVideoPageTitle": "Video Settings", "settingsVideoPageTitle": "Video Settings",
"@settingsVideoPageTitle": {}, "@settingsVideoPageTitle": {},
"settingsSectionVideo": "Video", "settingsSectionVideo": "Video",

View file

@ -375,13 +375,8 @@
"settingsCollectionSelectionQuickActionEditorBanner": "Maintenez votre doigt appuyé pour déplacer les boutons et choisir les actions affichées lors de la sélection déléments.", "settingsCollectionSelectionQuickActionEditorBanner": "Maintenez votre doigt appuyé pour déplacer les boutons et choisir les actions affichées lors de la sélection déléments.",
"settingsSectionViewer": "Visionneuse", "settingsSectionViewer": "Visionneuse",
"settingsViewerShowOverlayOnOpening": "Afficher les incrustations à louverture",
"settingsViewerShowMinimap": "Afficher la mini-carte",
"settingsViewerShowInformation": "Afficher les détails",
"settingsViewerShowInformationSubtitle": "Afficher les titre, date, lieu, etc.",
"settingsViewerShowShootingDetails": "Afficher les détails de prise de vue",
"settingsViewerEnableOverlayBlurEffect": "Effets de flou des incrustations",
"settingsViewerUseCutout": "Utiliser la zone dencoche", "settingsViewerUseCutout": "Utiliser la zone dencoche",
"settingsViewerMaximumBrightness": "Luminosité maximale",
"settingsImageBackground": "Arrière-plan de limage", "settingsImageBackground": "Arrière-plan de limage",
"settingsViewerQuickActionsTile": "Actions rapides", "settingsViewerQuickActionsTile": "Actions rapides",
@ -391,6 +386,15 @@
"settingsViewerQuickActionEditorAvailableButtons": "Boutons disponibles", "settingsViewerQuickActionEditorAvailableButtons": "Boutons disponibles",
"settingsViewerQuickActionEmpty": "Aucun bouton", "settingsViewerQuickActionEmpty": "Aucun bouton",
"settingsViewerOverlayTile": "Incrustations",
"settingsViewerOverlayTitle": "Incrustations",
"settingsViewerShowOverlayOnOpening": "Afficher à louverture",
"settingsViewerShowMinimap": "Afficher la mini-carte",
"settingsViewerShowInformation": "Afficher les détails",
"settingsViewerShowInformationSubtitle": "Afficher les titre, date, lieu, etc.",
"settingsViewerShowShootingDetails": "Afficher les détails de prise de vue",
"settingsViewerEnableOverlayBlurEffect": "Effets de flou",
"settingsVideoPageTitle": "Réglages vidéo", "settingsVideoPageTitle": "Réglages vidéo",
"settingsSectionVideo": "Vidéo", "settingsSectionVideo": "Vidéo",
"settingsVideoShowVideos": "Afficher les vidéos", "settingsVideoShowVideos": "Afficher les vidéos",

View file

@ -22,6 +22,7 @@
"showTooltip": "보기", "showTooltip": "보기",
"hideTooltip": "숨기기", "hideTooltip": "숨기기",
"removeTooltip": "제거", "removeTooltip": "제거",
"resetButtonTooltip": "복원",
"doubleBackExitMessage": "종료하려면 한번 더 누르세요.", "doubleBackExitMessage": "종료하려면 한번 더 누르세요.",
@ -373,13 +374,8 @@
"settingsCollectionSelectionQuickActionEditorBanner": "버튼을 길게 누른 후 이동하여 항목 선택할 때 표시될 버튼을 선택하세요.", "settingsCollectionSelectionQuickActionEditorBanner": "버튼을 길게 누른 후 이동하여 항목 선택할 때 표시될 버튼을 선택하세요.",
"settingsSectionViewer": "뷰어", "settingsSectionViewer": "뷰어",
"settingsViewerShowOverlayOnOpening": "열릴 때 오버레이 표시",
"settingsViewerShowMinimap": "미니맵 표시",
"settingsViewerShowInformation": "상세 정보 표시",
"settingsViewerShowInformationSubtitle": "제목, 날짜, 장소 등 표시",
"settingsViewerShowShootingDetails": "촬영 정보 표시",
"settingsViewerEnableOverlayBlurEffect": "오버레이 흐림 효과",
"settingsViewerUseCutout": "컷아웃 영역 사용", "settingsViewerUseCutout": "컷아웃 영역 사용",
"settingsViewerMaximumBrightness": "최대 밝기",
"settingsImageBackground": "이미지 배경", "settingsImageBackground": "이미지 배경",
"settingsViewerQuickActionsTile": "빠른 작업", "settingsViewerQuickActionsTile": "빠른 작업",
@ -389,6 +385,15 @@
"settingsViewerQuickActionEditorAvailableButtons": "추가 가능한 버튼", "settingsViewerQuickActionEditorAvailableButtons": "추가 가능한 버튼",
"settingsViewerQuickActionEmpty": "버튼이 없습니다", "settingsViewerQuickActionEmpty": "버튼이 없습니다",
"settingsViewerOverlayTile": "오버레이",
"settingsViewerOverlayTitle": "오버레이",
"settingsViewerShowOverlayOnOpening": "열릴 때 표시",
"settingsViewerShowMinimap": "미니맵 표시",
"settingsViewerShowInformation": "상세 정보 표시",
"settingsViewerShowInformationSubtitle": "제목, 날짜, 장소 등 표시",
"settingsViewerShowShootingDetails": "촬영 정보 표시",
"settingsViewerEnableOverlayBlurEffect": "흐림 효과",
"settingsVideoPageTitle": "동영상 설정", "settingsVideoPageTitle": "동영상 설정",
"settingsSectionVideo": "동영상", "settingsSectionVideo": "동영상",
"settingsVideoShowVideos": "미디어에 동영상 표시", "settingsVideoShowVideos": "미디어에 동영상 표시",

View file

@ -373,12 +373,6 @@
"settingsCollectionSelectionQuickActionEditorBanner": "Нажмите и удерживайте, чтобы переместить кнопки и выбрать, какие действия будут отображаться при выборе элементов.", "settingsCollectionSelectionQuickActionEditorBanner": "Нажмите и удерживайте, чтобы переместить кнопки и выбрать, какие действия будут отображаться при выборе элементов.",
"settingsSectionViewer": "Просмотрщик", "settingsSectionViewer": "Просмотрщик",
"settingsViewerShowOverlayOnOpening": "Показывать наложение при открытии",
"settingsViewerShowMinimap": "Показать миникарту",
"settingsViewerShowInformation": "Показывать информацию",
"settingsViewerShowInformationSubtitle": "Показать название, дату, местоположение и т.д.",
"settingsViewerShowShootingDetails": "Показать детали съёмки",
"settingsViewerEnableOverlayBlurEffect": "Наложение эффекта размытия",
"settingsViewerUseCutout": "Использовать область выреза", "settingsViewerUseCutout": "Использовать область выреза",
"settingsImageBackground": "Фон изображения", "settingsImageBackground": "Фон изображения",
@ -389,6 +383,15 @@
"settingsViewerQuickActionEditorAvailableButtons": "Доступные кнопки", "settingsViewerQuickActionEditorAvailableButtons": "Доступные кнопки",
"settingsViewerQuickActionEmpty": "Нет кнопок", "settingsViewerQuickActionEmpty": "Нет кнопок",
"settingsViewerOverlayTile": "Наложение",
"settingsViewerOverlayTitle": "Наложение",
"settingsViewerShowOverlayOnOpening": "Показывать наложение при открытии",
"settingsViewerShowMinimap": "Показать миникарту",
"settingsViewerShowInformation": "Показывать информацию",
"settingsViewerShowInformationSubtitle": "Показать название, дату, местоположение и т.д.",
"settingsViewerShowShootingDetails": "Показать детали съёмки",
"settingsViewerEnableOverlayBlurEffect": "Наложение эффекта размытия",
"settingsVideoPageTitle": "Настройки видео", "settingsVideoPageTitle": "Настройки видео",
"settingsSectionVideo": "Видео", "settingsSectionVideo": "Видео",
"settingsVideoShowVideos": "Показывать видео", "settingsVideoShowVideos": "Показывать видео",

View file

@ -65,6 +65,7 @@ class SettingsDefaults {
static const showOverlayShootingDetails = false; static const showOverlayShootingDetails = false;
static const enableOverlayBlurEffect = true; // `enableOverlayBlurEffect` has a contextual default value static const enableOverlayBlurEffect = true; // `enableOverlayBlurEffect` has a contextual default value
static const viewerUseCutout = true; static const viewerUseCutout = true;
static const viewerMaxBrightness = false;
// video // video
static const videoQuickActions = [ static const videoQuickActions = [

View file

@ -81,6 +81,7 @@ class Settings extends ChangeNotifier {
static const showOverlayShootingDetailsKey = 'show_overlay_shooting_details'; static const showOverlayShootingDetailsKey = 'show_overlay_shooting_details';
static const enableOverlayBlurEffectKey = 'enable_overlay_blur_effect'; static const enableOverlayBlurEffectKey = 'enable_overlay_blur_effect';
static const viewerUseCutoutKey = 'viewer_use_cutout'; static const viewerUseCutoutKey = 'viewer_use_cutout';
static const viewerMaxBrightnessKey = 'viewer_max_brightness';
// video // video
static const videoQuickActionsKey = 'video_quick_actions'; static const videoQuickActionsKey = 'video_quick_actions';
@ -352,6 +353,10 @@ class Settings extends ChangeNotifier {
set viewerUseCutout(bool newValue) => setAndNotify(viewerUseCutoutKey, newValue); set viewerUseCutout(bool newValue) => setAndNotify(viewerUseCutoutKey, newValue);
bool get viewerMaxBrightness => getBoolOrDefault(viewerMaxBrightnessKey, SettingsDefaults.viewerMaxBrightness);
set viewerMaxBrightness(bool newValue) => setAndNotify(viewerMaxBrightnessKey, newValue);
// video // video
List<VideoAction> get videoQuickActions => getEnumListOrDefault(videoQuickActionsKey, SettingsDefaults.videoQuickActions, VideoAction.values); List<VideoAction> get videoQuickActions => getEnumListOrDefault(videoQuickActionsKey, SettingsDefaults.videoQuickActions, VideoAction.values);
@ -587,6 +592,7 @@ class Settings extends ChangeNotifier {
case showOverlayShootingDetailsKey: case showOverlayShootingDetailsKey:
case enableOverlayBlurEffectKey: case enableOverlayBlurEffectKey:
case viewerUseCutoutKey: case viewerUseCutoutKey:
case viewerMaxBrightnessKey:
case enableVideoHardwareAccelerationKey: case enableVideoHardwareAccelerationKey:
case enableVideoAutoPlayKey: case enableVideoAutoPlayKey:
case subtitleShowOutlineKey: case subtitleShowOutlineKey:

View file

@ -132,6 +132,11 @@ class Constants {
license: 'Apache 2.0', license: 'Apache 2.0',
sourceUrl: 'https://github.com/DavBfr/dart_pdf', sourceUrl: 'https://github.com/DavBfr/dart_pdf',
), ),
Dependency(
name: 'Screen Brightness',
license: 'MIT',
sourceUrl: 'https://github.com/aaassseee/screen_brightness',
),
Dependency( Dependency(
name: 'Shared Preferences', name: 'Shared Preferences',
license: 'BSD 3-Clause', license: 'BSD 3-Clause',

View file

@ -0,0 +1,91 @@
import 'package:aves/model/settings/settings.dart';
import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:tuple/tuple.dart';
class ViewerOverlayTile extends StatelessWidget {
const ViewerOverlayTile({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return ListTile(
title: Text(context.l10n.settingsViewerOverlayTile),
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
settings: const RouteSettings(name: ViewerOverlayPage.routeName),
builder: (context) => const ViewerOverlayPage(),
),
);
},
);
}
}
class ViewerOverlayPage extends StatelessWidget {
static const routeName = '/settings/viewer_overlay';
const ViewerOverlayPage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(context.l10n.settingsViewerOverlayTitle),
),
body: SafeArea(
child: ListView(
children: [
Selector<Settings, bool>(
selector: (context, s) => s.showOverlayOnOpening,
builder: (context, current, child) => SwitchListTile(
value: current,
onChanged: (v) => settings.showOverlayOnOpening = v,
title: Text(context.l10n.settingsViewerShowOverlayOnOpening),
),
),
Selector<Settings, bool>(
selector: (context, s) => s.showOverlayMinimap,
builder: (context, current, child) => SwitchListTile(
value: current,
onChanged: (v) => settings.showOverlayMinimap = v,
title: Text(context.l10n.settingsViewerShowMinimap),
),
),
Selector<Settings, bool>(
selector: (context, s) => s.showOverlayInfo,
builder: (context, current, child) => SwitchListTile(
value: current,
onChanged: (v) => settings.showOverlayInfo = v,
title: Text(context.l10n.settingsViewerShowInformation),
subtitle: Text(context.l10n.settingsViewerShowInformationSubtitle),
),
),
Selector<Settings, Tuple2<bool, bool>>(
selector: (context, s) => Tuple2(s.showOverlayInfo, s.showOverlayShootingDetails),
builder: (context, s, child) {
final showInfo = s.item1;
final current = s.item2;
return SwitchListTile(
value: current,
onChanged: showInfo ? (v) => settings.showOverlayShootingDetails = v : null,
title: Text(context.l10n.settingsViewerShowShootingDetails),
);
},
),
Selector<Settings, bool>(
selector: (context, s) => s.enableOverlayBlurEffect,
builder: (context, current, child) => SwitchListTile(
value: current,
onChanged: (v) => settings.enableOverlayBlurEffect = v,
title: Text(context.l10n.settingsViewerEnableOverlayBlurEffect),
),
),
],
),
),
);
}
}

View file

@ -7,10 +7,10 @@ import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:aves/widgets/common/identity/aves_expansion_tile.dart'; import 'package:aves/widgets/common/identity/aves_expansion_tile.dart';
import 'package:aves/widgets/settings/common/tile_leading.dart'; import 'package:aves/widgets/settings/common/tile_leading.dart';
import 'package:aves/widgets/settings/viewer/entry_background.dart'; import 'package:aves/widgets/settings/viewer/entry_background.dart';
import 'package:aves/widgets/settings/viewer/overlay.dart';
import 'package:aves/widgets/settings/viewer/viewer_actions_editor.dart'; import 'package:aves/widgets/settings/viewer/viewer_actions_editor.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:tuple/tuple.dart';
class ViewerSection extends StatelessWidget { class ViewerSection extends StatelessWidget {
final ValueNotifier<String?> expandedNotifier; final ValueNotifier<String?> expandedNotifier;
@ -32,52 +32,16 @@ class ViewerSection extends StatelessWidget {
showHighlight: false, showHighlight: false,
children: [ children: [
const ViewerActionsTile(), const ViewerActionsTile(),
Selector<Settings, bool>( const ViewerOverlayTile(),
selector: (context, s) => s.showOverlayOnOpening,
builder: (context, current, child) => SwitchListTile(
value: current,
onChanged: (v) => settings.showOverlayOnOpening = v,
title: Text(context.l10n.settingsViewerShowOverlayOnOpening),
),
),
Selector<Settings, bool>(
selector: (context, s) => s.showOverlayMinimap,
builder: (context, current, child) => SwitchListTile(
value: current,
onChanged: (v) => settings.showOverlayMinimap = v,
title: Text(context.l10n.settingsViewerShowMinimap),
),
),
Selector<Settings, bool>(
selector: (context, s) => s.showOverlayInfo,
builder: (context, current, child) => SwitchListTile(
value: current,
onChanged: (v) => settings.showOverlayInfo = v,
title: Text(context.l10n.settingsViewerShowInformation),
subtitle: Text(context.l10n.settingsViewerShowInformationSubtitle),
),
),
Selector<Settings, Tuple2<bool, bool>>(
selector: (context, s) => Tuple2(s.showOverlayInfo, s.showOverlayShootingDetails),
builder: (context, s, child) {
final showInfo = s.item1;
final current = s.item2;
return SwitchListTile(
value: current,
onChanged: showInfo ? (v) => settings.showOverlayShootingDetails = v : null,
title: Text(context.l10n.settingsViewerShowShootingDetails),
);
},
),
Selector<Settings, bool>(
selector: (context, s) => s.enableOverlayBlurEffect,
builder: (context, current, child) => SwitchListTile(
value: current,
onChanged: (v) => settings.enableOverlayBlurEffect = v,
title: Text(context.l10n.settingsViewerEnableOverlayBlurEffect),
),
),
const _CutoutModeSwitch(), const _CutoutModeSwitch(),
Selector<Settings, bool>(
selector: (context, s) => s.viewerMaxBrightness,
builder: (context, current, child) => SwitchListTile(
value: current,
onChanged: (v) => settings.viewerMaxBrightness = v,
title: Text(context.l10n.settingsViewerMaximumBrightness),
),
),
Selector<Settings, EntryBackground>( Selector<Settings, EntryBackground>(
selector: (context, s) => s.imageBackground, selector: (context, s) => s.imageBackground,
builder: (context, current, child) => ListTile( builder: (context, current, child) => ListTile(

View file

@ -1,5 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'dart:math'; import 'dart:math';
import 'dart:ui';
import 'package:aves/model/entry.dart'; import 'package:aves/model/entry.dart';
import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/settings/settings.dart';
@ -12,6 +13,7 @@ import 'package:aves/widgets/viewer/info/notifications.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart'; import 'package:flutter/scheduler.dart';
import 'package:screen_brightness/screen_brightness.dart';
class ViewerVerticalPageView extends StatefulWidget { class ViewerVerticalPageView extends StatefulWidget {
final CollectionLens? collection; final CollectionLens? collection;
@ -42,6 +44,7 @@ class _ViewerVerticalPageViewState extends State<ViewerVerticalPageView> {
final ValueNotifier<bool> _isVerticallyScrollingNotifier = ValueNotifier(false); final ValueNotifier<bool> _isVerticallyScrollingNotifier = ValueNotifier(false);
Timer? _verticalScrollMonitoringTimer; Timer? _verticalScrollMonitoringTimer;
AvesEntry? _oldEntry; AvesEntry? _oldEntry;
Future<double>? _systemBrightness;
CollectionLens? get collection => widget.collection; CollectionLens? get collection => widget.collection;
@ -49,10 +52,16 @@ class _ViewerVerticalPageViewState extends State<ViewerVerticalPageView> {
AvesEntry? get entry => widget.entryNotifier.value; AvesEntry? get entry => widget.entryNotifier.value;
static const double maximumBrightness = 1.0;
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_registerWidget(widget); _registerWidget(widget);
if (settings.viewerMaxBrightness) {
_systemBrightness = ScreenBrightness().system;
}
} }
@override @override
@ -144,9 +153,18 @@ class _ViewerVerticalPageViewState extends State<ViewerVerticalPageView> {
} }
void _onVerticalPageControllerChanged() { void _onVerticalPageControllerChanged() {
final opacity = min(1.0, widget.verticalPager.page!); final page = widget.verticalPager.page!;
final opacity = min(1.0, page);
_backgroundColorNotifier.value = _backgroundColorNotifier.value.withOpacity(opacity * opacity); _backgroundColorNotifier.value = _backgroundColorNotifier.value.withOpacity(opacity * opacity);
if (page <= 1 && settings.viewerMaxBrightness) {
_systemBrightness?.then((system) {
final transition = max(system, lerpDouble(system, maximumBrightness, page / 2)!);
ScreenBrightness().setScreenBrightness(transition);
});
}
_isVerticallyScrollingNotifier.value = true; _isVerticallyScrollingNotifier.value = true;
_stopScrollMonitoringTimer(); _stopScrollMonitoringTimer();
_verticalScrollMonitoringTimer = Timer(Durations.infoScrollMonitoringTimerDelay, () { _verticalScrollMonitoringTimer = Timer(Durations.infoScrollMonitoringTimerDelay, () {

View file

@ -34,6 +34,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart'; import 'package:flutter/scheduler.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:screen_brightness/screen_brightness.dart';
class EntryViewerStack extends StatefulWidget { class EntryViewerStack extends StatefulWidget {
final CollectionLens? collection; final CollectionLens? collection;
@ -83,6 +84,9 @@ class _EntryViewerStackState extends State<EntryViewerStack> with FeedbackMixin,
if (!settings.viewerUseCutout) { if (!settings.viewerUseCutout) {
windowService.setCutoutMode(false); windowService.setCutoutMode(false);
} }
if (settings.viewerMaxBrightness) {
ScreenBrightness().setScreenBrightness(1);
}
if (settings.keepScreenOn == KeepScreenOn.viewerOnly) { if (settings.keepScreenOn == KeepScreenOn.viewerOnly) {
windowService.keepScreenOn(true); windowService.keepScreenOn(true);
} }
@ -521,6 +525,9 @@ class _EntryViewerStackState extends State<EntryViewerStack> with FeedbackMixin,
if (!settings.viewerUseCutout) { if (!settings.viewerUseCutout) {
windowService.setCutoutMode(true); windowService.setCutoutMode(true);
} }
if (settings.viewerMaxBrightness) {
ScreenBrightness().resetScreenBrightness();
}
if (settings.keepScreenOn == KeepScreenOn.viewerOnly) { if (settings.keepScreenOn == KeepScreenOn.viewerOnly) {
windowService.keepScreenOn(false); windowService.keepScreenOn(false);
} }

View file

@ -115,7 +115,7 @@ packages:
source: sdk source: sdk
version: "0.0.99" version: "0.0.99"
stack_trace: stack_trace:
dependency: transitive dependency: "direct main"
description: description:
name: stack_trace name: stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"

View file

@ -13,6 +13,7 @@ dependencies:
path: ../aves_report path: ../aves_report
firebase_core: firebase_core:
firebase_crashlytics: firebase_crashlytics:
stack_trace:
dev_dependencies: dev_dependencies:
flutter_lints: flutter_lints:

View file

@ -861,6 +861,20 @@ packages:
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.0.1+1" version: "3.0.1+1"
screen_brightness:
dependency: "direct main"
description:
name: screen_brightness
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.1"
screen_brightness_platform_interface:
dependency: transitive
description:
name: screen_brightness_platform_interface
url: "https://pub.dartlang.org"
source: hosted
version: "0.0.2"
shared_preferences: shared_preferences:
dependency: "direct main" dependency: "direct main"
description: description:
@ -986,7 +1000,7 @@ packages:
source: hosted source: hosted
version: "2.0.1+1" version: "2.0.1+1"
stack_trace: stack_trace:
dependency: "direct main" dependency: transitive
description: description:
name: stack_trace name: stack_trace
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"

View file

@ -57,9 +57,9 @@ dependencies:
permission_handler: permission_handler:
printing: printing:
provider: provider:
screen_brightness:
shared_preferences: shared_preferences:
sqflite: sqflite:
stack_trace:
streams_channel: streams_channel:
git: git:
url: git://github.com/deckerst/aves_streams_channel.git url: git://github.com/deckerst/aves_streams_channel.git

View file

@ -1,6 +1,5 @@
{ {
"ko": [ "ko": [
"resetButtonTooltip",
"entryInfoActionEditTags", "entryInfoActionEditTags",
"tagEditorPageTitle", "tagEditorPageTitle",
"tagEditorPageNewTagFieldLabel", "tagEditorPageNewTagFieldLabel",
@ -10,6 +9,7 @@
"ru": [ "ru": [
"resetButtonTooltip", "resetButtonTooltip",
"entryInfoActionEditTags", "entryInfoActionEditTags",
"settingsViewerMaximumBrightness",
"tagEditorPageTitle", "tagEditorPageTitle",
"tagEditorPageNewTagFieldLabel", "tagEditorPageNewTagFieldLabel",
"tagEditorPageAddTagTooltip" "tagEditorPageAddTagTooltip"