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