fixes, upgrades
This commit is contained in:
parent
0a482e6ccf
commit
7b9213e82e
50 changed files with 216 additions and 232 deletions
|
@ -725,12 +725,19 @@ class MediaStoreImageProvider : ImageProvider() {
|
||||||
val df = StorageUtils.getDocumentFile(activity, oldPath, oldMediaUri)
|
val df = StorageUtils.getDocumentFile(activity, oldPath, oldMediaUri)
|
||||||
df ?: throw Exception("failed to get document at path=$oldPath")
|
df ?: throw Exception("failed to get document at path=$oldPath")
|
||||||
|
|
||||||
|
val requestedName = newFile.name
|
||||||
val renamed = df.renameTo(newFile.name)
|
val renamed = df.renameTo(newFile.name)
|
||||||
if (!renamed) {
|
if (!renamed) {
|
||||||
throw Exception("failed to rename document at path=$oldPath")
|
throw Exception("failed to rename document at path=$oldPath")
|
||||||
}
|
}
|
||||||
|
val effectiveName = df.name
|
||||||
|
if (requestedName != effectiveName) {
|
||||||
|
Log.w(LOG_TAG, "requested renaming document at uri=$oldMediaUri path=$oldPath with name=${requestedName} but got name=$effectiveName")
|
||||||
|
}
|
||||||
|
val newPath = File(newFile.parentFile, df.name).path
|
||||||
|
|
||||||
scanObsoletePath(activity, oldMediaUri, oldPath, mimeType)
|
scanObsoletePath(activity, oldMediaUri, oldPath, mimeType)
|
||||||
return scanNewPathByMediaStore(activity, newFile.path, mimeType)
|
return scanNewPathByMediaStore(activity, newPath, mimeType)
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun renameSingleByFile(
|
private suspend fun renameSingleByFile(
|
||||||
|
|
|
@ -55,7 +55,7 @@ class Topology extends TopologyJsonObject {
|
||||||
final List<List<List<num>>> arcs;
|
final List<List<List<num>>> arcs;
|
||||||
final Transform? transform;
|
final Transform? transform;
|
||||||
|
|
||||||
Topology.parse(Map<String, dynamic> data)
|
Topology.parse(super.data)
|
||||||
: objects = Map.fromEntries((data['objects'] as Map).cast<String, dynamic>().entries.map((kv) {
|
: objects = Map.fromEntries((data['objects'] as Map).cast<String, dynamic>().entries.map((kv) {
|
||||||
final name = kv.key;
|
final name = kv.key;
|
||||||
final geometry = Geometry.build(kv.value);
|
final geometry = Geometry.build(kv.value);
|
||||||
|
@ -63,7 +63,7 @@ class Topology extends TopologyJsonObject {
|
||||||
}).whereNotNull()),
|
}).whereNotNull()),
|
||||||
arcs = (data['arcs'] as List).cast<List>().map((arc) => arc.cast<List>().map((position) => position.cast<num>()).toList()).toList(),
|
arcs = (data['arcs'] as List).cast<List>().map((arc) => arc.cast<List>().map((position) => position.cast<num>()).toList()).toList(),
|
||||||
transform = data.containsKey('transform') ? Transform.parse((data['transform'] as Map).cast<String, dynamic>()) : null,
|
transform = data.containsKey('transform') ? Transform.parse((data['transform'] as Map).cast<String, dynamic>()) : null,
|
||||||
super.parse(data);
|
super.parse();
|
||||||
|
|
||||||
List<List<num>> _arcAt(int index) {
|
List<List<num>> _arcAt(int index) {
|
||||||
var arc = arcs[index < 0 ? ~index : index];
|
var arc = arcs[index < 0 ? ~index : index];
|
||||||
|
@ -131,10 +131,10 @@ abstract class Geometry extends TopologyJsonObject {
|
||||||
final dynamic id;
|
final dynamic id;
|
||||||
final Map<String, dynamic>? properties;
|
final Map<String, dynamic>? properties;
|
||||||
|
|
||||||
Geometry.parse(Map<String, dynamic> data)
|
Geometry.parse(super.data)
|
||||||
: id = data.containsKey('id') ? data['id'] : null,
|
: id = data.containsKey('id') ? data['id'] : null,
|
||||||
properties = data.containsKey('properties') ? data['properties'] as Map<String, dynamic>? : null,
|
properties = data.containsKey('properties') ? data['properties'] as Map<String, dynamic>? : null,
|
||||||
super.parse(data);
|
super.parse();
|
||||||
|
|
||||||
static Geometry? build(Map<String, dynamic> data) {
|
static Geometry? build(Map<String, dynamic> data) {
|
||||||
final type = _parseTopoJsonObjectType(data['type'] as String?);
|
final type = _parseTopoJsonObjectType(data['type'] as String?);
|
||||||
|
@ -165,41 +165,41 @@ abstract class Geometry extends TopologyJsonObject {
|
||||||
class Point extends Geometry {
|
class Point extends Geometry {
|
||||||
final List<num> coordinates;
|
final List<num> coordinates;
|
||||||
|
|
||||||
Point.parse(Map<String, dynamic> data)
|
Point.parse(super.data)
|
||||||
: coordinates = (data['coordinates'] as List).cast<num>(),
|
: coordinates = (data['coordinates'] as List).cast<num>(),
|
||||||
super.parse(data);
|
super.parse();
|
||||||
}
|
}
|
||||||
|
|
||||||
class MultiPoint extends Geometry {
|
class MultiPoint extends Geometry {
|
||||||
final List<List<num>> coordinates;
|
final List<List<num>> coordinates;
|
||||||
|
|
||||||
MultiPoint.parse(Map<String, dynamic> data)
|
MultiPoint.parse(super.data)
|
||||||
: coordinates = (data['coordinates'] as List).cast<List>().map((position) => position.cast<num>()).toList(),
|
: coordinates = (data['coordinates'] as List).cast<List>().map((position) => position.cast<num>()).toList(),
|
||||||
super.parse(data);
|
super.parse();
|
||||||
}
|
}
|
||||||
|
|
||||||
class LineString extends Geometry {
|
class LineString extends Geometry {
|
||||||
final List<int> arcs;
|
final List<int> arcs;
|
||||||
|
|
||||||
LineString.parse(Map<String, dynamic> data)
|
LineString.parse(super.data)
|
||||||
: arcs = (data['arcs'] as List).cast<int>(),
|
: arcs = (data['arcs'] as List).cast<int>(),
|
||||||
super.parse(data);
|
super.parse();
|
||||||
}
|
}
|
||||||
|
|
||||||
class MultiLineString extends Geometry {
|
class MultiLineString extends Geometry {
|
||||||
final List<List<int>> arcs;
|
final List<List<int>> arcs;
|
||||||
|
|
||||||
MultiLineString.parse(Map<String, dynamic> data)
|
MultiLineString.parse(super.data)
|
||||||
: arcs = (data['arcs'] as List).cast<List>().map((arc) => arc.cast<int>()).toList(),
|
: arcs = (data['arcs'] as List).cast<List>().map((arc) => arc.cast<int>()).toList(),
|
||||||
super.parse(data);
|
super.parse();
|
||||||
}
|
}
|
||||||
|
|
||||||
class Polygon extends Geometry {
|
class Polygon extends Geometry {
|
||||||
final List<List<int>> arcs;
|
final List<List<int>> arcs;
|
||||||
|
|
||||||
Polygon.parse(Map<String, dynamic> data)
|
Polygon.parse(super.data)
|
||||||
: arcs = (data['arcs'] as List).cast<List>().map((arc) => arc.cast<int>()).toList(),
|
: arcs = (data['arcs'] as List).cast<List>().map((arc) => arc.cast<int>()).toList(),
|
||||||
super.parse(data);
|
super.parse();
|
||||||
|
|
||||||
List<List<List<num>>>? _rings;
|
List<List<List<num>>>? _rings;
|
||||||
|
|
||||||
|
@ -217,9 +217,9 @@ class Polygon extends Geometry {
|
||||||
class MultiPolygon extends Geometry {
|
class MultiPolygon extends Geometry {
|
||||||
final List<List<List<int>>> arcs;
|
final List<List<List<int>>> arcs;
|
||||||
|
|
||||||
MultiPolygon.parse(Map<String, dynamic> data)
|
MultiPolygon.parse(super.data)
|
||||||
: arcs = (data['arcs'] as List).cast<List>().map((polygon) => polygon.cast<List>().map((arc) => arc.cast<int>()).toList()).toList(),
|
: arcs = (data['arcs'] as List).cast<List>().map((polygon) => polygon.cast<List>().map((arc) => arc.cast<int>()).toList()).toList(),
|
||||||
super.parse(data);
|
super.parse();
|
||||||
|
|
||||||
List<List<List<List<num>>>>? _polygons;
|
List<List<List<List<num>>>>? _polygons;
|
||||||
|
|
||||||
|
@ -237,9 +237,9 @@ class MultiPolygon extends Geometry {
|
||||||
class GeometryCollection extends Geometry {
|
class GeometryCollection extends Geometry {
|
||||||
final List<Geometry> geometries;
|
final List<Geometry> geometries;
|
||||||
|
|
||||||
GeometryCollection.parse(Map<String, dynamic> data)
|
GeometryCollection.parse(super.data)
|
||||||
: geometries = (data['geometries'] as List).cast<Map<String, dynamic>>().map(Geometry.build).whereNotNull().toList(),
|
: geometries = (data['geometries'] as List).cast<Map<String, dynamic>>().map(Geometry.build).whereNotNull().toList(),
|
||||||
super.parse(data);
|
super.parse();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool containsPoint(Topology topology, List<num> point) {
|
bool containsPoint(Topology topology, List<num> point) {
|
||||||
|
|
|
@ -13,10 +13,10 @@ class ActionEvent<T> extends Equatable {
|
||||||
|
|
||||||
@immutable
|
@immutable
|
||||||
class ActionStartedEvent<T> extends ActionEvent<T> {
|
class ActionStartedEvent<T> extends ActionEvent<T> {
|
||||||
const ActionStartedEvent(T action) : super(action);
|
const ActionStartedEvent(super.action);
|
||||||
}
|
}
|
||||||
|
|
||||||
@immutable
|
@immutable
|
||||||
class ActionEndedEvent<T> extends ActionEvent<T> {
|
class ActionEndedEvent<T> extends ActionEvent<T> {
|
||||||
const ActionEndedEvent(T action) : super(action);
|
const ActionEndedEvent(super.action);
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ class AboutTvPage extends StatelessWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class _Content extends StatefulWidget {
|
class _Content extends StatefulWidget {
|
||||||
const _Content({Key? key}) : super(key: key);
|
const _Content();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<_Content> createState() => _ContentState();
|
State<_Content> createState() => _ContentState();
|
||||||
|
|
|
@ -219,9 +219,7 @@ class _PackageLicensePageState extends State<_PackageLicensePage> {
|
||||||
return true;
|
return true;
|
||||||
}());
|
}());
|
||||||
for (final LicenseEntry license in widget.licenseEntries) {
|
for (final LicenseEntry license in widget.licenseEntries) {
|
||||||
if (!mounted) {
|
if (!mounted) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
assert(() {
|
assert(() {
|
||||||
Timeline.timeSync('_initLicenses()', () {}, flow: Flow.step(debugFlowId));
|
Timeline.timeSync('_initLicenses()', () {}, flow: Flow.step(debugFlowId));
|
||||||
return true;
|
return true;
|
||||||
|
@ -231,9 +229,7 @@ class _PackageLicensePageState extends State<_PackageLicensePage> {
|
||||||
Priority.animation,
|
Priority.animation,
|
||||||
debugLabel: 'License',
|
debugLabel: 'License',
|
||||||
);
|
);
|
||||||
if (!mounted) {
|
if (!mounted) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
setState(() {
|
setState(() {
|
||||||
_licenses.add(const Padding(
|
_licenses.add(const Padding(
|
||||||
padding: EdgeInsets.all(18.0),
|
padding: EdgeInsets.all(18.0),
|
||||||
|
|
|
@ -122,7 +122,7 @@ class BottomPaddingSliver extends StatelessWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class TvTileGridBottomPaddingSliver extends StatelessWidget {
|
class TvTileGridBottomPaddingSliver extends StatelessWidget {
|
||||||
const TvTileGridBottomPaddingSliver({Key? key}) : super(key: key);
|
const TvTileGridBottomPaddingSliver({super.key});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
|
@ -7,11 +7,11 @@ class LabeledCheckbox extends StatefulWidget {
|
||||||
final String text;
|
final String text;
|
||||||
|
|
||||||
const LabeledCheckbox({
|
const LabeledCheckbox({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.value,
|
required this.value,
|
||||||
required this.onChanged,
|
required this.onChanged,
|
||||||
required this.text,
|
required this.text,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<LabeledCheckbox> createState() => _LabeledCheckboxState();
|
State<LabeledCheckbox> createState() => _LabeledCheckboxState();
|
||||||
|
|
|
@ -9,8 +9,8 @@ class KnownExtentScrollPhysics extends ScrollPhysics {
|
||||||
const KnownExtentScrollPhysics({
|
const KnownExtentScrollPhysics({
|
||||||
required this.indexToScrollOffset,
|
required this.indexToScrollOffset,
|
||||||
required this.scrollOffsetToIndex,
|
required this.scrollOffsetToIndex,
|
||||||
ScrollPhysics? parent,
|
super.parent,
|
||||||
}) : super(parent: parent);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
KnownExtentScrollPhysics applyTo(ScrollPhysics? ancestor) {
|
KnownExtentScrollPhysics applyTo(ScrollPhysics? ancestor) {
|
||||||
|
|
|
@ -16,10 +16,9 @@ class DirectPageTransitionsTheme extends PageTransitionsTheme {
|
||||||
|
|
||||||
class DirectMaterialPageRoute<T> extends PageRouteBuilder<T> {
|
class DirectMaterialPageRoute<T> extends PageRouteBuilder<T> {
|
||||||
DirectMaterialPageRoute({
|
DirectMaterialPageRoute({
|
||||||
RouteSettings? settings,
|
super.settings,
|
||||||
required WidgetBuilder builder,
|
required WidgetBuilder builder,
|
||||||
}) : super(
|
}) : super(
|
||||||
settings: settings,
|
|
||||||
transitionDuration: Duration.zero,
|
transitionDuration: Duration.zero,
|
||||||
pageBuilder: (context, a, sa) => builder(context),
|
pageBuilder: (context, a, sa) => builder(context),
|
||||||
);
|
);
|
||||||
|
@ -32,9 +31,9 @@ class DirectMaterialPageRoute<T> extends PageRouteBuilder<T> {
|
||||||
|
|
||||||
class TransparentMaterialPageRoute<T> extends PageRouteBuilder<T> {
|
class TransparentMaterialPageRoute<T> extends PageRouteBuilder<T> {
|
||||||
TransparentMaterialPageRoute({
|
TransparentMaterialPageRoute({
|
||||||
RouteSettings? settings,
|
super.settings,
|
||||||
required RoutePageBuilder pageBuilder,
|
required super.pageBuilder,
|
||||||
}) : super(settings: settings, pageBuilder: pageBuilder);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool get opaque => false;
|
bool get opaque => false;
|
||||||
|
|
|
@ -13,8 +13,8 @@ class SloppyScrollPhysics extends ScrollPhysics {
|
||||||
const SloppyScrollPhysics({
|
const SloppyScrollPhysics({
|
||||||
required this.gestureSettings,
|
required this.gestureSettings,
|
||||||
this.touchSlopFactor = 1,
|
this.touchSlopFactor = 1,
|
||||||
ScrollPhysics? parent,
|
super.parent,
|
||||||
}) : super(parent: parent);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
SloppyScrollPhysics applyTo(ScrollPhysics? ancestor) {
|
SloppyScrollPhysics applyTo(ScrollPhysics? ancestor) {
|
||||||
|
|
|
@ -114,16 +114,14 @@ class _SweeperState extends State<Sweeper> with SingleTickerProviderStateMixin {
|
||||||
setState(() {});
|
setState(() {});
|
||||||
await Future.delayed(ADurations.sweeperOpacityAnimation * timeDilation);
|
await Future.delayed(ADurations.sweeperOpacityAnimation * timeDilation);
|
||||||
_isAppearing = false;
|
_isAppearing = false;
|
||||||
if (mounted) {
|
if (!mounted) return;
|
||||||
_angleAnimationController.reset();
|
_angleAnimationController.reset();
|
||||||
unawaited(_angleAnimationController.forward());
|
unawaited(_angleAnimationController.forward());
|
||||||
}
|
}
|
||||||
}
|
if (!mounted) return;
|
||||||
if (mounted) {
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
class _SweepClipPath extends CustomClipper<Path> {
|
class _SweepClipPath extends CustomClipper<Path> {
|
||||||
final double startAngle;
|
final double startAngle;
|
||||||
|
|
|
@ -135,12 +135,10 @@ class _GridItemTrackerState<T> extends State<GridItemTracker<T>> with WidgetsBin
|
||||||
// so that we can handle window orientation change with the previous metrics,
|
// so that we can handle window orientation change with the previous metrics,
|
||||||
// regardless of the `View`/`WidgetsBindingObserver` order uncertainty
|
// regardless of the `View`/`WidgetsBindingObserver` order uncertainty
|
||||||
await Future.delayed(const Duration(milliseconds: 500));
|
await Future.delayed(const Duration(milliseconds: 500));
|
||||||
|
if (!mounted) return;
|
||||||
if (mounted) {
|
|
||||||
_lastSectionedListLayout = context.read<SectionedListLayout<T>>();
|
_lastSectionedListLayout = context.read<SectionedListLayout<T>>();
|
||||||
_lastScrollableSize = scrollableSize;
|
_lastScrollableSize = scrollableSize;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void _onLayoutChanged() {
|
void _onLayoutChanged() {
|
||||||
if (scrollController.positions.length != 1) return;
|
if (scrollController.positions.length != 1) return;
|
||||||
|
|
|
@ -11,8 +11,8 @@ class FixedExtentGridRow extends MultiChildRenderObjectWidget {
|
||||||
required this.height,
|
required this.height,
|
||||||
required this.spacing,
|
required this.spacing,
|
||||||
required this.textDirection,
|
required this.textDirection,
|
||||||
required List<Widget> children,
|
required super.children,
|
||||||
}) : super(children: children);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
RenderObject createRenderObject(BuildContext context) {
|
RenderObject createRenderObject(BuildContext context) {
|
||||||
|
|
|
@ -13,8 +13,8 @@ class MosaicGridRow extends MultiChildRenderObjectWidget {
|
||||||
required this.rowLayout,
|
required this.rowLayout,
|
||||||
required this.spacing,
|
required this.spacing,
|
||||||
required this.textDirection,
|
required this.textDirection,
|
||||||
required List<Widget> children,
|
required super.children,
|
||||||
}) : super(children: children);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
RenderObject createRenderObject(BuildContext context) {
|
RenderObject createRenderObject(BuildContext context) {
|
||||||
|
|
|
@ -41,9 +41,9 @@ class _SliverKnownExtentList extends SliverMultiBoxAdaptorWidget {
|
||||||
final List<SectionLayout> sectionLayouts;
|
final List<SectionLayout> sectionLayouts;
|
||||||
|
|
||||||
const _SliverKnownExtentList({
|
const _SliverKnownExtentList({
|
||||||
required SliverChildDelegate delegate,
|
required super.delegate,
|
||||||
required this.sectionLayouts,
|
required this.sectionLayouts,
|
||||||
}) : super(delegate: delegate);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_RenderSliverKnownExtentBoxAdaptor createRenderObject(BuildContext context) {
|
_RenderSliverKnownExtentBoxAdaptor createRenderObject(BuildContext context) {
|
||||||
|
@ -69,10 +69,9 @@ class _RenderSliverKnownExtentBoxAdaptor extends RenderSliverMultiBoxAdaptor {
|
||||||
}
|
}
|
||||||
|
|
||||||
_RenderSliverKnownExtentBoxAdaptor({
|
_RenderSliverKnownExtentBoxAdaptor({
|
||||||
required RenderSliverBoxChildManager childManager,
|
required super.childManager,
|
||||||
required List<SectionLayout> sectionLayouts,
|
required List<SectionLayout> sectionLayouts,
|
||||||
}) : _sectionLayouts = sectionLayouts,
|
}) : _sectionLayouts = sectionLayouts;
|
||||||
super(childManager: childManager);
|
|
||||||
|
|
||||||
SectionLayout? sectionAtIndex(int index) => sectionLayouts.firstWhereOrNull((section) => section.hasChild(index));
|
SectionLayout? sectionAtIndex(int index) => sectionLayouts.firstWhereOrNull((section) => section.hasChild(index));
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,9 @@ import 'package:latlong2/latlong.dart';
|
||||||
|
|
||||||
class LatLngTween extends Tween<LatLng?> {
|
class LatLngTween extends Tween<LatLng?> {
|
||||||
LatLngTween({
|
LatLngTween({
|
||||||
required LatLng? begin,
|
required super.begin,
|
||||||
required LatLng? end,
|
required super.end,
|
||||||
}) : super(
|
});
|
||||||
begin: begin,
|
|
||||||
end: end,
|
|
||||||
);
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
LatLng? lerp(double t) => LatLngUtils.lerp(begin, end, t);
|
LatLng? lerp(double t) => LatLngUtils.lerp(begin, end, t);
|
||||||
|
|
|
@ -91,10 +91,9 @@ class _SearchPageState extends State<SearchPage> {
|
||||||
|
|
||||||
void _onQueryChanged() {
|
void _onQueryChanged() {
|
||||||
_debouncer(() {
|
_debouncer(() {
|
||||||
if (mounted) {
|
if (!mounted) return;
|
||||||
// rebuild ourselves because query changed.
|
// rebuild ourselves because query changed.
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -161,10 +161,9 @@ class _ThumbnailImageState extends State<ThumbnailImage> {
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onError(Object exception, StackTrace? stackTrace) {
|
void _onError(Object exception, StackTrace? stackTrace) {
|
||||||
if (mounted) {
|
if (!mounted) return;
|
||||||
setState(() => _lastException = exception);
|
setState(() => _lastException = exception);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
bool _needSizedProvider(ImageInfo? currentImageInfo) {
|
bool _needSizedProvider(ImageInfo? currentImageInfo) {
|
||||||
if (currentImageInfo == null) return true;
|
if (currentImageInfo == null) return true;
|
||||||
|
|
|
@ -296,7 +296,8 @@ class _AddressRowState extends State<_AddressRow> {
|
||||||
Future<void> _updateAddress() async {
|
Future<void> _updateAddress() async {
|
||||||
final location = widget.location;
|
final location = widget.location;
|
||||||
final addressLine = await _getAddressLine(location);
|
final addressLine = await _getAddressLine(location);
|
||||||
if (mounted && location == widget.location) {
|
if (!mounted) return;
|
||||||
|
if (location == widget.location) {
|
||||||
_addressLineNotifier.value = addressLine;
|
_addressLineNotifier.value = addressLine;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -68,26 +68,26 @@ class CoveredFilterChip<T extends CollectionFilter> extends StatelessWidget {
|
||||||
stream: covers.entryChangeStream.where((event) => event == null || event.contains(filter)),
|
stream: covers.entryChangeStream.where((event) => event == null || event.contains(filter)),
|
||||||
builder: (context, snapshot) => Consumer<CollectionSource>(
|
builder: (context, snapshot) => Consumer<CollectionSource>(
|
||||||
builder: (context, source, child) {
|
builder: (context, source, child) {
|
||||||
switch (T) {
|
switch (filter) {
|
||||||
case AlbumFilter:
|
case AlbumFilter filter:
|
||||||
{
|
{
|
||||||
final album = (filter as AlbumFilter).album;
|
final album = filter.album;
|
||||||
return StreamBuilder<AlbumSummaryInvalidatedEvent>(
|
return StreamBuilder<AlbumSummaryInvalidatedEvent>(
|
||||||
stream: source.eventBus.on<AlbumSummaryInvalidatedEvent>().where((event) => event.directories == null || event.directories!.contains(album)),
|
stream: source.eventBus.on<AlbumSummaryInvalidatedEvent>().where((event) => event.directories == null || event.directories!.contains(album)),
|
||||||
builder: (context, snapshot) => _buildChip(context, source),
|
builder: (context, snapshot) => _buildChip(context, source),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
case LocationFilter:
|
case LocationFilter filter:
|
||||||
{
|
{
|
||||||
final countryCode = (filter as LocationFilter).code;
|
final countryCode = filter.code;
|
||||||
return StreamBuilder<CountrySummaryInvalidatedEvent>(
|
return StreamBuilder<CountrySummaryInvalidatedEvent>(
|
||||||
stream: source.eventBus.on<CountrySummaryInvalidatedEvent>().where((event) => event.countryCodes == null || event.countryCodes!.contains(countryCode)),
|
stream: source.eventBus.on<CountrySummaryInvalidatedEvent>().where((event) => event.countryCodes == null || event.countryCodes!.contains(countryCode)),
|
||||||
builder: (context, snapshot) => _buildChip(context, source),
|
builder: (context, snapshot) => _buildChip(context, source),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
case TagFilter:
|
case TagFilter filter:
|
||||||
{
|
{
|
||||||
final tag = (filter as TagFilter).tag;
|
final tag = filter.tag;
|
||||||
return StreamBuilder<TagSummaryInvalidatedEvent>(
|
return StreamBuilder<TagSummaryInvalidatedEvent>(
|
||||||
stream: source.eventBus.on<TagSummaryInvalidatedEvent>().where((event) => event.tags == null || event.tags!.contains(tag)),
|
stream: source.eventBus.on<TagSummaryInvalidatedEvent>().where((event) => event.tags == null || event.tags!.contains(tag)),
|
||||||
builder: (context, snapshot) => _buildChip(context, source),
|
builder: (context, snapshot) => _buildChip(context, source),
|
||||||
|
|
|
@ -92,7 +92,8 @@ class _MapAddressRowState extends State<MapAddressRow> {
|
||||||
Future<void> _updateAddress() async {
|
Future<void> _updateAddress() async {
|
||||||
final entry = widget.entry;
|
final entry = widget.entry;
|
||||||
final addressLine = await _getAddressLine(entry);
|
final addressLine = await _getAddressLine(entry);
|
||||||
if (mounted && entry == widget.entry) {
|
if (!mounted) return;
|
||||||
|
if (entry == widget.entry) {
|
||||||
_addressLineNotifier.value = addressLine;
|
_addressLineNotifier.value = addressLine;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,9 +44,8 @@ class _FloatingNavBarState extends State<FloatingNavBar> with SingleTickerProvid
|
||||||
curve: Curves.linear,
|
curve: Curves.linear,
|
||||||
))
|
))
|
||||||
..addListener(() {
|
..addListener(() {
|
||||||
if (mounted) {
|
if (!mounted) return;
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
|
||||||
});
|
});
|
||||||
_registerWidget(widget);
|
_registerWidget(widget);
|
||||||
}
|
}
|
||||||
|
|
|
@ -358,20 +358,17 @@ class _ViewerVerticalPageViewState extends State<ViewerVerticalPageView> {
|
||||||
} else {
|
} else {
|
||||||
Navigator.maybeOf(context)?.pop();
|
Navigator.maybeOf(context)?.pop();
|
||||||
}
|
}
|
||||||
|
if (!mounted) return;
|
||||||
// needed to refresh when entry changes but the page does not (e.g. on page deletion)
|
// needed to refresh when entry changes but the page does not (e.g. on page deletion)
|
||||||
if (mounted) {
|
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// when the entry image itself changed (e.g. after rotation)
|
// when the entry image itself changed (e.g. after rotation)
|
||||||
void _onVisualChanged() async {
|
void _onVisualChanged() async {
|
||||||
// rebuild to refresh the Image inside ImagePage
|
if (!mounted) return;
|
||||||
if (mounted) {
|
// rebuild to refresh the `Image` inside `ImagePage`
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void _onPlayPauseIntent(PlayPauseIntent intent) {
|
void _onPlayPauseIntent(PlayPauseIntent intent) {
|
||||||
// address `TV-PP` requirement from https://developer.android.com/docs/quality-guidelines/tv-app-quality
|
// address `TV-PP` requirement from https://developer.android.com/docs/quality-guidelines/tv-app-quality
|
||||||
|
|
|
@ -144,7 +144,6 @@ class _MetadataSectionSliverState extends State<MetadataSectionSliver> {
|
||||||
|
|
||||||
Future<void> _getMetadata() async {
|
Future<void> _getMetadata() async {
|
||||||
if (!mounted) return;
|
if (!mounted) return;
|
||||||
|
|
||||||
final titledDirectories = await entry.getMetadataDirectories(context);
|
final titledDirectories = await entry.getMetadataDirectories(context);
|
||||||
metadataNotifier.value = Map.fromEntries(titledDirectories);
|
metadataNotifier.value = Map.fromEntries(titledDirectories);
|
||||||
_expandedDirectoryNotifier.value = null;
|
_expandedDirectoryNotifier.value = null;
|
||||||
|
|
|
@ -80,11 +80,10 @@ class _ImageHistogramState extends State<ImageHistogram> {
|
||||||
final targetEntry = entry;
|
final targetEntry = entry;
|
||||||
final forceUpdate = targetEntry.isAnimated;
|
final forceUpdate = targetEntry.isAnimated;
|
||||||
final newLevels = await viewStateController.getHistogramLevels(info, forceUpdate);
|
final newLevels = await viewStateController.getHistogramLevels(info, forceUpdate);
|
||||||
if (mounted) {
|
if (!mounted) return;
|
||||||
setState(() => _levels = targetEntry == entry ? newLevels : {});
|
setState(() => _levels = targetEntry == entry ? newLevels : {});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
class _HistogramPainter extends CustomPainter {
|
class _HistogramPainter extends CustomPainter {
|
||||||
final HistogramLevels levels;
|
final HistogramLevels levels;
|
||||||
|
|
|
@ -65,8 +65,7 @@ class _ViewerThumbnailPreviewState extends State<ViewerThumbnailPreview> {
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onScrollerIndexChanged() => _debouncer(() {
|
void _onScrollerIndexChanged() => _debouncer(() {
|
||||||
if (mounted) {
|
if (!mounted) return;
|
||||||
ShowEntryNotification(animate: false, index: _entryIndexNotifier.value).dispatch(context);
|
ShowEntryNotification(animate: false, index: _entryIndexNotifier.value).dispatch(context);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -279,9 +279,9 @@ class _ViewerButtonRowContentState extends State<ViewerButtonRowContent> {
|
||||||
icon: AIcons.export,
|
icon: AIcons.export,
|
||||||
title: context.l10n.entryActionExport,
|
title: context.l10n.entryActionExport,
|
||||||
items: [
|
items: [
|
||||||
...exportInternalActions.map((action) => _buildPopupMenuItem(context, action, videoController)).toList(),
|
...exportInternalActions.map((action) => _buildPopupMenuItem(context, action, videoController)),
|
||||||
if (exportInternalActions.isNotEmpty && exportExternalActions.isNotEmpty) const PopupMenuDivider(height: 0),
|
if (exportInternalActions.isNotEmpty && exportExternalActions.isNotEmpty) const PopupMenuDivider(height: 0),
|
||||||
...exportExternalActions.map((action) => _buildPopupMenuItem(context, action, videoController)).toList(),
|
...exportExternalActions.map((action) => _buildPopupMenuItem(context, action, videoController)),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
if (videoActions.isNotEmpty)
|
if (videoActions.isNotEmpty)
|
||||||
|
@ -291,7 +291,7 @@ class _ViewerButtonRowContentState extends State<ViewerButtonRowContent> {
|
||||||
icon: AIcons.video,
|
icon: AIcons.video,
|
||||||
title: context.l10n.settingsVideoSectionTitle,
|
title: context.l10n.settingsVideoSectionTitle,
|
||||||
items: [
|
items: [
|
||||||
...videoActions.map((action) => _buildPopupMenuItem(context, action, videoController)).toList(),
|
...videoActions.map((action) => _buildPopupMenuItem(context, action, videoController)),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
if (!kReleaseMode) ...[
|
if (!kReleaseMode) ...[
|
||||||
|
|
|
@ -268,14 +268,14 @@ class _EntryPageViewState extends State<EntryPageView> with SingleTickerProvider
|
||||||
var move = Offset.zero;
|
var move = Offset.zero;
|
||||||
var dropped = false;
|
var dropped = false;
|
||||||
double? startValue;
|
double? startValue;
|
||||||
final valueNotifier = ValueNotifier<double?>(null);
|
ValueNotifier<double?>? valueNotifier;
|
||||||
|
|
||||||
onScaleStart = (details, doubleTap, boundaries) {
|
onScaleStart = (details, doubleTap, boundaries) {
|
||||||
dropped = details.pointerCount > 1 || doubleTap;
|
dropped = details.pointerCount > 1 || doubleTap;
|
||||||
if (dropped) return;
|
if (dropped) return;
|
||||||
|
|
||||||
startValue = null;
|
startValue = null;
|
||||||
valueNotifier.value = null;
|
valueNotifier = ValueNotifier<double?>(null);
|
||||||
final alignmentX = details.focalPoint.dx / boundaries.viewportSize.width;
|
final alignmentX = details.focalPoint.dx / boundaries.viewportSize.width;
|
||||||
final action = alignmentX > .5 ? SwipeAction.volume : SwipeAction.brightness;
|
final action = alignmentX > .5 ? SwipeAction.volume : SwipeAction.brightness;
|
||||||
action.get().then((v) => startValue = v);
|
action.get().then((v) => startValue = v);
|
||||||
|
@ -284,15 +284,17 @@ class _EntryPageViewState extends State<EntryPageView> with SingleTickerProvider
|
||||||
_actionFeedbackOverlayEntry = OverlayEntry(
|
_actionFeedbackOverlayEntry = OverlayEntry(
|
||||||
builder: (context) => SwipeActionFeedback(
|
builder: (context) => SwipeActionFeedback(
|
||||||
action: action,
|
action: action,
|
||||||
valueNotifier: valueNotifier,
|
valueNotifier: valueNotifier!,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
Overlay.of(context).insert(_actionFeedbackOverlayEntry!);
|
Overlay.of(context).insert(_actionFeedbackOverlayEntry!);
|
||||||
};
|
};
|
||||||
onScaleUpdate = (details) {
|
onScaleUpdate = (details) {
|
||||||
|
if (valueNotifier == null) return false;
|
||||||
|
|
||||||
move += details.focalPointDelta;
|
move += details.focalPointDelta;
|
||||||
dropped |= details.pointerCount > 1;
|
dropped |= details.pointerCount > 1;
|
||||||
if (valueNotifier.value == null) {
|
if (valueNotifier!.value == null) {
|
||||||
dropped |= MagnifierGestureRecognizer.isXPan(move);
|
dropped |= MagnifierGestureRecognizer.isXPan(move);
|
||||||
}
|
}
|
||||||
if (dropped) return false;
|
if (dropped) return false;
|
||||||
|
@ -300,12 +302,14 @@ class _EntryPageViewState extends State<EntryPageView> with SingleTickerProvider
|
||||||
final _startValue = startValue;
|
final _startValue = startValue;
|
||||||
if (_startValue != null) {
|
if (_startValue != null) {
|
||||||
final double value = (_startValue - move.dy / SwipeActionFeedback.height).clamp(0, 1);
|
final double value = (_startValue - move.dy / SwipeActionFeedback.height).clamp(0, 1);
|
||||||
valueNotifier.value = value;
|
valueNotifier!.value = value;
|
||||||
swipeAction?.set(value);
|
swipeAction?.set(value);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
onScaleEnd = (details) {
|
onScaleEnd = (details) {
|
||||||
|
valueNotifier?.dispose();
|
||||||
|
|
||||||
final overlayEntry = _actionFeedbackOverlayEntry;
|
final overlayEntry = _actionFeedbackOverlayEntry;
|
||||||
_actionFeedbackOverlayEntry = null;
|
_actionFeedbackOverlayEntry = null;
|
||||||
if (overlayEntry != null) {
|
if (overlayEntry != null) {
|
||||||
|
@ -482,6 +486,7 @@ class _EntryPageViewState extends State<EntryPageView> with SingleTickerProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
double? _getSideRatio() {
|
double? _getSideRatio() {
|
||||||
|
if (!mounted) return null;
|
||||||
final isPortrait = MediaQuery.orientationOf(context) == Orientation.portrait;
|
final isPortrait = MediaQuery.orientationOf(context) == Orientation.portrait;
|
||||||
return isPortrait ? 1 / 5 : 1 / 8;
|
return isPortrait ? 1 / 5 : 1 / 8;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,9 +31,9 @@ class WallpaperPage extends StatelessWidget {
|
||||||
final AvesEntry? entry;
|
final AvesEntry? entry;
|
||||||
|
|
||||||
const WallpaperPage({
|
const WallpaperPage({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.entry,
|
required this.entry,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -60,9 +60,9 @@ class EntryEditor extends StatefulWidget {
|
||||||
final AvesEntry entry;
|
final AvesEntry entry;
|
||||||
|
|
||||||
const EntryEditor({
|
const EntryEditor({
|
||||||
Key? key,
|
super.key,
|
||||||
required this.entry,
|
required this.entry,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<EntryEditor> createState() => _EntryEditorState();
|
State<EntryEditor> createState() => _EntryEditorState();
|
||||||
|
|
|
@ -27,8 +27,8 @@ class MagnifierGestureDetectorScope extends InheritedWidget {
|
||||||
this.touchSlopFactor = .8,
|
this.touchSlopFactor = .8,
|
||||||
this.escapeByFling = true,
|
this.escapeByFling = true,
|
||||||
this.acceptPointerEvent,
|
this.acceptPointerEvent,
|
||||||
required Widget child,
|
required super.child,
|
||||||
}) : super(child: child);
|
});
|
||||||
|
|
||||||
static MagnifierGestureDetectorScope? maybeOf(BuildContext context) {
|
static MagnifierGestureDetectorScope? maybeOf(BuildContext context) {
|
||||||
return context.dependOnInheritedWidgetOfExactType<MagnifierGestureDetectorScope>();
|
return context.dependOnInheritedWidgetOfExactType<MagnifierGestureDetectorScope>();
|
||||||
|
|
|
@ -41,18 +41,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -6,22 +6,14 @@ class GeoEntry<T> extends Clusterable {
|
||||||
|
|
||||||
GeoEntry({
|
GeoEntry({
|
||||||
this.entry,
|
this.entry,
|
||||||
double? latitude,
|
super.latitude,
|
||||||
double? longitude,
|
super.longitude,
|
||||||
bool? isCluster = false,
|
super.isCluster = false,
|
||||||
int? clusterId,
|
super.clusterId,
|
||||||
int? pointsSize,
|
super.pointsSize,
|
||||||
String? markerId,
|
super.markerId,
|
||||||
String? childMarkerId,
|
super.childMarkerId,
|
||||||
}) : super(
|
});
|
||||||
latitude: latitude,
|
|
||||||
longitude: longitude,
|
|
||||||
isCluster: isCluster,
|
|
||||||
clusterId: clusterId,
|
|
||||||
pointsSize: pointsSize,
|
|
||||||
markerId: markerId,
|
|
||||||
childMarkerId: childMarkerId,
|
|
||||||
);
|
|
||||||
|
|
||||||
factory GeoEntry.createCluster(BaseCluster cluster, double longitude, double latitude) {
|
factory GeoEntry.createCluster(BaseCluster cluster, double longitude, double latitude) {
|
||||||
return GeoEntry(
|
return GeoEntry(
|
||||||
|
|
|
@ -73,10 +73,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
flutter_map:
|
flutter_map:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -121,10 +121,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
lists:
|
lists:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -34,18 +34,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -26,18 +26,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -26,18 +26,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -33,18 +33,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -5,10 +5,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: _flutterfire_internals
|
name: _flutterfire_internals
|
||||||
sha256: "2e3a565cdd40b32df6ff9a0d1f16b9144fcce769455597ee9195f568ffbb3a59"
|
sha256: "76c15c4167f820b74abcd8c6fc5e393e1ed5e1207a34e9b22953603e03b3ba6a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.8"
|
version: "1.3.9"
|
||||||
async:
|
async:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -68,10 +68,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: firebase_core
|
name: firebase_core
|
||||||
sha256: "761d0a00562ba09d491eacdceaf1885df62d072c9431bf3110333e2a9904b1e1"
|
sha256: "57bba167105d2315d243a4524939406df688f38a5b6d7a4159382bbbe43cdd00"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.18.0"
|
version: "2.19.0"
|
||||||
firebase_core_platform_interface:
|
firebase_core_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -92,18 +92,18 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: firebase_crashlytics
|
name: firebase_crashlytics
|
||||||
sha256: "85f1098487d1b177bb4b7e0d552f57029d6964d2da665104d6299acce2f58bb6"
|
sha256: c58902959e7a73aadcf82c87e8d64f6eb10b5287fd7aaadfab5c2ef34ec11ff5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.4.0"
|
version: "3.4.1"
|
||||||
firebase_crashlytics_platform_interface:
|
firebase_crashlytics_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_crashlytics_platform_interface
|
name: firebase_crashlytics_platform_interface
|
||||||
sha256: "8bdcca9109595d353b467a97278becb726286596741b9cc0ace59abf9def9645"
|
sha256: "9d2f76bda1542615f75fb501a8c7afc6288d69c3728fdc762bf3d51f0ee0f4cb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.6.8"
|
version: "3.6.9"
|
||||||
flutter:
|
flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -113,10 +113,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -139,10 +139,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
matcher:
|
matcher:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -26,18 +26,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -80,10 +80,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
flutter_map:
|
flutter_map:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -128,10 +128,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
lists:
|
lists:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -127,10 +127,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
flutter_map:
|
flutter_map:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -284,10 +284,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
lists:
|
lists:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -94,10 +94,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
flutter_map:
|
flutter_map:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -160,10 +160,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
lists:
|
lists:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -87,10 +87,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
flutter_map:
|
flutter_map:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -135,10 +135,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
lists:
|
lists:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -26,18 +26,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -26,18 +26,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -48,18 +48,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -72,18 +72,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -64,18 +64,18 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
lints:
|
lints:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -111,10 +111,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
flutter_web_plugins:
|
flutter_web_plugins:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description: flutter
|
description: flutter
|
||||||
|
@ -156,10 +156,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
material_color_utilities:
|
material_color_utilities:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -172,10 +172,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: media_kit
|
name: media_kit
|
||||||
sha256: "3dffc6d0c19117d51fbc42a7f89612e0595665800a596289ab7a80bdd93e0ad1"
|
sha256: "3289062540e3b8b9746e5c50d95bd78a9289826b7227e253dff806d002b9e67a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.9"
|
version: "1.1.10+1"
|
||||||
media_kit_libs_android_video:
|
media_kit_libs_android_video:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -196,10 +196,10 @@ packages:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
name: media_kit_video
|
name: media_kit_video
|
||||||
sha256: b8df9cf97aba1861af83b00ac16f5cac536debe0781a934a554b77c157a8f7e8
|
sha256: c048d11a19e379aebbe810647636e3fc6d18374637e2ae12def4ff8a4b99a882
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.2"
|
version: "1.2.4"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
34
pubspec.lock
34
pubspec.lock
|
@ -13,10 +13,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: _flutterfire_internals
|
name: _flutterfire_internals
|
||||||
sha256: "2e3a565cdd40b32df6ff9a0d1f16b9144fcce769455597ee9195f568ffbb3a59"
|
sha256: "76c15c4167f820b74abcd8c6fc5e393e1ed5e1207a34e9b22953603e03b3ba6a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.3.8"
|
version: "1.3.9"
|
||||||
analyzer:
|
analyzer:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -331,7 +331,7 @@ packages:
|
||||||
description:
|
description:
|
||||||
path: "."
|
path: "."
|
||||||
ref: HEAD
|
ref: HEAD
|
||||||
resolved-ref: cfcb070b627f110d01dff88809dcea20faa13444
|
resolved-ref: "7c4032fa0fc17b5a5d3fec1ac854afd6cd55670e"
|
||||||
url: "https://github.com/deckerst/expansion_tile_card.git"
|
url: "https://github.com/deckerst/expansion_tile_card.git"
|
||||||
source: git
|
source: git
|
||||||
version: "3.0.0"
|
version: "3.0.0"
|
||||||
|
@ -380,10 +380,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_core
|
name: firebase_core
|
||||||
sha256: "761d0a00562ba09d491eacdceaf1885df62d072c9431bf3110333e2a9904b1e1"
|
sha256: "57bba167105d2315d243a4524939406df688f38a5b6d7a4159382bbbe43cdd00"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.18.0"
|
version: "2.19.0"
|
||||||
firebase_core_platform_interface:
|
firebase_core_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -404,18 +404,18 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_crashlytics
|
name: firebase_crashlytics
|
||||||
sha256: "85f1098487d1b177bb4b7e0d552f57029d6964d2da665104d6299acce2f58bb6"
|
sha256: c58902959e7a73aadcf82c87e8d64f6eb10b5287fd7aaadfab5c2ef34ec11ff5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.4.0"
|
version: "3.4.1"
|
||||||
firebase_crashlytics_platform_interface:
|
firebase_crashlytics_platform_interface:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: firebase_crashlytics_platform_interface
|
name: firebase_crashlytics_platform_interface
|
||||||
sha256: "8bdcca9109595d353b467a97278becb726286596741b9cc0ace59abf9def9645"
|
sha256: "9d2f76bda1542615f75fb501a8c7afc6288d69c3728fdc762bf3d51f0ee0f4cb"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.6.8"
|
version: "3.6.9"
|
||||||
flex_color_picker:
|
flex_color_picker:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -486,10 +486,10 @@ packages:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
name: flutter_lints
|
name: flutter_lints
|
||||||
sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04
|
sha256: ad76540d21c066228ee3f9d1dad64a9f7e46530e8bb7c85011a88bc1fd874bc5
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.3"
|
version: "3.0.0"
|
||||||
flutter_localization_nn:
|
flutter_localization_nn:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
|
@ -747,10 +747,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: lints
|
name: lints
|
||||||
sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452"
|
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "3.0.0"
|
||||||
lists:
|
lists:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -851,10 +851,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: media_kit
|
name: media_kit
|
||||||
sha256: "3dffc6d0c19117d51fbc42a7f89612e0595665800a596289ab7a80bdd93e0ad1"
|
sha256: "3289062540e3b8b9746e5c50d95bd78a9289826b7227e253dff806d002b9e67a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.1.9"
|
version: "1.1.10+1"
|
||||||
media_kit_libs_android_video:
|
media_kit_libs_android_video:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
@ -875,10 +875,10 @@ packages:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: media_kit_video
|
name: media_kit_video
|
||||||
sha256: b8df9cf97aba1861af83b00ac16f5cac536debe0781a934a554b77c157a8f7e8
|
sha256: c048d11a19e379aebbe810647636e3fc6d18374637e2ae12def4ff8a4b99a882
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.2"
|
version: "1.2.4"
|
||||||
meta:
|
meta:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|
Loading…
Reference in a new issue