1
0
mirror of https://github.com/nisrulz/flutter-examples.git synced 2026-08-25 01:05:36 +00:00

refactor: standardize Dart and Android config across all 54 apps

- Bump all apps to sdk >=3.0.0 <4.0.0 and add flutter_lints + a shared
  analysis_options.yaml to every app (flutter analyze is now green repo-wide)
- Fix real compile errors in firebase_google_authentication and image_editor,
  plus deprecated APIs (Matrix4, SvgPicture.color, textScaleFactor),
  missing async 'mounted' guards, and misc lints via dart fix + manual fixes
- Align pubspec 'name' with each folder and Android namespace/applicationId
  with the documented github.nisrulz.* convention
- Convert bmi_calculator from a legacy Flutter module to a standard app
  with a proper android/ scaffold; fix missing android:exported in launcher
  manifests across 22 apps so all Android builds pass
- Untrack generated build files (GeneratedPluginRegistrant,
  .flutter-plugins-dependencies) and ignore them
This commit is contained in:
Nishant Srivastava
2026-08-17 17:26:39 +02:00
parent c8d2d4fffc
commit 5c53498119
297 changed files with 2037 additions and 930 deletions

View File

@@ -0,0 +1,23 @@
# Lint rules for Flutter apps.
# See https://dart.dev/guides/language/analysis-options
include: package:flutter_lints/flutter.yaml
analyzer:
exclude:
- build/**
- android/**
- ios/**
- web/**
- windows/**
- macos/**
- linux/**
linter:
rules:
# Noise in small sample apps; keep the code readable.
avoid_print: false
avoid_unnecessary_containers: false
file_names: false
library_private_types_in_public_api: false
non_constant_identifier_names: false
strict_top_level_inference: false

View File

@@ -5,6 +5,7 @@
android:icon="@mipmap/ic_launcher">
<activity
android:name="io.flutter.embedding.android.FlutterActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"

View File

@@ -5,7 +5,7 @@ import 'package:news_memes_app/Screens/NewsScreen.dart';
import 'package:news_memes_app/services/getNews.dart';
class HomePage extends StatefulWidget {
const HomePage({Key? key}) : super(key: key);
const HomePage({super.key});
@override
_HomePageState createState() => _HomePageState();

View File

@@ -4,7 +4,7 @@ import 'package:news_memes_app/services/getMemes.dart';
import 'package:share_plus/share_plus.dart';
class MemeScreen extends StatefulWidget {
const MemeScreen({Key? key}) : super(key: key);
const MemeScreen({super.key});
@override
_MemeScreenState createState() => _MemeScreenState();

View File

@@ -4,17 +4,13 @@ import 'package:news_memes_app/services/getNews.dart';
class NewsScreen extends StatefulWidget {
final List<NewsModel> news;
NewsScreen(this.news);
const NewsScreen(this.news, {super.key});
@override
_NewsScreenState createState() => _NewsScreenState(news);
State<NewsScreen> createState() => _NewsScreenState();
}
class _NewsScreenState extends State<NewsScreen> {
List<NewsModel> news;
_NewsScreenState(this.news);
@override
Widget build(BuildContext context) {
final Size size = MediaQuery.of(context).size;
@@ -25,7 +21,7 @@ class _NewsScreenState extends State<NewsScreen> {
child: InteractiveViewer(
child: ListView(
// magnification: 1.2,
children: news
children: widget.news
.map((e) => Padding(
padding: const EdgeInsets.symmetric(
vertical: 15, horizontal: 20),

View File

@@ -35,6 +35,7 @@ dependencies:
dev_dependencies:
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0
change_app_package_name: ^1.5.0
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec