Replace Configuration with LocalSettings
This commit is contained in:
parent
38bc4b8e68
commit
d9daaeef9f
|
@ -59,7 +59,6 @@ class Configuration {
|
||||||
static const keyAttributesKey = "key_attributes";
|
static const keyAttributesKey = "key_attributes";
|
||||||
static const keyKey = "key";
|
static const keyKey = "key";
|
||||||
static const keyShouldBackupOverMobileData = "should_backup_over_mobile_data";
|
static const keyShouldBackupOverMobileData = "should_backup_over_mobile_data";
|
||||||
static const keyAlbumGridSize = "album_grid_size";
|
|
||||||
static const keyShouldBackupVideos = "should_backup_videos";
|
static const keyShouldBackupVideos = "should_backup_videos";
|
||||||
|
|
||||||
// keyShouldKeepDeviceAwake is used to determine whether the device screen
|
// keyShouldKeepDeviceAwake is used to determine whether the device screen
|
||||||
|
@ -561,18 +560,6 @@ class Configuration {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int getAlbumGridSize() {
|
|
||||||
if (_preferences.containsKey(keyAlbumGridSize)) {
|
|
||||||
return _preferences.getInt(keyAlbumGridSize)!;
|
|
||||||
} else {
|
|
||||||
return defaultAlbumGridSize;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<void> setAlbumGridSize(int value) async {
|
|
||||||
await _preferences.setInt(keyAlbumGridSize, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
Future<void> setBackupOverMobileData(bool value) async {
|
Future<void> setBackupOverMobileData(bool value) async {
|
||||||
await _preferences.setBool(keyShouldBackupOverMobileData, value);
|
await _preferences.setBool(keyShouldBackupOverMobileData, value);
|
||||||
if (value) {
|
if (value) {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:photos/core/configuration.dart';
|
|
||||||
import 'package:photos/core/event_bus.dart';
|
import 'package:photos/core/event_bus.dart';
|
||||||
import 'package:photos/ente_theme_data.dart';
|
import 'package:photos/ente_theme_data.dart';
|
||||||
import 'package:photos/events/force_reload_home_gallery_event.dart';
|
import 'package:photos/events/force_reload_home_gallery_event.dart';
|
||||||
|
@ -10,6 +9,7 @@ import 'package:photos/ui/components/icon_button_widget.dart';
|
||||||
import 'package:photos/ui/components/menu_item_widget.dart';
|
import 'package:photos/ui/components/menu_item_widget.dart';
|
||||||
import 'package:photos/ui/components/title_bar_title_widget.dart';
|
import 'package:photos/ui/components/title_bar_title_widget.dart';
|
||||||
import 'package:photos/ui/components/title_bar_widget.dart';
|
import 'package:photos/ui/components/title_bar_widget.dart';
|
||||||
|
import 'package:photos/utils/local_settings.dart';
|
||||||
|
|
||||||
class AdvancedSettingsScreen extends StatefulWidget {
|
class AdvancedSettingsScreen extends StatefulWidget {
|
||||||
const AdvancedSettingsScreen({super.key});
|
const AdvancedSettingsScreen({super.key});
|
||||||
|
@ -20,11 +20,10 @@ class AdvancedSettingsScreen extends StatefulWidget {
|
||||||
|
|
||||||
class _AdvancedSettingsScreenState extends State<AdvancedSettingsScreen> {
|
class _AdvancedSettingsScreenState extends State<AdvancedSettingsScreen> {
|
||||||
late int _albumGridSize, _chosenGridSize;
|
late int _albumGridSize, _chosenGridSize;
|
||||||
final _config = Configuration.instance;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
_albumGridSize = _config.getAlbumGridSize();
|
_albumGridSize = LocalSettings.instance.getAlbumGridSize();
|
||||||
_chosenGridSize = _albumGridSize;
|
_chosenGridSize = _albumGridSize;
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
@ -151,7 +150,8 @@ class _AdvancedSettingsScreenState extends State<AdvancedSettingsScreen> {
|
||||||
),
|
),
|
||||||
CupertinoButton(
|
CupertinoButton(
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
await _config.setAlbumGridSize(_chosenGridSize);
|
await LocalSettings.instance
|
||||||
|
.setAlbumGridSize(_chosenGridSize);
|
||||||
Bus.instance.fire(
|
Bus.instance.fire(
|
||||||
ForceReloadHomeGalleryEvent("grid size changed"),
|
ForceReloadHomeGalleryEvent("grid size changed"),
|
||||||
);
|
);
|
||||||
|
|
|
@ -7,7 +7,6 @@ import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:logging/logging.dart';
|
import 'package:logging/logging.dart';
|
||||||
import 'package:photos/core/configuration.dart';
|
|
||||||
import 'package:photos/core/constants.dart';
|
import 'package:photos/core/constants.dart';
|
||||||
import 'package:photos/core/event_bus.dart';
|
import 'package:photos/core/event_bus.dart';
|
||||||
import 'package:photos/events/clear_selections_event.dart';
|
import 'package:photos/events/clear_selections_event.dart';
|
||||||
|
@ -20,6 +19,7 @@ import 'package:photos/ui/viewer/file/detail_page.dart';
|
||||||
import 'package:photos/ui/viewer/file/thumbnail_widget.dart';
|
import 'package:photos/ui/viewer/file/thumbnail_widget.dart';
|
||||||
import 'package:photos/ui/viewer/gallery/gallery.dart';
|
import 'package:photos/ui/viewer/gallery/gallery.dart';
|
||||||
import 'package:photos/utils/date_time_util.dart';
|
import 'package:photos/utils/date_time_util.dart';
|
||||||
|
import 'package:photos/utils/local_settings.dart';
|
||||||
import 'package:photos/utils/navigation_util.dart';
|
import 'package:photos/utils/navigation_util.dart';
|
||||||
import 'package:visibility_detector/visibility_detector.dart';
|
import 'package:visibility_detector/visibility_detector.dart';
|
||||||
|
|
||||||
|
@ -388,7 +388,7 @@ class _LazyLoadingGridViewState extends State<LazyLoadingGridView> {
|
||||||
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
|
||||||
crossAxisSpacing: 2,
|
crossAxisSpacing: 2,
|
||||||
mainAxisSpacing: 2,
|
mainAxisSpacing: 2,
|
||||||
crossAxisCount: Configuration.instance.getAlbumGridSize(),
|
crossAxisCount: LocalSettings.instance.getAlbumGridSize(),
|
||||||
),
|
),
|
||||||
padding: const EdgeInsets.all(0),
|
padding: const EdgeInsets.all(0),
|
||||||
);
|
);
|
||||||
|
@ -426,7 +426,7 @@ class _LazyLoadingGridViewState extends State<LazyLoadingGridView> {
|
||||||
serverLoadDeferDuration: thumbnailServerLoadDeferDuration,
|
serverLoadDeferDuration: thumbnailServerLoadDeferDuration,
|
||||||
shouldShowLivePhotoOverlay: true,
|
shouldShowLivePhotoOverlay: true,
|
||||||
key: Key(widget.tag + file.tag),
|
key: Key(widget.tag + file.tag),
|
||||||
thumbnailSize: Configuration.instance.getAlbumGridSize() <
|
thumbnailSize: LocalSettings.instance.getAlbumGridSize() <
|
||||||
defaultAlbumGridSize
|
defaultAlbumGridSize
|
||||||
? thumbnailLargeSize
|
? thumbnailLargeSize
|
||||||
: thumbnailSmallSize,
|
: thumbnailSmallSize,
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:photos/core/constants.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
|
||||||
enum AlbumSortKey {
|
enum AlbumSortKey {
|
||||||
|
@ -11,6 +12,8 @@ class LocalSettings {
|
||||||
|
|
||||||
static final LocalSettings instance = LocalSettings._privateConstructor();
|
static final LocalSettings instance = LocalSettings._privateConstructor();
|
||||||
static const kCollectionSortPref = "collection_sort_pref";
|
static const kCollectionSortPref = "collection_sort_pref";
|
||||||
|
static const keyAlbumGridSize = "album_grid_size";
|
||||||
|
|
||||||
late SharedPreferences _prefs;
|
late SharedPreferences _prefs;
|
||||||
|
|
||||||
void init(SharedPreferences preferences) {
|
void init(SharedPreferences preferences) {
|
||||||
|
@ -24,4 +27,16 @@ class LocalSettings {
|
||||||
Future<bool> setAlbumSortKey(AlbumSortKey key) {
|
Future<bool> setAlbumSortKey(AlbumSortKey key) {
|
||||||
return _prefs.setInt(kCollectionSortPref, key.index);
|
return _prefs.setInt(kCollectionSortPref, key.index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int getAlbumGridSize() {
|
||||||
|
if (_prefs.containsKey(keyAlbumGridSize)) {
|
||||||
|
return _prefs.getInt(keyAlbumGridSize)!;
|
||||||
|
} else {
|
||||||
|
return defaultAlbumGridSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> setAlbumGridSize(int value) async {
|
||||||
|
await _prefs.setInt(keyAlbumGridSize, value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue