Replace Configuration with LocalSettings

This commit is contained in:
vishnukvmd 2022-12-07 07:04:50 +05:30
parent 38bc4b8e68
commit d9daaeef9f
4 changed files with 22 additions and 20 deletions

View file

@ -59,7 +59,6 @@ class Configuration {
static const keyAttributesKey = "key_attributes";
static const keyKey = "key";
static const keyShouldBackupOverMobileData = "should_backup_over_mobile_data";
static const keyAlbumGridSize = "album_grid_size";
static const keyShouldBackupVideos = "should_backup_videos";
// 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 {
await _preferences.setBool(keyShouldBackupOverMobileData, value);
if (value) {

View file

@ -1,6 +1,5 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/core/event_bus.dart';
import 'package:photos/ente_theme_data.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/title_bar_title_widget.dart';
import 'package:photos/ui/components/title_bar_widget.dart';
import 'package:photos/utils/local_settings.dart';
class AdvancedSettingsScreen extends StatefulWidget {
const AdvancedSettingsScreen({super.key});
@ -20,11 +20,10 @@ class AdvancedSettingsScreen extends StatefulWidget {
class _AdvancedSettingsScreenState extends State<AdvancedSettingsScreen> {
late int _albumGridSize, _chosenGridSize;
final _config = Configuration.instance;
@override
void initState() {
_albumGridSize = _config.getAlbumGridSize();
_albumGridSize = LocalSettings.instance.getAlbumGridSize();
_chosenGridSize = _albumGridSize;
super.initState();
}
@ -151,7 +150,8 @@ class _AdvancedSettingsScreenState extends State<AdvancedSettingsScreen> {
),
CupertinoButton(
onPressed: () async {
await _config.setAlbumGridSize(_chosenGridSize);
await LocalSettings.instance
.setAlbumGridSize(_chosenGridSize);
Bus.instance.fire(
ForceReloadHomeGalleryEvent("grid size changed"),
);

View file

@ -7,7 +7,6 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:logging/logging.dart';
import 'package:photos/core/configuration.dart';
import 'package:photos/core/constants.dart';
import 'package:photos/core/event_bus.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/gallery/gallery.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:visibility_detector/visibility_detector.dart';
@ -388,7 +388,7 @@ class _LazyLoadingGridViewState extends State<LazyLoadingGridView> {
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisSpacing: 2,
mainAxisSpacing: 2,
crossAxisCount: Configuration.instance.getAlbumGridSize(),
crossAxisCount: LocalSettings.instance.getAlbumGridSize(),
),
padding: const EdgeInsets.all(0),
);
@ -426,7 +426,7 @@ class _LazyLoadingGridViewState extends State<LazyLoadingGridView> {
serverLoadDeferDuration: thumbnailServerLoadDeferDuration,
shouldShowLivePhotoOverlay: true,
key: Key(widget.tag + file.tag),
thumbnailSize: Configuration.instance.getAlbumGridSize() <
thumbnailSize: LocalSettings.instance.getAlbumGridSize() <
defaultAlbumGridSize
? thumbnailLargeSize
: thumbnailSmallSize,

View file

@ -1,3 +1,4 @@
import 'package:photos/core/constants.dart';
import 'package:shared_preferences/shared_preferences.dart';
enum AlbumSortKey {
@ -11,6 +12,8 @@ class LocalSettings {
static final LocalSettings instance = LocalSettings._privateConstructor();
static const kCollectionSortPref = "collection_sort_pref";
static const keyAlbumGridSize = "album_grid_size";
late SharedPreferences _prefs;
void init(SharedPreferences preferences) {
@ -24,4 +27,16 @@ class LocalSettings {
Future<bool> setAlbumSortKey(AlbumSortKey key) {
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);
}
}