Update theme data
This commit is contained in:
parent
ad7541d2fc
commit
b0d1639138
|
@ -75,8 +75,8 @@ class _PlaylistHomeState extends State<PlaylistHome> {
|
||||||
return AnnotatedRegion<SystemUiOverlayStyle>(
|
return AnnotatedRegion<SystemUiOverlayStyle>(
|
||||||
value: SystemUiOverlayStyle(
|
value: SystemUiOverlayStyle(
|
||||||
systemNavigationBarIconBrightness:
|
systemNavigationBarIconBrightness:
|
||||||
Theme.of(context).accentColorBrightness,
|
Theme.of(context).colorScheme.brightness,
|
||||||
statusBarIconBrightness: Theme.of(context).accentColorBrightness,
|
statusBarIconBrightness: Theme.of(context).colorScheme.brightness,
|
||||||
systemNavigationBarColor: Theme.of(context).primaryColor,
|
systemNavigationBarColor: Theme.of(context).primaryColor,
|
||||||
),
|
),
|
||||||
child: WillPopScope(
|
child: WillPopScope(
|
||||||
|
@ -143,6 +143,9 @@ class _PlaylistHomeState extends State<PlaylistHome> {
|
||||||
playing
|
playing
|
||||||
? audio.pauseAduio()
|
? audio.pauseAduio()
|
||||||
: audio.resumeAudio();
|
: audio.resumeAudio();
|
||||||
|
} else if (data.item1.isEmpty) {
|
||||||
|
Fluttertoast.showToast(
|
||||||
|
msg: 'Playlist is empty');
|
||||||
} else {
|
} else {
|
||||||
context
|
context
|
||||||
.read<AudioPlayerNotifier>()
|
.read<AudioPlayerNotifier>()
|
||||||
|
|
|
@ -2,7 +2,6 @@ import 'dart:math' as math;
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:file_picker/file_picker.dart';
|
|
||||||
|
|
||||||
import '../state/audio_state.dart';
|
import '../state/audio_state.dart';
|
||||||
import '../type/episodebrief.dart';
|
import '../type/episodebrief.dart';
|
||||||
|
|
|
@ -5,6 +5,7 @@ import 'dart:ui';
|
||||||
import 'package:connectivity/connectivity.dart';
|
import 'package:connectivity/connectivity.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_downloader/flutter_downloader.dart';
|
import 'package:flutter_downloader/flutter_downloader.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
|
@ -18,43 +19,43 @@ import '../type/settings_backup.dart';
|
||||||
import 'download_state.dart';
|
import 'download_state.dart';
|
||||||
|
|
||||||
void callbackDispatcher() {
|
void callbackDispatcher() {
|
||||||
Workmanager.executeTask((task, inputData) async {
|
Workmanager.executeTask((task, inputData) async {
|
||||||
var dbHelper = DBHelper();
|
var dbHelper = DBHelper();
|
||||||
var podcastList = await dbHelper.getPodcastLocalAll(updateOnly: true);
|
var podcastList = await dbHelper.getPodcastLocalAll(updateOnly: true);
|
||||||
//lastWork is a indicator for if the app was opened since last backgroundwork
|
//lastWork is a indicator for if the app was opened since last backgroundwork
|
||||||
//if the app wes opend,then the old marked new episode would be marked not new.
|
//if the app wes opend,then the old marked new episode would be marked not new.
|
||||||
var lastWorkStorage = KeyValueStorage(lastWorkKey);
|
var lastWorkStorage = KeyValueStorage(lastWorkKey);
|
||||||
var lastWork = await lastWorkStorage.getInt();
|
var lastWork = await lastWorkStorage.getInt();
|
||||||
for (var podcastLocal in podcastList) {
|
for (var podcastLocal in podcastList) {
|
||||||
await dbHelper.updatePodcastRss(podcastLocal, removeMark: lastWork);
|
await dbHelper.updatePodcastRss(podcastLocal, removeMark: lastWork);
|
||||||
developer.log('Refresh ${podcastLocal.title}');
|
developer.log('Refresh ${podcastLocal.title}');
|
||||||
}
|
}
|
||||||
await FlutterDownloader.initialize();
|
await FlutterDownloader.initialize();
|
||||||
var downloader = AutoDownloader();
|
var downloader = AutoDownloader();
|
||||||
|
|
||||||
var autoDownloadStorage = KeyValueStorage(autoDownloadNetworkKey);
|
var autoDownloadStorage = KeyValueStorage(autoDownloadNetworkKey);
|
||||||
var autoDownloadNetwork = await autoDownloadStorage.getInt();
|
var autoDownloadNetwork = await autoDownloadStorage.getInt();
|
||||||
var result = await Connectivity().checkConnectivity();
|
var result = await Connectivity().checkConnectivity();
|
||||||
if (autoDownloadNetwork == 1) {
|
if (autoDownloadNetwork == 1) {
|
||||||
var episodes = await dbHelper.getNewEpisodes('all');
|
var episodes = await dbHelper.getNewEpisodes('all');
|
||||||
// For safety
|
// For safety
|
||||||
if (episodes.length < 100 && episodes.length > 0) {
|
if (episodes.length < 100 && episodes.length > 0) {
|
||||||
downloader.bindBackgroundIsolate();
|
downloader.bindBackgroundIsolate();
|
||||||
await downloader.startTask(episodes);
|
await downloader.startTask(episodes);
|
||||||
}
|
|
||||||
} else if (result == ConnectivityResult.wifi) {
|
|
||||||
var episodes = await dbHelper.getNewEpisodes('all');
|
|
||||||
//For safety
|
|
||||||
if (episodes.length < 100 && episodes.length > 0) {
|
|
||||||
downloader.bindBackgroundIsolate();
|
|
||||||
await downloader.startTask(episodes);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
await lastWorkStorage.saveInt(1);
|
} else if (result == ConnectivityResult.wifi) {
|
||||||
var refreshstorage = KeyValueStorage(refreshdateKey);
|
var episodes = await dbHelper.getNewEpisodes('all');
|
||||||
await refreshstorage.saveInt(DateTime.now().millisecondsSinceEpoch);
|
//For safety
|
||||||
return Future.value(true);
|
if (episodes.length < 100 && episodes.length > 0) {
|
||||||
});
|
downloader.bindBackgroundIsolate();
|
||||||
|
await downloader.startTask(episodes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await lastWorkStorage.saveInt(1);
|
||||||
|
var refreshstorage = KeyValueStorage(refreshdateKey);
|
||||||
|
await refreshstorage.saveInt(DateTime.now().millisecondsSinceEpoch);
|
||||||
|
return Future.value(true);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
final showNotesFontStyles = <TextStyle>[
|
final showNotesFontStyles = <TextStyle>[
|
||||||
|
@ -139,42 +140,51 @@ class SettingState extends ChangeNotifier {
|
||||||
ThemeMode get theme => _theme;
|
ThemeMode get theme => _theme;
|
||||||
|
|
||||||
ThemeData get lightTheme => ThemeData(
|
ThemeData get lightTheme => ThemeData(
|
||||||
accentColorBrightness: Brightness.dark,
|
colorScheme: ColorScheme.fromSwatch()
|
||||||
primaryColor: Colors.grey[100],
|
.copyWith(brightness: Brightness.light, secondary: _accentSetColor),
|
||||||
primaryColorLight: Colors.white,
|
primaryColor: Colors.grey[100],
|
||||||
primaryColorDark: Colors.grey[300],
|
primaryColorLight: Colors.white,
|
||||||
dialogBackgroundColor: Colors.white,
|
primaryColorDark: Colors.grey[300],
|
||||||
backgroundColor: Colors.grey[100],
|
dialogBackgroundColor: Colors.white,
|
||||||
appBarTheme: AppBarTheme(
|
backgroundColor: Colors.grey[100],
|
||||||
color: Colors.grey[100],
|
appBarTheme: AppBarTheme(
|
||||||
elevation: 0,
|
color: Colors.grey[100],
|
||||||
),
|
elevation: 0,
|
||||||
textTheme: TextTheme(
|
titleTextStyle: TextStyle(color: Colors.black),
|
||||||
bodyText2: TextStyle(fontSize: 15.0, fontWeight: FontWeight.normal),
|
iconTheme: IconThemeData(color: Colors.black),
|
||||||
),
|
systemOverlayStyle: SystemUiOverlayStyle.dark),
|
||||||
tabBarTheme: TabBarTheme(
|
textTheme: TextTheme(
|
||||||
labelColor: Colors.black,
|
bodyText2: TextStyle(fontSize: 15.0, fontWeight: FontWeight.normal),
|
||||||
unselectedLabelColor: Colors.grey[400],
|
),
|
||||||
),
|
tabBarTheme: TabBarTheme(
|
||||||
accentColor: _accentSetColor,
|
labelColor: Colors.black,
|
||||||
cursorColor: _accentSetColor,
|
unselectedLabelColor: Colors.grey[400],
|
||||||
textSelectionHandleColor: _accentSetColor,
|
),
|
||||||
toggleableActiveColor: _accentSetColor,
|
textSelectionTheme: TextSelectionThemeData(
|
||||||
buttonTheme: ButtonThemeData(
|
cursorColor: _accentSetColor,
|
||||||
|
selectionHandleColor: _accentSetColor,
|
||||||
|
),
|
||||||
|
toggleableActiveColor: _accentSetColor,
|
||||||
|
buttonTheme: ButtonThemeData(
|
||||||
height: 32,
|
height: 32,
|
||||||
hoverColor: _accentSetColor.withAlpha(70),
|
hoverColor: _accentSetColor.withAlpha(70),
|
||||||
splashColor: _accentSetColor.withAlpha(70)));
|
splashColor: _accentSetColor.withAlpha(70),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
ThemeData get darkTheme => ThemeData.dark().copyWith(
|
ThemeData get darkTheme => ThemeData.dark().copyWith(
|
||||||
accentColor: _accentSetColor,
|
colorScheme: ColorScheme.fromSwatch()
|
||||||
primaryColorDark: Colors.grey[800],
|
.copyWith(brightness: Brightness.dark, secondary: _accentSetColor),
|
||||||
scaffoldBackgroundColor: _realDark ? Colors.black87 : Color(0XFF212121),
|
primaryColorDark: Colors.grey[800],
|
||||||
primaryColor: _realDark ? Colors.black : Color(0XFF1B1B1B),
|
scaffoldBackgroundColor: _realDark ? Colors.black87 : Color(0XFF212121),
|
||||||
popupMenuTheme: PopupMenuThemeData()
|
primaryColor: _realDark ? Colors.black : Color(0XFF1B1B1B),
|
||||||
.copyWith(color: _realDark ? Colors.grey[900] : null),
|
popupMenuTheme: PopupMenuThemeData()
|
||||||
appBarTheme: AppBarTheme(elevation: 0),
|
.copyWith(color: _realDark ? Colors.grey[900] : null),
|
||||||
buttonTheme: ButtonThemeData(height: 32),
|
appBarTheme: AppBarTheme(
|
||||||
dialogBackgroundColor: _realDark ? Colors.grey[900] : null,
|
elevation: 0, systemOverlayStyle: SystemUiOverlayStyle.light),
|
||||||
cursorColor: _accentSetColor);
|
buttonTheme: ButtonThemeData(height: 32),
|
||||||
|
dialogBackgroundColor: _realDark ? Colors.grey[900] : null,
|
||||||
|
);
|
||||||
|
|
||||||
set setTheme(ThemeMode mode) {
|
set setTheme(ThemeMode mode) {
|
||||||
_theme = mode;
|
_theme = mode;
|
||||||
|
@ -558,8 +568,10 @@ class SettingState extends ChangeNotifier {
|
||||||
.getBool(defaultValue: false);
|
.getBool(defaultValue: false);
|
||||||
final deleteAfterPlayed = await KeyValueStorage(deleteAfterPlayedKey)
|
final deleteAfterPlayed = await KeyValueStorage(deleteAfterPlayedKey)
|
||||||
.getBool(defaultValue: false);
|
.getBool(defaultValue: false);
|
||||||
final openPlaylistDefault = await _openPlaylistDefaultStorage.getBool(defaultValue: false);
|
final openPlaylistDefault =
|
||||||
final openAllPodcastDefault = await _openAllPodcastDefaultStorage.getBool(defaultValue: false);
|
await _openPlaylistDefaultStorage.getBool(defaultValue: false);
|
||||||
|
final openAllPodcastDefault =
|
||||||
|
await _openAllPodcastDefaultStorage.getBool(defaultValue: false);
|
||||||
|
|
||||||
return SettingsBackup(
|
return SettingsBackup(
|
||||||
theme: theme,
|
theme: theme,
|
||||||
|
|
|
@ -9,7 +9,7 @@ import '../generated/l10n.dart';
|
||||||
|
|
||||||
extension ContextExtension on BuildContext {
|
extension ContextExtension on BuildContext {
|
||||||
Color get primaryColor => Theme.of(this).primaryColor;
|
Color get primaryColor => Theme.of(this).primaryColor;
|
||||||
Color get accentColor => Theme.of(this).accentColor;
|
Color get accentColor => Theme.of(this).colorScheme.secondary;
|
||||||
Color get scaffoldBackgroundColor => Theme.of(this).scaffoldBackgroundColor;
|
Color get scaffoldBackgroundColor => Theme.of(this).scaffoldBackgroundColor;
|
||||||
Color get primaryColorDark => Theme.of(this).primaryColorDark;
|
Color get primaryColorDark => Theme.of(this).primaryColorDark;
|
||||||
Color get textColor => Theme.of(this).textTheme.bodyText1.color;
|
Color get textColor => Theme.of(this).textTheme.bodyText1.color;
|
||||||
|
|
Loading…
Reference in New Issue