- introPage.dart: Convert fireItems to proper static function closure - mainDrawer.dart: Convert unreadCount int to String for Text widget
97 lines
2.8 KiB
Dart
97 lines
2.8 KiB
Dart
import 'package:meta/meta.dart';
|
|
|
|
import 'fireNotification.dart';
|
|
import 'yourLocation.dart';
|
|
|
|
enum FireMapStatus {
|
|
view,
|
|
subscriptionConfirm,
|
|
unsubscribe,
|
|
edit,
|
|
viewFireNotification
|
|
}
|
|
|
|
enum FireMapLayer { osmcGrey, esriSatellite, osmc, esri, esriTerrain }
|
|
|
|
@immutable
|
|
class FireMapState {
|
|
|
|
const FireMapState(
|
|
{this.status = FireMapStatus.view,
|
|
this.layer = FireMapLayer.osmcGrey,
|
|
this.yourLocation,
|
|
this.numFires = 0,
|
|
this.fires = const <dynamic>[],
|
|
this.fireNotification,
|
|
this.falsePos = const <dynamic>[],
|
|
this.industries = const <dynamic>[]});
|
|
|
|
const FireMapState.initial()
|
|
: status = FireMapStatus.view,
|
|
layer = FireMapLayer.osmcGrey,
|
|
yourLocation = null,
|
|
fireNotification = null,
|
|
numFires = 0,
|
|
fires = const <dynamic>[],
|
|
falsePos = const <dynamic>[],
|
|
industries = const <dynamic>[];
|
|
final FireMapStatus status;
|
|
final FireMapLayer layer;
|
|
final int numFires;
|
|
final FireNotification? fireNotification;
|
|
final List<dynamic> fires;
|
|
final List<dynamic> falsePos;
|
|
final List<dynamic> industries;
|
|
final YourLocation? yourLocation;
|
|
|
|
FireMapState copyWith({
|
|
FireMapStatus? status,
|
|
FireMapLayer? layer,
|
|
YourLocation? yourLocation,
|
|
FireNotification? fireNotication,
|
|
int? numFires,
|
|
List<dynamic>? fires,
|
|
List<dynamic>? falsePos,
|
|
List<dynamic>? industries,
|
|
}) {
|
|
return FireMapState(
|
|
yourLocation: yourLocation ?? this.yourLocation,
|
|
fireNotification: fireNotication ?? fireNotification,
|
|
numFires: numFires ?? this.numFires,
|
|
fires: fires ?? this.fires,
|
|
falsePos: falsePos ?? this.falsePos,
|
|
industries: industries ?? this.industries,
|
|
layer: layer ?? this.layer,
|
|
status: status ?? this.status);
|
|
}
|
|
|
|
@override
|
|
bool operator ==(Object other) =>
|
|
identical(this, other) ||
|
|
other is FireMapState &&
|
|
runtimeType == other.runtimeType &&
|
|
status == other.status &&
|
|
layer == other.layer &&
|
|
numFires == other.numFires &&
|
|
fireNotification == other.fireNotification &&
|
|
fires == other.fires &&
|
|
falsePos == other.falsePos &&
|
|
industries == other.industries &&
|
|
yourLocation == other.yourLocation;
|
|
|
|
@override
|
|
int get hashCode =>
|
|
status.hashCode ^
|
|
layer.hashCode ^
|
|
numFires.hashCode ^
|
|
fireNotification.hashCode ^
|
|
fires.hashCode ^
|
|
falsePos.hashCode ^
|
|
industries.hashCode ^
|
|
yourLocation.hashCode;
|
|
|
|
@override
|
|
String toString() {
|
|
return 'FireMapState{status: $status, layer: $layer, numFires: $numFires, fires: ${fires.length}, falsePos: ${falsePos.length}, industries: ${industries.length}, yourLocation: $yourLocation, fireNotification: $fireNotification}';
|
|
}
|
|
}
|