fix: Resolve Dart type inference errors and update Android build configuration for Gradle 8.14
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)
This commit is contained in:
parent
956165c524
commit
7812ed951e
19 changed files with 129 additions and 111 deletions
|
|
@ -97,20 +97,14 @@ Widget mainDrawer(BuildContext context, String currentRoute) {
|
|||
leading: const Icon(Icons.notifications),
|
||||
selected: currentRoute == FireNotificationList.routeName,
|
||||
title: Text(S.of(context).fireNotificationsTitleShort),
|
||||
trailing: SizedBox(
|
||||
width: 100,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: <Widget>[
|
||||
badges_pkg.Badge(
|
||||
position: badges_pkg.BadgePosition.topEnd(
|
||||
top: -10, end: -12),
|
||||
badgeContent: Text(
|
||||
view.unreadCount.toString(),
|
||||
style: const TextStyle(color: Colors.white),
|
||||
),
|
||||
child: const Icon(Icons.notifications))
|
||||
])),
|
||||
trailing: badges_pkg.Badge(
|
||||
position:
|
||||
badges_pkg.BadgePosition.topEnd(top: -10, end: -12),
|
||||
badgeContent: Text(
|
||||
view.unreadCount.toString(),
|
||||
style: const TextStyle(color: Colors.white),
|
||||
),
|
||||
child: const Icon(Icons.notifications)),
|
||||
|
||||
// Text(S.of(context).fireNotificationsTitleShort),
|
||||
onTap: () {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue