8da3752193
Fix 23 additional lint issues to reduce from 129 to 106 issues
...
- Add const constructors to @immutable classes (5 issues: prefer_const_constructors_in_immutables)
- Fix nullable value casts in firesApi.dart (3 issues: cast_nullable_to_non_nullable)
- Remove redundant default argument values (2 issues: avoid_redundant_argument_values)
- Make YourLocation immutable with final fields (2 issues: avoid_equals_and_hash_code_on_mutable_classes)
- Update imports and fix formatting
Reduces lint issues from 129 to 106. APK builds successfully (146 MB).
2026-03-11 23:45:06 +01:00
270d9a569e
Remove info-level lint issues: avoid_dynamic_calls, use_build_context_synchronously, avoid_print, non_constant_identifier_names
...
- Type dynamic map accesses properly (avoid_dynamic_calls in genericMap, globalFiresBottomStats)
- Capture context before async gaps (use_build_context_synchronously in genericMap, genericMapBottom, globalFiresBottomStats)
- Replace print() with debugPrint() (avoid_print in firesApi.dart)
- Rename fireMarker function and _LayerSelectorButton to camelCase
- Rename variable FireNotifications to fireNotifications
- Fix no_default_cases in switch statements (add missing subscriptionConfirm case)
- Make FireNotification fields final, remove @immutable from YourLocation (mutable)
- Make monitoredAreas field final in _ViewModel
- Update subscribeViaApi to use copyWith instead of direct field assignment
2026-03-11 16:53:48 +01:00
68ad4adbcf
refactor: continue lint cleanup - 96 more issues fixed
...
- Add @immutable to classes with ==/hashCode (homePage, basicLocation, fireNotification, yourLocation, monitoredAreas)
- Fix camel_case_types (genericMap → GenericMap)
- Fix avoid_dynamic_calls (firesApi - typed responses)
- Fix use_build_context_synchronously (locationUtils)
- Fix always_put_control_body_on_new_line (4 reducers)
- Fix always_specify_types (placesAutocompleteUtils, reducers)
- Fix eol_at_end_of_file (4 files)
- Fix prefer_function_declarations_over_variables (introPage)
- Fix flutter_style_todos (fireMapReducer)
Build: APK generated, 0 errors, 0 warnings
2026-03-07 11:17:01 +01:00
862d423f6b
refactor: fix remaining lint warnings and deprecated APIs
...
- Fix deprecated @ignore in json_serializable models (appState, yourLocation)
- Fix empty catch blocks in compassMapPlugin, globalFiresBottomStats, locationUtils
- Fix no_logic_in_create_state in firesApp, markdownPage, slider
- Fix use_build_context_synchronously in fireAlert
- Fix only_throw_errors in firesApi (8 instances)
- Exclude generated .g.dart files from analysis
- Update deprecated nullable: false to @JsonSerializable()
Build: APK generated successfully, 0 errors, 0 warnings
2026-03-07 09:35:59 +01:00
948a609619
fix: lazy initialize YourLocation.noLocation to prevent LateInitializationError
...
The static field 'noLocation' was never initialized after removing the
_initNoLocation() function. Changed to a lazy getter that initializes
on first access to prevent runtime crash.
2026-03-06 23:03:00 +01:00
ea588a9753
refactor: clean up 55 lint warnings and issues
...
- Remove all 31 avoid_print debug statements across codebase
- Fix 8 critical warnings (unused variables, unreachable defaults, etc)
- Update deprecated APIs: launch() → launchUrl(), textScaleFactor → textScaler
- Replace deprecated surfaceVariant → surfaceContainerHighest in Material 3 themes
- Refactor switch statements to use modern pattern matching
- Remove unused code: _showDialog, _initNoLocation, _getAnchorOffset
- Fix use_build_context_synchronously by adding mounted checks
- Add ignore_for_file annotations to generated JSON serialization files
- Fix type annotations in appState.dart and models
Warnings reduced from 301 to 246 issues (8 → 0 critical warnings).
Build verified: app-production-debug.apk (160MB) compiles successfully.
Zero type errors, Dart analysis clean for critical issues.
2026-03-06 22:47:27 +01:00
7a4c9fb3bc
fix: resolve 2 remaining strict analysis errors
...
- introPage.dart: Convert fireItems to proper static function closure
- mainDrawer.dart: Convert unreadCount int to String for Text widget
2026-03-06 11:21:06 +01:00
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
a7f3ab6974
Fix remaining compilation errors: null-safety, removed packages, and nullable handling
...
- Fix AppState: remove removed connectivity package, fix imports (latlong2), make nullable fields optional
- Fix User model: use const empty strings in const constructor instead of null
- Fix model builders: add required ObjectId parameters to YourLocation and FireNotification
- Implement Comparable instead of extending it for BasicLocation
- Fix nullable callback handling in appActions and middleware (Completer<Null>?)
- Add null checks for BuildContext in dialogs (fireAlert, homePage, etc.)
- Fix nullable scaffold state access using ?. operator (activeFires, fireNotificationList)
- Handle nullable FireNotification and YourLocation in genericMapBottom
- Fix list type casting for widgets that can be null (<Widget?> with filtering)
- Add ObjectId imports where needed for model creation
- Fix Key? nullable parameter in introPage
- Add required parameters to markdownPage and slider constructors
- Remove connectivity-related code and imports (package removed)
- Handle nullable Completer in fetchDataMiddleware
All 104 errors resolved. 0 errors, 61 warnings/info remaining.
2026-03-05 02:50:32 +01:00
eb0d19621c
Migrate fires_flutter to flutter_map v6.1.0 and complete major null-safety fixes
...
- Updated Android build files: gradle plugin 8.2.2, gradle 8.3, SDK 34, minSdk 21
- Ran dart fix --apply for 87 automatic null-safety fixes
- Migrated flutter_map v6 API breaking changes:
- MapOptions: center → initialCenter, zoom → initialZoom
- layers → children structure
- TileLayerOptions/MarkerLayerOptions/PolylineLayerOptions → TileLayer/MarkerLayer/PolylineLayer
- Removed plugin_api.dart imports
- Converted old plugin system (ZoomMapPlugin, AttributionPlugin, etc.) to direct widgets
- Updated onTap callback signature: (TapPosition) → (TapPosition, LatLng)
- Migrated all marker/polyline creation to v6 API
- Fixed FlatButton → TextButton deprecation
- Fixed stackTrace access with catch(e, stackTrace) pattern
- Removed deprecated flutter_google_places_autocomplete dependency
- Removed deprecated dependencies: latlong, connectivity, launch_review
- Updated all imports from latlong → latlong2
- Placeholder implementation for places autocomplete (feature temporarily disabled)
Remaining tasks (non-blocking for build):
- Complete null-safety fixes for _location variables in genericMap.dart
- Fix theme.dart MaterialTheme parameter issues
- Fix customStepper.dart null-safety issues
- Final build and testing
2026-03-05 02:10:14 +01:00
21ec08303a
Last changes not published
2026-03-05 01:18:27 +01:00
Vicente J. Ruiz Jurado
74b0d37839
More fire stats
2018-08-01 22:17:57 +02:00
Vicente J. Ruiz Jurado
9dd8a7de97
More work with fire notifications
2018-07-31 12:51:10 +02:00
vjrj
87718b7ad5
Location edition
2018-07-05 12:50:08 +02:00
vjrj
7dddf03e32
More redux work in fires page
2018-06-28 10:42:59 +02:00
vjrj
5d947f9577
More redux work
2018-06-27 22:29:54 +02:00
vjrj
866e776389
Redux (wip)
2018-06-27 12:08:36 +02:00