From f37241d7955a0e9a8885d7b72892bf6f3e777724 Mon Sep 17 00:00:00 2001 From: stonegate Date: Thu, 13 Aug 2020 17:59:15 +0800 Subject: [PATCH] Minor change. --- lib/state/audio_state.dart | 1 + lib/state/setting_state.dart | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/state/audio_state.dart b/lib/state/audio_state.dart index 8f8b12f..b0d8d51 100644 --- a/lib/state/audio_state.dart +++ b/lib/state/audio_state.dart @@ -292,6 +292,7 @@ class AudioPlayerNotifier extends ChangeNotifier { _queue.playlist.removeAt(0); _queue.playlist.removeWhere((item) => item == episode); _queue.playlist.insert(0, episodeNew); + _queueUpdate != _queueUpdate; _remoteErrorMessage = null; notifyListeners(); await _queue.savePlaylist(); diff --git a/lib/state/setting_state.dart b/lib/state/setting_state.dart index 08f3afa..cd630ff 100644 --- a/lib/state/setting_state.dart +++ b/lib/state/setting_state.dart @@ -7,6 +7,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:intl/intl.dart'; +import 'package:intl/intl_standalone.dart'; import 'package:workmanager/workmanager.dart'; import '../generated/l10n.dart'; @@ -343,7 +344,17 @@ class SettingState extends ChangeNotifier { Future _getLocale() async { var localeString = await localeStorage.getStringList(); if (localeString.isEmpty) { - _locale = Locale(Intl.systemLocale); + await findSystemLocale(); + var systemLanCode; + final list = Intl.systemLocale.split('_'); + if (list.length == 2) { + systemLanCode = list.first; + } else if (list.length == 3) { + systemLanCode = '${list[0]}_${list[1]}'; + } else { + systemLanCode = 'en'; + } + _locale = Locale(systemLanCode); } else { _locale = Locale(localeString.first, localeString[1]); }