Enhance AppSettings and RentController to manage not-occupied months, add lifetime summary to SettingsScreen, and update tests for compatibility
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
@@ -5,6 +5,7 @@ class AppSettings {
|
||||
required this.rentUsd,
|
||||
required this.occupied,
|
||||
this.notOccupiedFromYearMonth,
|
||||
this.notOccupiedMonths = const <String>[],
|
||||
this.localFallbackHour = 9,
|
||||
this.localQuietHourStart = 23,
|
||||
});
|
||||
@@ -12,6 +13,7 @@ class AppSettings {
|
||||
final double rentUsd;
|
||||
final bool occupied;
|
||||
final String? notOccupiedFromYearMonth;
|
||||
final List<String> notOccupiedMonths;
|
||||
final int localFallbackHour;
|
||||
final int localQuietHourStart;
|
||||
|
||||
@@ -23,6 +25,7 @@ class AppSettings {
|
||||
double? rentUsd,
|
||||
bool? occupied,
|
||||
String? notOccupiedFromYearMonth,
|
||||
List<String>? notOccupiedMonths,
|
||||
bool clearNotOccupiedFromYearMonth = false,
|
||||
int? localFallbackHour,
|
||||
int? localQuietHourStart,
|
||||
@@ -33,6 +36,7 @@ class AppSettings {
|
||||
notOccupiedFromYearMonth: clearNotOccupiedFromYearMonth
|
||||
? null
|
||||
: (notOccupiedFromYearMonth ?? this.notOccupiedFromYearMonth),
|
||||
notOccupiedMonths: notOccupiedMonths ?? this.notOccupiedMonths,
|
||||
localFallbackHour: localFallbackHour ?? this.localFallbackHour,
|
||||
localQuietHourStart: localQuietHourStart ?? this.localQuietHourStart,
|
||||
);
|
||||
@@ -43,6 +47,7 @@ class AppSettings {
|
||||
'rentUsd': rentUsd,
|
||||
'occupied': occupied,
|
||||
'notOccupiedFromYearMonth': notOccupiedFromYearMonth,
|
||||
'notOccupiedMonths': notOccupiedMonths,
|
||||
'localFallbackHour': localFallbackHour,
|
||||
'localQuietHourStart': localQuietHourStart,
|
||||
};
|
||||
@@ -53,6 +58,10 @@ class AppSettings {
|
||||
rentUsd: (json['rentUsd'] ?? 0).toDouble(),
|
||||
occupied: json['occupied'] ?? true,
|
||||
notOccupiedFromYearMonth: json['notOccupiedFromYearMonth'] as String?,
|
||||
notOccupiedMonths:
|
||||
(json['notOccupiedMonths'] as List<dynamic>? ?? const <dynamic>[])
|
||||
.whereType<String>()
|
||||
.toList(),
|
||||
localFallbackHour: json['localFallbackHour'] ?? 9,
|
||||
localQuietHourStart: json['localQuietHourStart'] ?? 23,
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user