mirror of
https://github.com/nisrulz/flutter-examples.git
synced 2026-08-31 20:21:00 +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:
@@ -1,12 +1,7 @@
|
||||
# This file configures the analyzer, which statically analyzes Dart code to
|
||||
# check for errors, warnings, and lints.
|
||||
#
|
||||
# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
|
||||
# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
|
||||
# invoked from the command line by running `flutter analyze`.
|
||||
# Lint rules for Flutter apps.
|
||||
# See https://dart.dev/guides/language/analysis-options
|
||||
include: package:flutter_lints/flutter.yaml
|
||||
|
||||
# The following line activates a set of recommended lints for Flutter apps,
|
||||
# packages, and plugins designed to encourage good coding practices.
|
||||
analyzer:
|
||||
exclude:
|
||||
- build/**
|
||||
@@ -16,23 +11,13 @@ analyzer:
|
||||
- windows/**
|
||||
- macos/**
|
||||
- linux/**
|
||||
include: package:flutter_lints/flutter.yaml
|
||||
|
||||
linter:
|
||||
# The lint rules applied to this project can be customized in the
|
||||
# section below to disable rules from the `package:flutter_lints/flutter.yaml`
|
||||
# included above or to enable additional rules. A list of all available lints
|
||||
# and their documentation is published at
|
||||
# https://dart-lang.github.io/linter/lints/index.html.
|
||||
#
|
||||
# Instead of disabling a lint rule for the entire project in the
|
||||
# section below, it can also be suppressed for a single line of code
|
||||
# or a specific dart file by using the `// ignore: name_of_lint` and
|
||||
# `// ignore_for_file: name_of_lint` syntax on the line or in the file
|
||||
# producing the lint.
|
||||
rules:
|
||||
# avoid_print: false # Uncomment to disable the `avoid_print` rule
|
||||
# prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule
|
||||
|
||||
# Additional information about this file can be found at
|
||||
# https://dart.dev/guides/language/analysis-options
|
||||
# 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
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class HomeScreen extends StatefulWidget {
|
||||
const HomeScreen({Key? key}) : super(key: key);
|
||||
const HomeScreen({super.key});
|
||||
|
||||
@override
|
||||
State<HomeScreen> createState() => _HomeScreenState();
|
||||
}
|
||||
|
||||
class _HomeScreenState extends State<HomeScreen> with SingleTickerProviderStateMixin {
|
||||
class _HomeScreenState extends State<HomeScreen>
|
||||
with SingleTickerProviderStateMixin {
|
||||
late final AnimationController _controller = AnimationController(
|
||||
vsync: this,
|
||||
duration: const Duration(milliseconds: 350),
|
||||
@@ -18,11 +19,14 @@ class _HomeScreenState extends State<HomeScreen> with SingleTickerProviderStateM
|
||||
int _counter = 0;
|
||||
bool _canDragged = false;
|
||||
|
||||
void _openCloseDrawer() => _controller.isDismissed ? _controller.forward() : _controller.reverse();
|
||||
void _openCloseDrawer() =>
|
||||
_controller.isDismissed ? _controller.forward() : _controller.reverse();
|
||||
|
||||
void _onDragStart(DragStartDetails details) {
|
||||
bool isDragLeft = _controller.isDismissed && details.globalPosition.dx < dragStartPosition;
|
||||
bool isDragRight = _controller.isCompleted && details.globalPosition.dx > dragStartPosition;
|
||||
bool isDragLeft = _controller.isDismissed &&
|
||||
details.globalPosition.dx < dragStartPosition;
|
||||
bool isDragRight = _controller.isCompleted &&
|
||||
details.globalPosition.dx > dragStartPosition;
|
||||
_canDragged = isDragLeft || isDragRight;
|
||||
}
|
||||
|
||||
@@ -38,7 +42,8 @@ class _HomeScreenState extends State<HomeScreen> with SingleTickerProviderStateM
|
||||
return;
|
||||
}
|
||||
if (details.velocity.pixelsPerSecond.dx.abs() >= 365) {
|
||||
var visualVelocity = details.velocity.pixelsPerSecond.dx / MediaQuery.of(context).size.width;
|
||||
var visualVelocity = details.velocity.pixelsPerSecond.dx /
|
||||
MediaQuery.of(context).size.width;
|
||||
_controller.fling(velocity: visualVelocity);
|
||||
} else if (_controller.value < 0.5) {
|
||||
_controller.reverse();
|
||||
@@ -66,9 +71,9 @@ class _HomeScreenState extends State<HomeScreen> with SingleTickerProviderStateM
|
||||
_homeDrawer(context),
|
||||
Transform(
|
||||
transform: Matrix4.identity()
|
||||
..translate(slide)
|
||||
..translateByDouble(slide, 0, 0, 1)
|
||||
..rotateZ(rotate)
|
||||
..scale(scale),
|
||||
..scaleByDouble(scale, scale, scale, 1),
|
||||
alignment: Alignment.centerLeft,
|
||||
child: _homeView(context),
|
||||
)
|
||||
|
||||
@@ -20,7 +20,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||
version: 1.0.0+1
|
||||
|
||||
environment:
|
||||
sdk: '>=2.18.2 <3.0.0'
|
||||
sdk: ">=3.0.0 <4.0.0"
|
||||
|
||||
# Dependencies specify other packages that your package needs in order to work.
|
||||
# To automatically upgrade your package dependencies to the latest versions
|
||||
|
||||
Reference in New Issue
Block a user