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)
29 lines
1.2 KiB
Dart
29 lines
1.2 KiB
Dart
import '../models/appState.dart';
|
|
import 'appReducer.dart';
|
|
import 'errorReducer.dart';
|
|
import 'fireMapReducer.dart';
|
|
import 'fireNotificationReducer.dart';
|
|
import 'loadedReducer.dart';
|
|
import 'loadingReducer.dart';
|
|
import 'userReducer.dart';
|
|
import 'yourLocationsReducer.dart';
|
|
|
|
// We create the State reducer by combining many smaller reducers into one!
|
|
AppState appStateReducer(AppState prevState, dynamic action) {
|
|
final AppState state = appReducer(prevState, action);
|
|
return AppState(
|
|
yourLocations: yourLocationsReducer(state.yourLocations, action),
|
|
fireNotifications:
|
|
fireNotificationReducer(state.fireNotifications, action),
|
|
fireNotificationsUnread: state.fireNotificationsUnread,
|
|
user: userReducer(state.user, action),
|
|
isLoading: loadingReducer(state.isLoading, action),
|
|
isLoaded: loadedReducer(state.isLoaded, action),
|
|
error: errorReducer(state.error, action),
|
|
fireMapState: fireMapReducer(state.fireMapState, action),
|
|
monitoredAreas: state.monitoredAreas,
|
|
firesApiKey: state.firesApiKey,
|
|
firesApiUrl: state.firesApiUrl,
|
|
serverUrl: state.serverUrl,
|
|
gmapKey: state.gmapKey);
|
|
}
|