No description
Find a file
vjrj 1864e5b105 fix: resolve 78 strict analysis errors with explicit type annotations
Implemented systematic type safety improvements across the codebase to eliminate all 78 strict analysis errors:

## Phase 1: Quick Wins (Redux & Model Fixes)
- Added explicit type annotations to Redux reducer parameters
- Fixed copyWith() methods in FireNotification and YourLocation models with proper nullable types
- Fixed BasicLocation field initializers with type casts (num to double)
- Fixed context parameter inference in IntroPage and PrivacyPage
- Regenerated .g.dart files with build_runner

## Phase 2: JSON Deserialization
- Fixed homePage.dart Firebase message parameter casting (9 errors)
- Fixed firesApi.dart JSON parsing:
  - Added explicit casts for num to double/int conversions
  - Fixed array iteration with proper List<dynamic> casting
  - Added return type annotation to objectIdFromJson()
  - Fixed nested JSON access in getMonitoredAreas()
- Fixed globalFiresBottomStats.dart dynamic to int/String casting
- Fixed locationUtils.dart string assignments

## Phase 3: Config & Redux Middleware
- Fixed mainCommon.dart config map access with explicit String casts
- Fixed mainProd.dart Sentry DSN casting
- Fixed fetchDataMiddleware.dart:
  - Added Store<AppState>, String type annotations to createUser()
  - Added Function(YourLocation) type to subscribeViaApi callback
  - Added Exception type to catchError handler
- Fixed fireMapReducer.dart restoreStatusAfterSave parameter type
- Fixed persist files with Map<String, dynamic> type annotations

## Phase 4: Edge Cases
- Fixed slider.dart method return types (Widget sizeText, Widget warningText)
- Fixed mainDrawer.dart Key? parameter type annotation

Result: 78 errors → 0 errors
2026-03-06 10:47:12 +01:00
android Fix critical Firebase messaging and null-safety errors 2026-03-05 02:31:22 +01:00
assets Added -dev stettings 2018-09-16 08:06:37 +02:00
images More play artwork 2018-08-06 10:35:10 +02:00
ios Migrate fires_flutter to flutter_map v6.1.0 and complete major null-safety fixes 2026-03-05 02:10:14 +01:00
lib fix: resolve 78 strict analysis errors with explicit type annotations 2026-03-06 10:47:12 +01:00
res/values Fire press dialog 2018-09-16 08:10:56 +02:00
test Markdown. Privacy Policies. Injection dep updated 2018-07-12 09:57:31 +02:00
.flutter-plugins-dependencies update plugin deps 2026-03-05 03:04:46 +01:00
.gitignore Dev settings 2018-09-15 09:43:40 +02:00
.metadata Initial commit 2018-06-08 11:30:33 +02:00
build.yaml Last changes not published 2026-03-05 01:18:27 +01:00
fires_flutter.iml Initial commit 2018-06-08 11:30:33 +02:00
fires_flutter_android.iml Initial commit 2018-06-08 11:30:33 +02:00
pubspec.yaml Fix remaining compilation errors: null-safety, removed packages, and nullable handling 2026-03-05 02:50:32 +01:00
README.md Added Monitorized Areas 2018-08-06 10:34:32 +02:00

Tod@s contra el Fuego (All Against Fire) mobile

This is app that notifies about fires detected in an area of your interest. It helps the early detection of fires and facilitates local mobilization, while the professional extinction services arrive.

Install

Via Play

Development

This app is developed with flutter. So if you want to contribute, please install it.

You also needs a:

  • assets/private-settings.json see assets/private-settings-sample.json.
  • google-services.json provided by firebase console (see also the sample).

Some json related code is generated via

flutter packages pub run build_runner build --delete-conflicting-outputs

also you can run with watch instead of build to build with any code change.

Generate apk with:

flutter build apk -t lib/mainProd.dart --flavor production

also you can run with -t lib/mainDev.dart --flavor development. More info about flavors here.

Testing

Run flutter test for doing unit testing.

Data source acknowledgements

We acknowledge the use of data and imagery from LANCE FIRMS operated by the NASA/GSFC/Earth Science Data and Information System (ESDIS) with funding provided by NASA/HQ.

License

GNU APLv3. See our LICENSE, for a complete text.

Thanks & other acknowlegments

(...)