Type Annotation Fixes:
- fireNotificationList.dart: Added DeleteFireNotificationFunction and TapFireNotificationFunction types to _buildRow and _buildSavedFireNotifications parameters
- homePage.dart: Added Object type to catchError handler parameters
- redux/appReducer.dart: Added dynamic type annotation to action parameter
- redux/fetchDataMiddleware.dart: Added explicit type annotations and improved type casting
- redux/reducers.dart: Added dynamic type annotation to action parameter
- redux/userReducer.dart: Added dynamic type annotation to action parameter
Android Build Configuration Updates:
- Updated compileSdkVersion and targetSdkVersion from 34 to 36 to match plugin requirements
- Moved plugins {} block to first position (Gradle 8.14 requirement)
- Added dev.flutter.flutter-gradle-plugin to plugins block for modern Flutter integration
- Removed deprecated useProguard setting, replaced with shrinkResources
- Disabled Jetifier (android.enableJetifier=false) to improve build performance
- Increased JVM heap allocation to 4096M for large project compilation
- Added Kotlin language version 1.8 override for plugin compatibility
- Added ProGuard rules to exclude optional Google Play Core classes
Build Results:
- ✅ APK builds successfully (146MB debug APK)
- ✅ Zero type inference errors detected by dart analyze
- ✅ Kotlin compilation passes
- ✅ R8 minification configured correctly
- ✅ 301 remaining issues are all INFO-level style suggestions (non-blocking)
38 lines
1.5 KiB
Dart
38 lines
1.5 KiB
Dart
// GENERATED CODE - DO NOT MODIFY BY HAND
|
|
|
|
part of 'fireNotification.dart';
|
|
|
|
// **************************************************************************
|
|
// JsonSerializableGenerator
|
|
// **************************************************************************
|
|
|
|
FireNotification _$FireNotificationFromJson(Map<dynamic,dynamic> json) => $checkedCreate(
|
|
'FireNotification',
|
|
json,
|
|
($checkedConvert) {
|
|
final val = FireNotification(
|
|
id: $checkedConvert('id', (v) => objectIdFromJson(v as String)),
|
|
lat: $checkedConvert('lat', (v) => (v as num).toDouble()),
|
|
lon: $checkedConvert('lon', (v) => (v as num).toDouble()),
|
|
description: $checkedConvert('description', (v) => v as String),
|
|
when: $checkedConvert('when', (v) => DateTime.parse(v as String)),
|
|
read: $checkedConvert('read', (v) => v as bool),
|
|
sealed: $checkedConvert('sealed', (v) => v as String),
|
|
subsId:
|
|
$checkedConvert('subsId', (v) => objectIdFromJson(v as String)),
|
|
);
|
|
return val;
|
|
},
|
|
);
|
|
|
|
Map<String, dynamic> _$FireNotificationToJson(FireNotification instance) =>
|
|
<String, dynamic>{
|
|
'id': objectIdToJson(instance.id),
|
|
'lat': instance.lat,
|
|
'lon': instance.lon,
|
|
'description': instance.description,
|
|
'when': instance.when.toIso8601String(),
|
|
'sealed': instance.sealed,
|
|
'subsId': objectIdToJson(instance.subsId),
|
|
'read': instance.read,
|
|
};
|