checkin - updated to workspace

pull/2701/head
Eric Windmill 1 month ago
parent ef2e8e71ee
commit b023fdabcb

1
.gitignore vendored

@ -27,6 +27,7 @@
.pub-cache/
.pub/
/build/
**/build/
# Android related
**/gradle-wrapper.jar

@ -23,8 +23,11 @@ class Cell extends StatefulWidget {
class _CellState extends State<Cell> with WidgetsBindingObserver {
static const double gravity = 9.81;
static final AccelerometerEvent defaultPosition =
AccelerometerEvent(0, 0, 0);
static final AccelerometerEvent defaultPosition = AccelerometerEvent(
0,
0,
0,
);
int cellNumber = 0;
Random? _random;
@ -83,8 +86,10 @@ class _CellState extends State<Cell> with WidgetsBindingObserver {
builder: (context) {
return Card(
// Mimic the platform Material look.
margin:
const EdgeInsets.symmetric(horizontal: 36, vertical: 24),
margin: const EdgeInsets.symmetric(
horizontal: 36,
vertical: 24,
),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
),
@ -116,20 +121,21 @@ class _CellState extends State<Cell> with WidgetsBindingObserver {
// cell isn't visible.
stream:
appLifecycleState == AppLifecycleState.resumed
? accelerometerEventStream()
: Stream.value(defaultPosition),
? accelerometerEventStream()
: Stream.value(defaultPosition),
initialData: defaultPosition,
builder: (context, snapshot) {
return Transform(
// Figure out the phone's orientation relative
// to gravity's direction. Ignore the z vector.
transform: Matrix4.rotationX(
snapshot.data!.y / gravity * pi / 2,
)..multiply(
Matrix4.rotationY(
snapshot.data!.x / gravity * pi / 2,
transform:
Matrix4.rotationX(
snapshot.data!.y / gravity * pi / 2,
)..multiply(
Matrix4.rotationY(
snapshot.data!.x / gravity * pi / 2,
),
),
),
alignment: Alignment.center,
child: const FlutterLogo(size: 72),
);

@ -20,8 +20,9 @@ void main() {
expect(mockHostApi.cancelCalls, 1);
});
testWidgets('Pressing done calls the finish editing API',
(tester) async {
testWidgets('Pressing done calls the finish editing API', (
tester,
) async {
MockHostBookApi mockHostApi = MockHostBookApi();
await tester.pumpWidget(

@ -83,7 +83,9 @@ class _MyHomePageState extends State<MyHomePage> {
style: Theme.of(context).textTheme.headlineMedium,
),
TextButton(
onPressed: _incrementCounter, child: const Text('Add')),
onPressed: _incrementCounter,
child: const Text('Add'),
),
TextButton(
onPressed: () {
_channel.invokeMethod<void>("next", _counter);

@ -23,8 +23,11 @@ class Cell extends StatefulWidget {
class _CellState extends State<Cell> with WidgetsBindingObserver {
static const double gravity = 9.81;
static final AccelerometerEvent defaultPosition =
AccelerometerEvent(0, 0, 0);
static final AccelerometerEvent defaultPosition = AccelerometerEvent(
0,
0,
0,
);
int cellNumber = 0;
Random? _random;
@ -83,8 +86,10 @@ class _CellState extends State<Cell> with WidgetsBindingObserver {
builder: (context) {
return Card(
// Mimic the platform Material look.
margin:
const EdgeInsets.symmetric(horizontal: 36, vertical: 24),
margin: const EdgeInsets.symmetric(
horizontal: 36,
vertical: 24,
),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(16),
),
@ -116,24 +121,25 @@ class _CellState extends State<Cell> with WidgetsBindingObserver {
// cell isn't visible.
stream:
appLifecycleState == AppLifecycleState.resumed
? accelerometerEventStream()
: Stream.value(defaultPosition),
? accelerometerEventStream()
: Stream.value(defaultPosition),
initialData: defaultPosition,
builder: (context, snapshot) {
final data = snapshot.data;
if (data == null) {
return const CircularProgressIndicator
.adaptive();
return const CircularProgressIndicator.adaptive();
}
return Transform(
// Figure out the phone's orientation relative
// to gravity's direction. Ignore the z vector.
transform: Matrix4.rotationX(
data.y / gravity * pi / 2,
)..multiply(
Matrix4.rotationY(
data.x / gravity * pi / 2),
),
transform:
Matrix4.rotationX(
data.y / gravity * pi / 2,
)..multiply(
Matrix4.rotationY(
data.x / gravity * pi / 2,
),
),
alignment: Alignment.center,
child: const FlutterLogo(size: 72),
);

@ -4,7 +4,7 @@ version: 1.0.0+1
resolution: workspace
environment:
sdk: '>=3.9.0 <4.0.0'
sdk: ^3.9.0-0
dependencies:
flutter:

@ -1,3 +1,4 @@
# https://dart.dev/guides/libraries/private-files
# Created by `dart pub`
.dart_tool/
.build/

@ -5,7 +5,7 @@ version: 1.0.0+1
resolution: workspace
environment:
sdk: '>=3.9.0 <4.0.0'
sdk: ^3.9.0-0
dependencies:
flutter:

@ -44,8 +44,11 @@ class Demo {
final String route;
final WidgetBuilder builder;
const Demo(
{required this.name, required this.route, required this.builder});
const Demo({
required this.name,
required this.route,
required this.builder,
});
}
final basicDemos = [

@ -50,7 +50,8 @@ class _AnimatedBuilderDemoState extends State<AnimatedBuilderDemo>
builder: (context, child) {
return ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: animation.value),
backgroundColor: animation.value,
),
child: child,
onPressed: () {
switch (controller.status) {

@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
class TypewriterTween extends Tween<String> {
TypewriterTween({String begin = '', String end = ''})
: super(begin: begin, end: end);
: super(begin: begin, end: end);
@override
String lerp(double t) {

@ -49,13 +49,18 @@ class _FadeTransitionDemoState extends State<FadeTransitionDemo>
children: [
FadeTransition(
opacity: _animation,
child:
const Icon(Icons.star, color: Colors.amber, size: 300),
child: const Icon(
Icons.star,
color: Colors.amber,
size: 300,
),
),
ElevatedButton(
child: const Text('animate'),
onPressed: () => setState(() {
_controller.animateTo(1.0).then<TickerFuture>(
_controller
.animateTo(1.0)
.then<TickerFuture>(
(value) => _controller.animateBack(0.0),
);
}),

@ -74,8 +74,10 @@ class _TweenSequenceDemoState extends State<TweenSequenceDemo>
child: child,
);
},
child:
const Text('Animate', style: TextStyle(color: Colors.white)),
child: const Text(
'Animate',
style: TextStyle(color: Colors.white),
),
),
),
);

@ -76,7 +76,7 @@ class _AnimatedListDemoState extends State<AnimatedListDemo> {
appBar: AppBar(
title: const Text('AnimatedList'),
actions: [
IconButton(icon: const Icon(Icons.add), onPressed: addUser)
IconButton(icon: const Icon(Icons.add), onPressed: addUser),
],
),
body: SafeArea(

@ -9,18 +9,18 @@ import 'package:flutter/material.dart';
Color generateColor() => Color(0xFFFFFFFF & Random().nextInt(0xFFFFFFFF));
Widget generateContainer(int keyCount) => Container(
key: ValueKey<int>(keyCount),
height: Random().nextDouble() * 200,
width: Random().nextDouble() * 200,
decoration: BoxDecoration(
color: generateColor(),
borderRadius: BorderRadius.circular(Random().nextDouble() * 100),
border: Border.all(
color: generateColor(),
width: Random().nextDouble() * 5,
),
),
);
key: ValueKey<int>(keyCount),
height: Random().nextDouble() * 200,
width: Random().nextDouble() * 200,
decoration: BoxDecoration(
color: generateColor(),
borderRadius: BorderRadius.circular(Random().nextDouble() * 100),
border: Border.all(
color: generateColor(),
width: Random().nextDouble() * 5,
),
),
);
class AnimatedSwitcherDemo extends StatefulWidget {
const AnimatedSwitcherDemo({super.key});

@ -174,8 +174,8 @@ class _SwipeableCardState extends State<SwipeableCard>
return;
}
var velocity =
(details.velocity.pixelsPerSecond.dx / size.width).abs();
var velocity = (details.velocity.pixelsPerSecond.dx / size.width)
.abs();
_animate(velocity: velocity);
}

@ -80,14 +80,15 @@ class _CarouselState extends State<Carousel> {
scrollBehavior: ScrollConfiguration.of(context).copyWith(
dragDevices: {
ui.PointerDeviceKind.touch,
ui.PointerDeviceKind.mouse
ui.PointerDeviceKind.mouse,
},
),
itemBuilder: (context, index) => AnimatedBuilder(
animation: _controller,
builder: (context, child) {
var result =
_pageHasChanged ? _controller.page! : _currentPage * 1.0;
var result = _pageHasChanged
? _controller.page!
: _currentPage * 1.0;
// The horizontal position of the page between a 1 and 0
var value = result - index;

@ -64,18 +64,19 @@ class _CurvedAnimationDemoState extends State<CurvedAnimationDemo>
controller.reverse();
}
});
animationTranslation = Tween<Offset>(
begin: const Offset(-1, 0),
end: const Offset(1, 0),
).animate(curvedAnimation)
..addListener(() {
setState(() {});
})
..addStatusListener((status) {
if (status == AnimationStatus.completed) {
controller.reverse();
}
});
animationTranslation =
Tween<Offset>(
begin: const Offset(-1, 0),
end: const Offset(1, 0),
).animate(curvedAnimation)
..addListener(() {
setState(() {});
})
..addStatusListener((status) {
if (status == AnimationStatus.completed) {
controller.reverse();
}
});
}
@override

@ -60,16 +60,16 @@ class _ExpandCardState extends State<ExpandCard>
// size
layoutBuilder:
(topChild, topChildKey, bottomChild, bottomChildKey) {
return Stack(
children: [
Positioned.fill(
key: bottomChildKey,
child: bottomChild,
),
Positioned.fill(key: topChildKey, child: topChild),
],
);
},
return Stack(
children: [
Positioned.fill(
key: bottomChildKey,
child: bottomChild,
),
Positioned.fill(key: topChildKey, child: topChild),
],
);
},
firstChild: Image.asset(
'assets/eat_cape_town_sm.jpg',
fit: BoxFit.cover,

@ -18,20 +18,21 @@ class FlutterAnimateDemo extends StatelessWidget {
body: Center(
child: Padding(
padding: const EdgeInsets.all(16),
child: Text(
"Hello Flutter Animate",
style: Theme.of(context).textTheme.headlineLarge,
)
.animate(onPlay: (controller) => controller.repeat())
.then(delay: 250.ms)
.fadeIn(duration: 500.ms)
.then(delay: 250.ms)
.shimmer(duration: 400.ms)
.then(delay: 250.ms)
.slide()
.then(delay: 250.ms)
.blur(duration: 500.ms)
.then(delay: 100.ms),
child:
Text(
"Hello Flutter Animate",
style: Theme.of(context).textTheme.headlineLarge,
)
.animate(onPlay: (controller) => controller.repeat())
.then(delay: 250.ms)
.fadeIn(duration: 500.ms)
.then(delay: 250.ms)
.shimmer(duration: 400.ms)
.then(delay: 250.ms)
.slide()
.then(delay: 250.ms)
.blur(duration: 500.ms)
.then(delay: 100.ms),
),
),
);

@ -30,7 +30,8 @@ class Grid extends StatelessWidget {
itemBuilder: (context, index) {
return (index >= 20)
? const SmallCard(
imageAssetName: 'assets/eat_cape_town_sm.jpg')
imageAssetName: 'assets/eat_cape_town_sm.jpg',
)
: const SmallCard(
imageAssetName: 'assets/eat_new_orleans_sm.jpg',
);
@ -52,7 +53,7 @@ Route _createRoute(BuildContext parentContext, String image) {
return Stack(
children: [
PositionedTransition(rect: rectAnimation, child: child)
PositionedTransition(rect: rectAnimation, child: child),
],
);
},

@ -16,12 +16,16 @@ class HeroAnimationDemo extends StatelessWidget {
child: Hero(
tag: 'hero-page-child',
child: _createHeroContainer(
size: 50.0, color: Colors.grey.shade300),
size: 50.0,
color: Colors.grey.shade300,
),
),
onTap: () => Navigator.of(
context,
).push<void>(
MaterialPageRoute(builder: (context) => const HeroPage())),
onTap: () =>
Navigator.of(
context,
).push<void>(
MaterialPageRoute(builder: (context) => const HeroPage()),
),
),
);
}

@ -79,7 +79,8 @@ class _DraggableCardState extends State<DraggableCard>
super.initState();
_controller = AnimationController.unbounded(vsync: this)
..addListener(
() => setState(() => _dragAlignment = _animation.value));
() => setState(() => _dragAlignment = _animation.value),
);
}
@override

@ -46,8 +46,9 @@ void main() {
await tester.pumpWidget(createAnimatedListDemoScreen());
// Get the initial length of list.
var initialLength =
tester.widgetList(find.byType(ListTile)).length;
var initialLength = tester
.widgetList(find.byType(ListTile))
.length;
// Tap on the Delete Icon Button at middle index.
await tester.tap(find.byIcon(Icons.delete).at(initialLength ~/ 2));
@ -67,8 +68,9 @@ void main() {
await tester.pumpWidget(createAnimatedListDemoScreen());
// Get the initial length of list.
var initialLength =
tester.widgetList(find.byType(ListTile)).length;
var initialLength = tester
.widgetList(find.byType(ListTile))
.length;
// Tap on the Delete Icon Button at start index.
await tester.tap(find.byIcon(Icons.delete).at(0));
@ -88,8 +90,9 @@ void main() {
await tester.pumpWidget(createAnimatedListDemoScreen());
// Get the initial length of list.
var initialLength =
tester.widgetList(find.byType(ListTile)).length;
var initialLength = tester
.widgetList(find.byType(ListTile))
.length;
// Tap on the Delete Icon Button at end index.
await tester.tap(find.byIcon(Icons.delete).at(initialLength - 1));

@ -24,8 +24,10 @@ void main() {
await tester.pumpAndSettle();
// Check if removed properly.
expect(tester.widgetList(find.byType(Card)).length,
lessThan(totalCards));
expect(
tester.widgetList(find.byType(Card)).length,
lessThan(totalCards),
);
});
testWidgets('All cards swiped out', (tester) async {
@ -38,7 +40,9 @@ void main() {
for (var i = 0; i < totalCards; i++) {
// Swipe out one by one.
await tester.drag(
find.byType(Card).last, const Offset(100.0, 0.0));
find.byType(Card).last,
const Offset(100.0, 0.0),
);
await tester.pumpAndSettle();
}

@ -19,7 +19,10 @@ void main() {
// Swipe the Carousel.
await tester.fling(
find.byType(CarouselDemo), const Offset(-400, 0), 800);
find.byType(CarouselDemo),
const Offset(-400, 0),
800,
);
await tester.pumpAndSettle();
// Get the images available on the screen after swipe.

@ -24,7 +24,9 @@ void main() {
// The size of ExpandCard must change once tapped.
// The initialSize should be less than current ExpandCard size.
expect(
initialSize, lessThan(tester.getSize(find.byType(ExpandCard))));
initialSize,
lessThan(tester.getSize(find.byType(ExpandCard))),
);
});
testWidgets('ExpandCard changes image on tap', (tester) async {

@ -34,8 +34,9 @@ void main() {
expect(finalSize, greaterThan(initialSize));
});
testWidgets('Final inkwell on tap goes back to the grid',
(tester) async {
testWidgets('Final inkwell on tap goes back to the grid', (
tester,
) async {
await tester.pumpWidget(createFocusImageScreen());
// Tap on the ink well at index 0.

@ -59,7 +59,8 @@ void main() {
expect(
(finalContainer.decoration as BoxDecoration).color,
isNot(
equals((initialContainer.decoration as BoxDecoration).color)),
equals((initialContainer.decoration as BoxDecoration).color),
),
);
});
@ -67,8 +68,9 @@ void main() {
await tester.pumpWidget(createHeroAnimationDemoScreen());
// Get the initial Screen.
final initialScreen =
tester.firstWidget(find.byType(HeroAnimationDemo));
final initialScreen = tester.firstWidget(
find.byType(HeroAnimationDemo),
);
// Tap on the GestureDetector.
await tester.tap(find.byType(GestureDetector));

@ -1 +0,0 @@
include: package:flutter_lints/flutter.yaml

@ -13,6 +13,8 @@ dependencies:
vector_graphics: ^1.1.11+1
dev_dependencies:
analysis_defaults:
path: ../analysis_defaults
flutter_test:
sdk: flutter
flutter_lints: ^6.0.0

@ -67,10 +67,11 @@ class _MyHomePageState extends State<MyHomePage> {
// just for demonstration purposes.
final Future<void> sharedPreferencesSet =
SharedPreferences.getInstance().then(
(sharedPreferences) => sharedPreferences.setBool('isDebug', true),
);
final Future<Directory> tempDirFuture =
path_provider.getTemporaryDirectory();
(sharedPreferences) =>
sharedPreferences.setBool('isDebug', true),
);
final Future<Directory> tempDirFuture = path_provider
.getTemporaryDirectory();
// Wait until the [SharedPreferences] value is set and the temporary
// directory is received before opening the database. If

@ -190,7 +190,8 @@ class _SimpleDatabaseServer {
// the background isolate.
// ----------------------------------------------------------------------
BackgroundIsolateBinaryMessenger.ensureInitialized(
rootIsolateToken);
rootIsolateToken,
);
_sendPort.send(const _Command(_Codes.ack, arg0: null));
case _Codes.add:
_doAddEntry(command.arg0 as String);

@ -16,6 +16,8 @@ dependencies:
path: ../shared
dev_dependencies:
analysis_defaults:
path: ../../analysis_defaults
flutter_lints: ^6.0.0
flutter_test:
sdk: flutter

@ -15,6 +15,8 @@ dependencies:
path: ../shared
dev_dependencies:
analysis_defaults:
path: ../../analysis_defaults
http: ^1.0.0
lints: ^6.0.0
test: ^1.15.0

@ -11,6 +11,8 @@ dependencies:
json_annotation: ^4.7.0
dev_dependencies:
analysis_defaults:
path: ../../analysis_defaults
build_runner: ^2.2.1
freezed: ">=2.1.1 <4.0.0"
json_serializable: ^6.4.0

@ -3,6 +3,7 @@ description: >-
A sample app that helps users build and book itineraries for trips.
publish_to: none
version: 0.1.0
resolution: workspace
environment:
sdk: ^3.9.0-0
@ -15,7 +16,7 @@ dependencies:
sdk: flutter
flutter_svg: ^2.0.16
freezed_annotation: ^2.4.4
go_router: ^14.6.2
go_router: ^16.0.0
google_fonts: ^6.2.1
intl: any
json_annotation: ^4.9.0
@ -25,15 +26,16 @@ dependencies:
shared_preferences: ^2.3.5
dev_dependencies:
analysis_defaults:
path: ../../analysis_defaults
flutter_test:
sdk: flutter
flutter_lints: ^5.0.0
mocktail_image_network: ^1.2.0
mocktail: ^1.0.4
integration_test:
sdk: flutter
build_runner: ^2.4.14
freezed: ^2.5.7
freezed: ^3.0.0
json_serializable: ^6.9.0
flutter:

@ -11,7 +11,8 @@
# (the recommended set includes the core lints).
# The core lints are also what is used by pub.dev for scoring packages.
include: package:lints/recommended.yaml
include: package:analysis_defaults/flutter.yaml
# Uncomment the following section to specify additional rules.

@ -2,6 +2,7 @@ name: compass_server
description: A server app using the shelf package and Docker.
publish_to: 'none'
version: 1.0.0
resolution: workspace
environment:
sdk: ^3.9.0-0
@ -15,7 +16,8 @@ dependencies:
dev_dependencies:
http: ^1.1.0
lints: ^5.0.0
analysis_defaults:
path: ../../analysis_defaults
test: ^1.24.0
build_runner: ^2.4.11
freezed: ^2.5.7

@ -112,7 +112,9 @@ class _MyContextMenuRegionState extends State<_MyContextMenuRegion> {
),
),
Text(
_lastSelection != null ? 'Last Selected: $_lastSelection' : '',
_lastSelection != null
? 'Last Selected: $_lastSelection'
: '',
),
],
),
@ -228,7 +230,10 @@ class _MyCascadingContextMenuState extends State<_MyCascadingContextMenu> {
);
widget.onToggleMessageVisibility();
},
shortcut: const SingleActivator(LogicalKeyboardKey.keyS, control: true),
shortcut: const SingleActivator(
LogicalKeyboardKey.keyS,
control: true,
),
),
// Hides the message, but is only enabled if the message isn't
// already hidden.

@ -28,7 +28,8 @@ class ContextMenuRegion extends StatefulWidget {
class _ContextMenuRegionState extends State<ContextMenuRegion> {
Offset? _longPressOffset;
final ContextMenuController _contextMenuController = ContextMenuController();
final ContextMenuController _contextMenuController =
ContextMenuController();
static bool get _longPressEnabled {
switch (defaultTargetPlatform) {

@ -62,7 +62,11 @@ class DefaultValuesPage extends StatelessWidget {
'This example simply shows what happens when contextMenuBuilder is given null, a custom value, or omitted altogether.',
),
const SizedBox(height: 40.0),
TextField(maxLines: 2, minLines: 2, controller: _controllerNone),
TextField(
maxLines: 2,
minLines: 2,
controller: _controllerNone,
),
TextField(
maxLines: 2,
minLines: 2,

@ -63,7 +63,9 @@ class EmailButtonPage extends StatelessWidget {
editableTextState.textEditingValue;
final List<ContextMenuButtonItem> buttonItems =
editableTextState.contextMenuButtonItems;
if (isValidEmail(value.selection.textInside(value.text))) {
if (isValidEmail(
value.selection.textInside(value.text),
)) {
buttonItems.insert(
0,
ContextMenuButtonItem(

@ -26,16 +26,17 @@ class FieldTypesPage extends StatelessWidget {
"CupertinoTextField can't show Material menus by default. On non-Apple platforms, you'll still see a Cupertino menu here.",
);
final TextEditingController _cupertinoControllerFixed = TextEditingController(
final TextEditingController
_cupertinoControllerFixed = TextEditingController(
text:
"But CupertinoTextField can be made to adaptively show any menu. You'll see the correct menu for your platform here.",
);
final TextEditingController _cupertinoControllerForced =
TextEditingController(
text:
'Or forced to always show a specific menu (Material desktop menu).',
);
final TextEditingController
_cupertinoControllerForced = TextEditingController(
text:
'Or forced to always show a specific menu (Material desktop menu).',
);
final TextEditingController _editableController = TextEditingController(
text:
@ -67,7 +68,10 @@ class FieldTypesPage extends StatelessWidget {
const SizedBox(height: 20.0),
TextField(maxLines: 3, controller: _controller),
const SizedBox(height: 60.0),
CupertinoTextField(maxLines: 3, controller: _cupertinoController),
CupertinoTextField(
maxLines: 3,
controller: _cupertinoController,
),
const SizedBox(height: 20.0),
CupertinoTextField(
maxLines: 3,
@ -84,11 +88,13 @@ class FieldTypesPage extends StatelessWidget {
controller: _cupertinoControllerForced,
contextMenuBuilder: (context, editableTextState) {
return DesktopTextSelectionToolbar(
anchor: editableTextState.contextMenuAnchors.primaryAnchor,
children: AdaptiveTextSelectionToolbar.getAdaptiveButtons(
context,
editableTextState.contextMenuButtonItems,
).toList(),
anchor:
editableTextState.contextMenuAnchors.primaryAnchor,
children:
AdaptiveTextSelectionToolbar.getAdaptiveButtons(
context,
editableTextState.contextMenuButtonItems,
).toList(),
);
},
),

@ -107,7 +107,9 @@ class FullPage extends StatelessWidget {
editableTextState.textEditingValue;
final List<ContextMenuButtonItem> buttonItems =
editableTextState.contextMenuButtonItems;
if (isValidEmail(value.selection.textInside(value.text))) {
if (isValidEmail(
value.selection.textInside(value.text),
)) {
buttonItems.insert(
0,
ContextMenuButtonItem(
@ -115,7 +117,10 @@ class FullPage extends StatelessWidget {
onPressed: () {
ContextMenuController.removeAny();
Navigator.of(context).push(
_showDialog(context, 'You clicked send email'),
_showDialog(
context,
'You clicked send email',
),
);
},
),

@ -9,7 +9,8 @@ class GlobalSelectionPage extends StatelessWidget {
static const String route = 'global-selection';
static const String title = 'Global Selection Example';
static const String subtitle = 'Context menus in and out of global selection';
static const String subtitle =
'Context menus in and out of global selection';
static const String url = '$kCodeUrl/global_selection_page.dart';
final PlatformCallback onChangedPlatform;

@ -19,8 +19,9 @@ class ImagePage extends StatelessWidget {
DialogRoute _showDialog(BuildContext context) {
return DialogRoute<void>(
context: context,
builder: (context) =>
const AlertDialog(title: Text('Image saved! (not really though)')),
builder: (context) => const AlertDialog(
title: Text('Image saved! (not really though)'),
),
);
}
@ -47,7 +48,9 @@ class ImagePage extends StatelessWidget {
ContextMenuRegion(
contextMenuBuilder: (context, offset) {
return AdaptiveTextSelectionToolbar.buttonItems(
anchors: TextSelectionToolbarAnchors(primaryAnchor: offset),
anchors: TextSelectionToolbarAnchors(
primaryAnchor: offset,
),
buttonItems: <ContextMenuButtonItem>[
ContextMenuButtonItem(
onPressed: () {

@ -13,7 +13,8 @@ class PlatformSelector extends StatefulWidget {
}
class _PlatformSelectorState extends State<PlatformSelector> {
static const int targetPlatformStringLength = 15; // 'TargetPlatform.'.length
static const int targetPlatformStringLength =
15; // 'TargetPlatform.'.length
static String _platformToString(TargetPlatform platform) {
return platform.toString().substring(targetPlatformStringLength);

@ -11,7 +11,8 @@ class ReorderedButtonsPage extends StatelessWidget {
static const String route = 'reordered-buttons';
static const String title = 'Reordered Buttons';
static const String subtitle = 'The usual buttons, but in a different order.';
static const String subtitle =
'The usual buttons, but in a different order.';
static const String url = '$kCodeUrl/reordered_buttons_page.dart';
final PlatformCallback onChangedPlatform;
@ -54,26 +55,38 @@ class ReorderedButtonsPage extends StatelessWidget {
maxLines: 2,
contextMenuBuilder: (context, editableTextState) {
// Reorder the button datas by type.
final HashMap<ContextMenuButtonType, ContextMenuButtonItem>
final HashMap<
ContextMenuButtonType,
ContextMenuButtonItem
>
buttonItemsMap =
HashMap<ContextMenuButtonType, ContextMenuButtonItem>();
HashMap<
ContextMenuButtonType,
ContextMenuButtonItem
>();
for (ContextMenuButtonItem buttonItem
in editableTextState.contextMenuButtonItems) {
buttonItemsMap[buttonItem.type] = buttonItem;
}
final List<ContextMenuButtonItem>
reorderedButtonItems = <ContextMenuButtonItem>[
if (buttonItemsMap.containsKey(
ContextMenuButtonType.selectAll,
))
buttonItemsMap[ContextMenuButtonType.selectAll]!,
if (buttonItemsMap.containsKey(ContextMenuButtonType.paste))
buttonItemsMap[ContextMenuButtonType.paste]!,
if (buttonItemsMap.containsKey(ContextMenuButtonType.copy))
buttonItemsMap[ContextMenuButtonType.copy]!,
if (buttonItemsMap.containsKey(ContextMenuButtonType.cut))
buttonItemsMap[ContextMenuButtonType.cut]!,
];
final List<ContextMenuButtonItem> reorderedButtonItems =
<ContextMenuButtonItem>[
if (buttonItemsMap.containsKey(
ContextMenuButtonType.selectAll,
))
buttonItemsMap[ContextMenuButtonType.selectAll]!,
if (buttonItemsMap.containsKey(
ContextMenuButtonType.paste,
))
buttonItemsMap[ContextMenuButtonType.paste]!,
if (buttonItemsMap.containsKey(
ContextMenuButtonType.copy,
))
buttonItemsMap[ContextMenuButtonType.copy]!,
if (buttonItemsMap.containsKey(
ContextMenuButtonType.cut,
))
buttonItemsMap[ContextMenuButtonType.cut]!,
];
return AdaptiveTextSelectionToolbar.buttonItems(
anchors: editableTextState.contextMenuAnchors,
buttonItems: reorderedButtonItems,

@ -37,7 +37,10 @@ void main() {
expect(find.byType(AdaptiveTextSelectionToolbar), findsOneWidget);
switch (defaultTargetPlatform) {
case TargetPlatform.iOS:
expect(find.byType(CupertinoTextSelectionToolbarButton), findsNothing);
expect(
find.byType(CupertinoTextSelectionToolbarButton),
findsNothing,
);
expect(find.byType(CupertinoButton), findsNWidgets(2));
case TargetPlatform.macOS:
expect(find.byType(CupertinoButton), findsNWidgets(2));
@ -52,7 +55,10 @@ void main() {
case TargetPlatform.linux:
case TargetPlatform.windows:
expect(find.byType(CupertinoButton), findsNWidgets(1));
expect(find.byType(DesktopTextSelectionToolbarButton), findsNothing);
expect(
find.byType(DesktopTextSelectionToolbarButton),
findsNothing,
);
}
});
}

@ -7,7 +7,9 @@ import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('Shows default buttons in a custom context menu', (tester) async {
testWidgets('Shows default buttons in a custom context menu', (
tester,
) async {
await tester.pumpWidget(const MyApp());
// Navigate to the CustomMenuPage example.
@ -33,7 +35,10 @@ void main() {
// A custom context menu is shown, and the buttons are the default ones.
expect(find.byType(AdaptiveTextSelectionToolbar), findsNothing);
expect(find.byType(CupertinoAdaptiveTextSelectionToolbar), findsNothing);
expect(
find.byType(CupertinoAdaptiveTextSelectionToolbar),
findsNothing,
);
switch (defaultTargetPlatform) {
case TargetPlatform.iOS:
expect(
@ -47,7 +52,10 @@ void main() {
);
case TargetPlatform.android:
case TargetPlatform.fuchsia:
expect(find.byType(TextSelectionToolbarTextButton), findsNWidgets(1));
expect(
find.byType(TextSelectionToolbarTextButton),
findsNWidgets(1),
);
case TargetPlatform.linux:
case TargetPlatform.windows:
expect(

@ -55,7 +55,10 @@ void main() {
);
case TargetPlatform.android:
case TargetPlatform.fuchsia:
expect(find.byType(TextSelectionToolbarTextButton), findsNWidgets(1));
expect(
find.byType(TextSelectionToolbarTextButton),
findsNWidgets(1),
);
case TargetPlatform.linux:
case TargetPlatform.windows:
expect(

@ -61,7 +61,10 @@ void main() {
);
case TargetPlatform.android:
case TargetPlatform.fuchsia:
expect(find.byType(TextSelectionToolbarTextButton), findsNWidgets(3));
expect(
find.byType(TextSelectionToolbarTextButton),
findsNWidgets(3),
);
case TargetPlatform.linux:
case TargetPlatform.windows:
expect(
@ -111,7 +114,10 @@ void main() {
);
case TargetPlatform.android:
case TargetPlatform.fuchsia:
expect(find.byType(TextSelectionToolbarTextButton), findsNWidgets(4));
expect(
find.byType(TextSelectionToolbarTextButton),
findsNWidgets(4),
);
case TargetPlatform.linux:
case TargetPlatform.windows:
expect(

@ -44,7 +44,10 @@ void main() {
expect(find.byType(AdaptiveTextSelectionToolbar), findsOneWidget);
switch (defaultTargetPlatform) {
case TargetPlatform.iOS:
expect(find.byType(CupertinoTextSelectionToolbar), findsOneWidget);
expect(
find.byType(CupertinoTextSelectionToolbar),
findsOneWidget,
);
case TargetPlatform.android:
expect(find.byType(TextSelectionToolbar), findsOneWidget);
case TargetPlatform.fuchsia:
@ -83,7 +86,10 @@ void main() {
case TargetPlatform.iOS:
case TargetPlatform.android:
case TargetPlatform.fuchsia:
expect(find.byType(CupertinoTextSelectionToolbar), findsOneWidget);
expect(
find.byType(CupertinoTextSelectionToolbar),
findsOneWidget,
);
case TargetPlatform.macOS:
case TargetPlatform.linux:
case TargetPlatform.windows:
@ -96,7 +102,10 @@ void main() {
// Tap the next field to hide the context menu.
await tester.tap(find.byType(CupertinoTextField).at(1));
await tester.pumpAndSettle();
expect(find.byType(CupertinoAdaptiveTextSelectionToolbar), findsNothing);
expect(
find.byType(CupertinoAdaptiveTextSelectionToolbar),
findsNothing,
);
// Right click on the fixed CupertinoTextField.
gesture = await tester.startGesture(
@ -113,7 +122,10 @@ void main() {
expect(find.byType(AdaptiveTextSelectionToolbar), findsOneWidget);
switch (defaultTargetPlatform) {
case TargetPlatform.iOS:
expect(find.byType(CupertinoTextSelectionToolbar), findsOneWidget);
expect(
find.byType(CupertinoTextSelectionToolbar),
findsOneWidget,
);
case TargetPlatform.android:
expect(find.byType(TextSelectionToolbar), findsOneWidget);
case TargetPlatform.fuchsia:
@ -145,7 +157,10 @@ void main() {
// The DesktopTextSelectionToolbar is shown for all platforms.
expect(find.byType(AdaptiveTextSelectionToolbar), findsNothing);
expect(find.byType(CupertinoAdaptiveTextSelectionToolbar), findsNothing);
expect(
find.byType(CupertinoAdaptiveTextSelectionToolbar),
findsNothing,
);
expect(find.byType(DesktopTextSelectionToolbar), findsOneWidget);
// Tap the next field to hide the context menu.
@ -168,7 +183,10 @@ void main() {
expect(find.byType(AdaptiveTextSelectionToolbar), findsOneWidget);
switch (defaultTargetPlatform) {
case TargetPlatform.iOS:
expect(find.byType(CupertinoTextSelectionToolbar), findsOneWidget);
expect(
find.byType(CupertinoTextSelectionToolbar),
findsOneWidget,
);
case TargetPlatform.android:
expect(find.byType(TextSelectionToolbar), findsOneWidget);
case TargetPlatform.fuchsia:

@ -5,43 +5,49 @@ import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('Gives correct behavior for all values of contextMenuBuilder', (
tester,
) async {
await tester.pumpWidget(const MyApp());
testWidgets(
'Gives correct behavior for all values of contextMenuBuilder',
(
tester,
) async {
await tester.pumpWidget(const MyApp());
// Navigate to the GlobalSelectionPage example.
await tester.dragUntilVisible(
find.text(GlobalSelectionPage.title),
find.byType(ListView),
const Offset(0.0, -100.0),
);
await tester.pumpAndSettle();
await tester.tap(find.text(GlobalSelectionPage.title));
await tester.pumpAndSettle();
expect(
find.descendant(
of: find.byType(AppBar),
matching: find.text(GlobalSelectionPage.title),
),
findsOneWidget,
);
// Navigate to the GlobalSelectionPage example.
await tester.dragUntilVisible(
find.text(GlobalSelectionPage.title),
find.byType(ListView),
const Offset(0.0, -100.0),
);
await tester.pumpAndSettle();
await tester.tap(find.text(GlobalSelectionPage.title));
await tester.pumpAndSettle();
expect(
find.descendant(
of: find.byType(AppBar),
matching: find.text(GlobalSelectionPage.title),
),
findsOneWidget,
);
// Right click on the plain Text widget.
TestGesture gesture = await tester.startGesture(
tester.getCenter(
find.descendant(of: find.byType(ListView), matching: find.byType(Text)),
),
kind: PointerDeviceKind.mouse,
buttons: kSecondaryMouseButton,
);
await tester.pump();
await gesture.up();
await gesture.removePointer();
await tester.pumpAndSettle();
// Right click on the plain Text widget.
TestGesture gesture = await tester.startGesture(
tester.getCenter(
find.descendant(
of: find.byType(ListView),
matching: find.byType(Text),
),
),
kind: PointerDeviceKind.mouse,
buttons: kSecondaryMouseButton,
);
await tester.pump();
await gesture.up();
await gesture.removePointer();
await tester.pumpAndSettle();
// The default context menu is shown with a custom button.
expect(find.byType(AdaptiveTextSelectionToolbar), findsOneWidget);
expect(find.text('Back'), findsOneWidget);
});
// The default context menu is shown with a custom button.
expect(find.byType(AdaptiveTextSelectionToolbar), findsOneWidget);
expect(find.text('Back'), findsOneWidget);
},
);
}

@ -40,6 +40,9 @@ List<TextSelectionPoint> globalize(
RenderBox box,
) {
return points.map<TextSelectionPoint>((point) {
return TextSelectionPoint(box.localToGlobal(point.point), point.direction);
return TextSelectionPoint(
box.localToGlobal(point.point),
point.direction,
);
}).toList();
}

@ -55,9 +55,8 @@ class _EventDetailState extends State<EventDetail> {
Navigator.of(context)
.push(
CupertinoPageRoute<(IconData, ColorOptions)?>(
builder:
(_) =>
SymbolEditor(event.icon, event.color),
builder: (_) =>
SymbolEditor(event.icon, event.color),
),
)
.then(((IconData, ColorOptions)? data) {

@ -41,22 +41,21 @@ class _EventEditorState extends State<EventEditor> {
//
// Is this maybe the issue here?
// https://github.com/flutter/flutter/issues/91715
leading:
isNew
? CupertinoButton(
padding: EdgeInsets.zero,
child: const Text('Cancel'),
onPressed: () => Navigator.pop(context, null),
)
: CupertinoButton(
padding: EdgeInsets.zero,
onPressed: () {
Navigator.pop(context, event);
},
child: const Row(
children: [Icon(CupertinoIcons.back), Text('Date Planner')],
),
leading: isNew
? CupertinoButton(
padding: EdgeInsets.zero,
child: const Text('Cancel'),
onPressed: () => Navigator.pop(context, null),
)
: CupertinoButton(
padding: EdgeInsets.zero,
onPressed: () {
Navigator.pop(context, event);
},
child: const Row(
children: [Icon(CupertinoIcons.back), Text('Date Planner')],
),
),
trailing: CupertinoButton(
padding: EdgeInsets.zero,
child: Text(isNew ? 'Add' : (isEditing ? 'Done' : 'Edit')),

@ -36,11 +36,10 @@ class EventList extends StatelessWidget {
// Blocked on https://github.com/flutter/flutter/issues/42560.
Event? newEvent = await Navigator.of(context).push(
CupertinoPageRoute<Event>(
builder:
(_) => EventEditor(
event: Event(title: 'New event'),
isNew: true,
),
builder: (_) => EventEditor(
event: Event(title: 'New event'),
isNew: true,
),
),
);
@ -69,17 +68,15 @@ class EventList extends StatelessWidget {
EventRow(
event: e,
onTap: () async {
Event? updatedEvent = await Navigator.of(
context,
).push(
CupertinoPageRoute<Event>(
builder:
(_) => EventEditor(
Event? updatedEvent = await Navigator.of(context)
.push(
CupertinoPageRoute<Event>(
builder: (_) => EventEditor(
event: e.copy(),
isNew: false,
),
),
);
),
);
if (updatedEvent == null) {
// The editor passes back null when it deleted
// the element.

@ -31,9 +31,9 @@ class EventRow extends StatelessWidget {
event.isComplete
? const Icon(CupertinoIcons.check_mark)
: Text(
'${event.remainingTaskCount}',
style: const TextStyle(color: CupertinoColors.systemGrey),
),
'${event.remainingTaskCount}',
style: const TextStyle(color: CupertinoColors.systemGrey),
),
const CupertinoListTileChevron(),
],
),

@ -39,11 +39,8 @@ class _SymbolEditorState extends State<SymbolEditor> {
CupertinoButton(
padding: EdgeInsets.zero,
child: const Text('Done'),
onPressed:
() => Navigator.pop(context, (
_currentIcon,
_currentColor,
)),
onPressed: () =>
Navigator.pop(context, (_currentIcon, _currentColor)),
),
],
),

@ -29,14 +29,13 @@ class _TaskRowState extends State<TaskRow> {
return Row(
children: [
CupertinoButton(
onPressed:
widget.isEditing
? () {
setState(() {
widget.task.isCompleted = !widget.task.isCompleted;
});
}
: null,
onPressed: widget.isEditing
? () {
setState(() {
widget.task.isCompleted = !widget.task.isCompleted;
});
}
: null,
child: Icon(
widget.task.isCompleted
? CupertinoIcons.checkmark_circle_fill
@ -45,15 +44,14 @@ class _TaskRowState extends State<TaskRow> {
),
),
Expanded(
child:
widget.isEditing
? CupertinoTextField(
decoration: null,
padding: EdgeInsets.zero,
controller: _taskText,
onChanged: (value) => widget.task.text = value,
)
: Text(widget.task.text),
child: widget.isEditing
? CupertinoTextField(
decoration: null,
padding: EdgeInsets.zero,
controller: _taskText,
onChanged: (value) => widget.task.text = value,
)
: Text(widget.task.text),
),
],
);

@ -16,4 +16,6 @@ dependencies:
uuid:
dev_dependencies:
analysis_defaults:
path: ../analysis_defaults
flutter_lints: ^6.0.0

@ -41,6 +41,8 @@ dependencies:
go_router: ^16.0.0
dev_dependencies:
analysis_defaults:
path: ../analysis_defaults
flutter_test:
sdk: flutter
# The "flutter_lints" package below contains a set of recommended lints to

@ -24,7 +24,9 @@ void main() {
Logger.root.level = Level.ALL;
Logger.root.onRecord.listen((rec) {
// ignore: avoid_print
print('${rec.loggerName} ${rec.level.name}: ${rec.time}: ${rec.message}');
print(
'${rec.loggerName} ${rec.level.name}: ${rec.time}: ${rec.message}',
);
});
if (unsplashAccessKey.isEmpty) {
@ -50,7 +52,8 @@ const double windowWidth = 1024;
const double windowHeight = 800;
void setupWindow() {
if (!kIsWeb && (Platform.isWindows || Platform.isLinux || Platform.isMacOS)) {
if (!kIsWeb &&
(Platform.isWindows || Platform.isLinux || Platform.isMacOS)) {
WidgetsFlutterBinding.ensureInitialized();
setWindowMinSize(const Size(windowWidth, windowHeight));
}
@ -84,8 +87,9 @@ class UnsplashHomePage extends StatelessWidget {
onSelected: () {
showDialog<void>(
context: context,
builder: (context) =>
PhotoSearchDialog(callback: photoSearchModel.addSearch),
builder: (context) => PhotoSearchDialog(
callback: photoSearchModel.addSearch,
),
);
},
),

@ -45,5 +45,6 @@ class PhotoSearchModel extends ChangeNotifier {
notifyListeners();
}
Future<Uint8List> download({required Photo photo}) => _client.download(photo);
Future<Uint8List> download({required Photo photo}) =>
_client.download(photo);
}

@ -33,7 +33,9 @@ class _$SearchSerializer implements StructuredSerializer<Search> {
'results',
serializers.serialize(
object.results,
specifiedType: const FullType(BuiltList, const [const FullType(Photo)]),
specifiedType: const FullType(BuiltList, const [
const FullType(Photo),
]),
),
];
@ -104,7 +106,9 @@ class _$Search extends Search {
@override
bool operator ==(Object other) {
if (identical(other, this)) return true;
return other is Search && query == other.query && results == other.results;
return other is Search &&
query == other.query &&
results == other.results;
}
@override

@ -21,7 +21,9 @@ abstract class ApiError implements Built<ApiError, ApiErrorBuilder> {
BuiltList<String>? get errors;
String toJson() {
return json.encode(serializers.serializeWith(ApiError.serializer, this));
return json.encode(
serializers.serializeWith(ApiError.serializer, this),
);
}
static ApiError? fromJson(String jsonString) {

@ -12,7 +12,8 @@ import '../serializers.dart';
part 'current_user_collections.g.dart';
abstract class CurrentUserCollections
implements Built<CurrentUserCollections, CurrentUserCollectionsBuilder> {
implements
Built<CurrentUserCollections, CurrentUserCollectionsBuilder> {
factory CurrentUserCollections([
void Function(CurrentUserCollectionsBuilder)? updates,
]) = _$CurrentUserCollections;

@ -39,7 +39,10 @@ class _$CurrentUserCollectionsSerializer
result
..add('title')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.publishedAt;
@ -47,7 +50,10 @@ class _$CurrentUserCollectionsSerializer
result
..add('published_at')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.updatedAt;
@ -55,7 +61,10 @@ class _$CurrentUserCollectionsSerializer
result
..add('updated_at')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
return result;
@ -134,7 +143,11 @@ class _$CurrentUserCollections extends CurrentUserCollections {
this.publishedAt,
this.updatedAt,
}) : super._() {
BuiltValueNullFieldError.checkNotNull(id, r'CurrentUserCollections', 'id');
BuiltValueNullFieldError.checkNotNull(
id,
r'CurrentUserCollections',
'id',
);
}
@override
@ -179,7 +192,8 @@ class _$CurrentUserCollections extends CurrentUserCollections {
}
class CurrentUserCollectionsBuilder
implements Builder<CurrentUserCollections, CurrentUserCollectionsBuilder> {
implements
Builder<CurrentUserCollections, CurrentUserCollectionsBuilder> {
_$CurrentUserCollections? _$v;
int? _id;
@ -192,7 +206,8 @@ class CurrentUserCollectionsBuilder
String? _publishedAt;
String? get publishedAt => _$this._publishedAt;
set publishedAt(String? publishedAt) => _$this._publishedAt = publishedAt;
set publishedAt(String? publishedAt) =>
_$this._publishedAt = publishedAt;
String? _updatedAt;
String? get updatedAt => _$this._updatedAt;

@ -31,7 +31,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('make')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.model;
@ -39,7 +42,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('model')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.exposureTime;
@ -47,7 +53,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('exposure_time')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.aperture;
@ -55,7 +64,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('aperture')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.focalLength;
@ -63,14 +75,19 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('focal_length')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.iso;
if (value != null) {
result
..add('iso')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
return result;
}
@ -131,7 +148,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
break;
case 'iso':
result.iso =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
}
@ -225,7 +245,8 @@ class ExifBuilder implements Builder<Exif, ExifBuilder> {
String? _exposureTime;
String? get exposureTime => _$this._exposureTime;
set exposureTime(String? exposureTime) => _$this._exposureTime = exposureTime;
set exposureTime(String? exposureTime) =>
_$this._exposureTime = exposureTime;
String? _aperture;
String? get aperture => _$this._aperture;
@ -233,7 +254,8 @@ class ExifBuilder implements Builder<Exif, ExifBuilder> {
String? _focalLength;
String? get focalLength => _$this._focalLength;
set focalLength(String? focalLength) => _$this._focalLength = focalLength;
set focalLength(String? focalLength) =>
_$this._focalLength = focalLength;
int? _iso;
int? get iso => _$this._iso;

@ -31,7 +31,10 @@ class _$LinksSerializer implements StructuredSerializer<Links> {
result
..add('self')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.html;
@ -39,7 +42,10 @@ class _$LinksSerializer implements StructuredSerializer<Links> {
result
..add('html')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.download;
@ -47,7 +53,10 @@ class _$LinksSerializer implements StructuredSerializer<Links> {
result
..add('download')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.downloadLocation;
@ -55,7 +64,10 @@ class _$LinksSerializer implements StructuredSerializer<Links> {
result
..add('download_location')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
return result;

@ -27,7 +27,9 @@ abstract class Location implements Built<Location, LocationBuilder> {
Position? get position;
String toJson() {
return json.encode(serializers.serializeWith(Location.serializer, this));
return json.encode(
serializers.serializeWith(Location.serializer, this),
);
}
static Location? fromJson(String jsonString) {

@ -31,7 +31,10 @@ class _$LocationSerializer implements StructuredSerializer<Location> {
result
..add('city')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.country;
@ -39,7 +42,10 @@ class _$LocationSerializer implements StructuredSerializer<Location> {
result
..add('country')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.position;
@ -47,7 +53,10 @@ class _$LocationSerializer implements StructuredSerializer<Location> {
result
..add('position')
..add(
serializers.serialize(value, specifiedType: const FullType(Position)),
serializers.serialize(
value,
specifiedType: const FullType(Position),
),
);
}
return result;
@ -160,7 +169,8 @@ class LocationBuilder implements Builder<Location, LocationBuilder> {
set country(String? country) => _$this._country = country;
PositionBuilder? _position;
PositionBuilder get position => _$this._position ??= new PositionBuilder();
PositionBuilder get position =>
_$this._position ??= new PositionBuilder();
set position(PositionBuilder? position) => _$this._position = position;
LocationBuilder();

@ -26,7 +26,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
}) {
final result = <Object?>[
'id',
serializers.serialize(object.id, specifiedType: const FullType(String)),
serializers.serialize(
object.id,
specifiedType: const FullType(String),
),
];
Object? value;
value = object.createdAt;
@ -34,7 +37,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('created_at')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.updatedAt;
@ -42,47 +48,64 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('updated_at')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.width;
if (value != null) {
result
..add('width')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.height;
if (value != null) {
result
..add('height')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.color;
if (value != null) {
result
..add('color')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.downloads;
if (value != null) {
result
..add('downloads')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.likes;
if (value != null) {
result
..add('likes')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.likedByUser;
if (value != null) {
result
..add('liked_by_user')
..add(
serializers.serialize(value, specifiedType: const FullType(bool)),
serializers.serialize(
value,
specifiedType: const FullType(bool),
),
);
}
value = object.description;
@ -90,7 +113,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('description')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.exif;
@ -98,7 +124,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('exif')
..add(
serializers.serialize(value, specifiedType: const FullType(Exif)),
serializers.serialize(
value,
specifiedType: const FullType(Exif),
),
);
}
value = object.location;
@ -106,7 +135,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('location')
..add(
serializers.serialize(value, specifiedType: const FullType(Location)),
serializers.serialize(
value,
specifiedType: const FullType(Location),
),
);
}
value = object.tags;
@ -140,7 +172,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('urls')
..add(
serializers.serialize(value, specifiedType: const FullType(Urls)),
serializers.serialize(
value,
specifiedType: const FullType(Urls),
),
);
}
value = object.links;
@ -148,7 +183,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('links')
..add(
serializers.serialize(value, specifiedType: const FullType(Links)),
serializers.serialize(
value,
specifiedType: const FullType(Links),
),
);
}
value = object.user;
@ -156,7 +194,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('user')
..add(
serializers.serialize(value, specifiedType: const FullType(User)),
serializers.serialize(
value,
specifiedType: const FullType(User),
),
);
}
return result;
@ -202,12 +243,18 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'width':
result.width =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'height':
result.height =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'color':
@ -220,12 +267,18 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'downloads':
result.downloads =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'likes':
result.likes =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'liked_by_user':
@ -246,7 +299,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'exif':
result.exif.replace(
serializers.deserialize(value, specifiedType: const FullType(Exif))!
serializers.deserialize(
value,
specifiedType: const FullType(Exif),
)!
as Exif,
);
break;
@ -283,7 +339,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'urls':
result.urls.replace(
serializers.deserialize(value, specifiedType: const FullType(Urls))!
serializers.deserialize(
value,
specifiedType: const FullType(Urls),
)!
as Urls,
);
break;
@ -298,7 +357,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'user':
result.user.replace(
serializers.deserialize(value, specifiedType: const FullType(User))!
serializers.deserialize(
value,
specifiedType: const FullType(User),
)!
as User,
);
break;
@ -489,14 +551,16 @@ class PhotoBuilder implements Builder<Photo, PhotoBuilder> {
String? _description;
String? get description => _$this._description;
set description(String? description) => _$this._description = description;
set description(String? description) =>
_$this._description = description;
ExifBuilder? _exif;
ExifBuilder get exif => _$this._exif ??= new ExifBuilder();
set exif(ExifBuilder? exif) => _$this._exif = exif;
LocationBuilder? _location;
LocationBuilder get location => _$this._location ??= new LocationBuilder();
LocationBuilder get location =>
_$this._location ??= new LocationBuilder();
set location(LocationBuilder? location) => _$this._location = location;
ListBuilder<Tags>? _tags;

@ -23,7 +23,9 @@ abstract class Position implements Built<Position, PositionBuilder> {
double get longitude;
String toJson() {
return json.encode(serializers.serializeWith(Position.serializer, this));
return json.encode(
serializers.serializeWith(Position.serializer, this),
);
}
static Position? fromJson(String jsonString) {

@ -86,9 +86,18 @@ class _$Position extends Position {
factory _$Position([void Function(PositionBuilder)? updates]) =>
(new PositionBuilder()..update(updates))._build();
_$Position._({required this.latitude, required this.longitude}) : super._() {
BuiltValueNullFieldError.checkNotNull(latitude, r'Position', 'latitude');
BuiltValueNullFieldError.checkNotNull(longitude, r'Position', 'longitude');
_$Position._({required this.latitude, required this.longitude})
: super._() {
BuiltValueNullFieldError.checkNotNull(
latitude,
r'Position',
'latitude',
);
BuiltValueNullFieldError.checkNotNull(
longitude,
r'Position',
'longitude',
);
}
@override

@ -33,7 +33,9 @@ class _$SearchPhotosResponseSerializer
'results',
serializers.serialize(
object.results,
specifiedType: const FullType(BuiltList, const [const FullType(Photo)]),
specifiedType: const FullType(BuiltList, const [
const FullType(Photo),
]),
),
];
Object? value;
@ -41,13 +43,17 @@ class _$SearchPhotosResponseSerializer
if (value != null) {
result
..add('total')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.totalPages;
if (value != null) {
result
..add('total_pages')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
return result;
}
@ -68,12 +74,18 @@ class _$SearchPhotosResponseSerializer
switch (key) {
case 'total':
result.total =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'total_pages':
result.totalPages =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'results':
@ -106,8 +118,11 @@ class _$SearchPhotosResponse extends SearchPhotosResponse {
void Function(SearchPhotosResponseBuilder)? updates,
]) => (new SearchPhotosResponseBuilder()..update(updates))._build();
_$SearchPhotosResponse._({this.total, this.totalPages, required this.results})
: super._() {
_$SearchPhotosResponse._({
this.total,
this.totalPages,
required this.results,
}) : super._() {
BuiltValueNullFieldError.checkNotNull(
results,
r'SearchPhotosResponse',

@ -140,7 +140,11 @@ class TagsBuilder implements Builder<Tags, TagsBuilder> {
final _$result =
_$v ??
new _$Tags._(
title: BuiltValueNullFieldError.checkNotNull(title, r'Tags', 'title'),
title: BuiltValueNullFieldError.checkNotNull(
title,
r'Tags',
'title',
),
);
replace(_$result);
return _$result;

@ -31,7 +31,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('raw')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.full;
@ -39,7 +42,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('full')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.regular;
@ -47,7 +53,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('regular')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.small;
@ -55,7 +64,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('small')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.thumb;
@ -63,7 +75,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('thumb')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
return result;

@ -26,14 +26,20 @@ class _$UserSerializer implements StructuredSerializer<User> {
}) {
final result = <Object?>[
'id',
serializers.serialize(object.id, specifiedType: const FullType(String)),
serializers.serialize(
object.id,
specifiedType: const FullType(String),
),
'username',
serializers.serialize(
object.username,
specifiedType: const FullType(String),
),
'name',
serializers.serialize(object.name, specifiedType: const FullType(String)),
serializers.serialize(
object.name,
specifiedType: const FullType(String),
),
];
Object? value;
value = object.updatedAt;
@ -41,7 +47,10 @@ class _$UserSerializer implements StructuredSerializer<User> {
result
..add('updated_at')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.portfolioUrl;
@ -49,7 +58,10 @@ class _$UserSerializer implements StructuredSerializer<User> {
result
..add('portfolio_url')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.bio;
@ -57,7 +69,10 @@ class _$UserSerializer implements StructuredSerializer<User> {
result
..add('bio')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.location;
@ -65,33 +80,45 @@ class _$UserSerializer implements StructuredSerializer<User> {
result
..add('location')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.totalLikes;
if (value != null) {
result
..add('total_likes')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.totalPhotos;
if (value != null) {
result
..add('total_photos')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.totalCollections;
if (value != null) {
result
..add('total_collections')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.links;
if (value != null) {
result
..add('links')
..add(
serializers.serialize(value, specifiedType: const FullType(Links)),
serializers.serialize(
value,
specifiedType: const FullType(Links),
),
);
}
return result;
@ -169,17 +196,26 @@ class _$UserSerializer implements StructuredSerializer<User> {
break;
case 'total_likes':
result.totalLikes =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'total_photos':
result.totalPhotos =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'total_collections':
result.totalCollections =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'links':
@ -324,7 +360,8 @@ class UserBuilder implements Builder<User, UserBuilder> {
String? _portfolioUrl;
String? get portfolioUrl => _$this._portfolioUrl;
set portfolioUrl(String? portfolioUrl) => _$this._portfolioUrl = portfolioUrl;
set portfolioUrl(String? portfolioUrl) =>
_$this._portfolioUrl = portfolioUrl;
String? _bio;
String? get bio => _$this._bio;
@ -399,7 +436,11 @@ class UserBuilder implements Builder<User, UserBuilder> {
r'User',
'username',
),
name: BuiltValueNullFieldError.checkNotNull(name, r'User', 'name'),
name: BuiltValueNullFieldError.checkNotNull(
name,
r'User',
'name',
),
portfolioUrl: portfolioUrl,
bio: bio,
location: location,

@ -115,7 +115,9 @@ class _SplitState extends State<Split> {
secondSize = secondSize - halfDivider;
void updateSpacing(DragUpdateDetails dragDetails) {
final delta = isHorizontal ? dragDetails.delta.dx : dragDetails.delta.dy;
final delta = isHorizontal
? dragDetails.delta.dx
: dragDetails.delta.dy;
final fractionalDelta = delta / axisSize;
setState(() {
// Update the fraction of space consumed by the children,
@ -144,11 +146,17 @@ class _SplitState extends State<Split> {
child: DecoratedBox(
decoration: BoxDecoration(
color: Theme.of(context).dividerColor,
borderRadius: BorderRadius.circular(Split.dividerMainAxisSize),
borderRadius: BorderRadius.circular(
Split.dividerMainAxisSize,
),
),
child: SizedBox(
height: isHorizontal ? 2.0 : Split.dividerMainAxisSize - 2.0,
width: isHorizontal ? Split.dividerMainAxisSize - 2.0 : 2.0,
height: isHorizontal
? 2.0
: Split.dividerMainAxisSize - 2.0,
width: isHorizontal
? Split.dividerMainAxisSize - 2.0
: 2.0,
),
),
),

@ -15,7 +15,8 @@ class UnsplashSearchContent extends StatefulWidget {
const UnsplashSearchContent({super.key});
@override
State<UnsplashSearchContent> createState() => _UnsplashSearchContentState();
State<UnsplashSearchContent> createState() =>
_UnsplashSearchContentState();
}
class _UnsplashSearchContentState extends State<UnsplashSearchContent> {
@ -39,7 +40,9 @@ class _UnsplashSearchContentState extends State<UnsplashSearchContent> {
child: SingleChildScrollView(
controller: _treeViewScrollController,
child: TreeView(
items: photoSearchModel.entries.map(_buildSearchEntry).toList(),
items: photoSearchModel.entries
.map(_buildSearchEntry)
.toList(),
),
),
),

@ -44,7 +44,8 @@ Future<void> test() async =>
_logProcessOutput(Process.start('flutter', ['test']));
@Task()
Future<void> clean() => _logProcessOutput(Process.start('flutter', ['clean']));
Future<void> clean() =>
_logProcessOutput(Process.start('flutter', ['clean']));
Future<void> _logProcessOutput(Future<Process> proc) async {
final process = await proc;

@ -24,7 +24,9 @@ void main() {
Logger.root.level = Level.ALL;
Logger.root.onRecord.listen((rec) {
// ignore: avoid_print
print('${rec.loggerName} ${rec.level.name}: ${rec.time}: ${rec.message}');
print(
'${rec.loggerName} ${rec.level.name}: ${rec.time}: ${rec.message}',
);
});
if (unsplashAccessKey.isEmpty) {
@ -50,7 +52,8 @@ const double windowWidth = 1024;
const double windowHeight = 800;
void setupWindow() {
if (!kIsWeb && (Platform.isWindows || Platform.isLinux || Platform.isMacOS)) {
if (!kIsWeb &&
(Platform.isWindows || Platform.isLinux || Platform.isMacOS)) {
WidgetsFlutterBinding.ensureInitialized();
setWindowMinSize(const Size(windowWidth, windowHeight));
}
@ -85,8 +88,9 @@ class UnsplashHomePage extends StatelessWidget {
onSelected: () {
showDialog<void>(
context: context,
builder: (context) =>
PhotoSearchDialog(callback: photoSearchModel.addSearch),
builder: (context) => PhotoSearchDialog(
callback: photoSearchModel.addSearch,
),
);
},
),

@ -45,5 +45,6 @@ class PhotoSearchModel extends ChangeNotifier {
notifyListeners();
}
Future<Uint8List> download({required Photo photo}) => _client.download(photo);
Future<Uint8List> download({required Photo photo}) =>
_client.download(photo);
}

@ -33,7 +33,9 @@ class _$SearchSerializer implements StructuredSerializer<Search> {
'results',
serializers.serialize(
object.results,
specifiedType: const FullType(BuiltList, const [const FullType(Photo)]),
specifiedType: const FullType(BuiltList, const [
const FullType(Photo),
]),
),
];
@ -104,7 +106,9 @@ class _$Search extends Search {
@override
bool operator ==(Object other) {
if (identical(other, this)) return true;
return other is Search && query == other.query && results == other.results;
return other is Search &&
query == other.query &&
results == other.results;
}
@override

@ -21,7 +21,9 @@ abstract class ApiError implements Built<ApiError, ApiErrorBuilder> {
BuiltList<String>? get errors;
String toJson() {
return json.encode(serializers.serializeWith(ApiError.serializer, this));
return json.encode(
serializers.serializeWith(ApiError.serializer, this),
);
}
static ApiError? fromJson(String jsonString) {

@ -12,7 +12,8 @@ import '../serializers.dart';
part 'current_user_collections.g.dart';
abstract class CurrentUserCollections
implements Built<CurrentUserCollections, CurrentUserCollectionsBuilder> {
implements
Built<CurrentUserCollections, CurrentUserCollectionsBuilder> {
factory CurrentUserCollections([
void Function(CurrentUserCollectionsBuilder)? updates,
]) = _$CurrentUserCollections;

@ -39,7 +39,10 @@ class _$CurrentUserCollectionsSerializer
result
..add('title')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.publishedAt;
@ -47,7 +50,10 @@ class _$CurrentUserCollectionsSerializer
result
..add('published_at')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.updatedAt;
@ -55,7 +61,10 @@ class _$CurrentUserCollectionsSerializer
result
..add('updated_at')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
return result;
@ -134,7 +143,11 @@ class _$CurrentUserCollections extends CurrentUserCollections {
this.publishedAt,
this.updatedAt,
}) : super._() {
BuiltValueNullFieldError.checkNotNull(id, r'CurrentUserCollections', 'id');
BuiltValueNullFieldError.checkNotNull(
id,
r'CurrentUserCollections',
'id',
);
}
@override
@ -179,7 +192,8 @@ class _$CurrentUserCollections extends CurrentUserCollections {
}
class CurrentUserCollectionsBuilder
implements Builder<CurrentUserCollections, CurrentUserCollectionsBuilder> {
implements
Builder<CurrentUserCollections, CurrentUserCollectionsBuilder> {
_$CurrentUserCollections? _$v;
int? _id;
@ -192,7 +206,8 @@ class CurrentUserCollectionsBuilder
String? _publishedAt;
String? get publishedAt => _$this._publishedAt;
set publishedAt(String? publishedAt) => _$this._publishedAt = publishedAt;
set publishedAt(String? publishedAt) =>
_$this._publishedAt = publishedAt;
String? _updatedAt;
String? get updatedAt => _$this._updatedAt;

@ -31,7 +31,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('make')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.model;
@ -39,7 +42,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('model')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.exposureTime;
@ -47,7 +53,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('exposure_time')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.aperture;
@ -55,7 +64,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('aperture')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.focalLength;
@ -63,14 +75,19 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
result
..add('focal_length')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.iso;
if (value != null) {
result
..add('iso')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
return result;
}
@ -131,7 +148,10 @@ class _$ExifSerializer implements StructuredSerializer<Exif> {
break;
case 'iso':
result.iso =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
}
@ -225,7 +245,8 @@ class ExifBuilder implements Builder<Exif, ExifBuilder> {
String? _exposureTime;
String? get exposureTime => _$this._exposureTime;
set exposureTime(String? exposureTime) => _$this._exposureTime = exposureTime;
set exposureTime(String? exposureTime) =>
_$this._exposureTime = exposureTime;
String? _aperture;
String? get aperture => _$this._aperture;
@ -233,7 +254,8 @@ class ExifBuilder implements Builder<Exif, ExifBuilder> {
String? _focalLength;
String? get focalLength => _$this._focalLength;
set focalLength(String? focalLength) => _$this._focalLength = focalLength;
set focalLength(String? focalLength) =>
_$this._focalLength = focalLength;
int? _iso;
int? get iso => _$this._iso;

@ -31,7 +31,10 @@ class _$LinksSerializer implements StructuredSerializer<Links> {
result
..add('self')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.html;
@ -39,7 +42,10 @@ class _$LinksSerializer implements StructuredSerializer<Links> {
result
..add('html')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.download;
@ -47,7 +53,10 @@ class _$LinksSerializer implements StructuredSerializer<Links> {
result
..add('download')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.downloadLocation;
@ -55,7 +64,10 @@ class _$LinksSerializer implements StructuredSerializer<Links> {
result
..add('download_location')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
return result;

@ -27,7 +27,9 @@ abstract class Location implements Built<Location, LocationBuilder> {
Position? get position;
String toJson() {
return json.encode(serializers.serializeWith(Location.serializer, this));
return json.encode(
serializers.serializeWith(Location.serializer, this),
);
}
static Location? fromJson(String jsonString) {

@ -31,7 +31,10 @@ class _$LocationSerializer implements StructuredSerializer<Location> {
result
..add('city')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.country;
@ -39,7 +42,10 @@ class _$LocationSerializer implements StructuredSerializer<Location> {
result
..add('country')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.position;
@ -47,7 +53,10 @@ class _$LocationSerializer implements StructuredSerializer<Location> {
result
..add('position')
..add(
serializers.serialize(value, specifiedType: const FullType(Position)),
serializers.serialize(
value,
specifiedType: const FullType(Position),
),
);
}
return result;
@ -160,7 +169,8 @@ class LocationBuilder implements Builder<Location, LocationBuilder> {
set country(String? country) => _$this._country = country;
PositionBuilder? _position;
PositionBuilder get position => _$this._position ??= new PositionBuilder();
PositionBuilder get position =>
_$this._position ??= new PositionBuilder();
set position(PositionBuilder? position) => _$this._position = position;
LocationBuilder();

@ -26,7 +26,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
}) {
final result = <Object?>[
'id',
serializers.serialize(object.id, specifiedType: const FullType(String)),
serializers.serialize(
object.id,
specifiedType: const FullType(String),
),
];
Object? value;
value = object.createdAt;
@ -34,7 +37,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('created_at')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.updatedAt;
@ -42,47 +48,64 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('updated_at')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.width;
if (value != null) {
result
..add('width')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.height;
if (value != null) {
result
..add('height')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.color;
if (value != null) {
result
..add('color')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.downloads;
if (value != null) {
result
..add('downloads')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.likes;
if (value != null) {
result
..add('likes')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.likedByUser;
if (value != null) {
result
..add('liked_by_user')
..add(
serializers.serialize(value, specifiedType: const FullType(bool)),
serializers.serialize(
value,
specifiedType: const FullType(bool),
),
);
}
value = object.description;
@ -90,7 +113,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('description')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.exif;
@ -98,7 +124,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('exif')
..add(
serializers.serialize(value, specifiedType: const FullType(Exif)),
serializers.serialize(
value,
specifiedType: const FullType(Exif),
),
);
}
value = object.location;
@ -106,7 +135,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('location')
..add(
serializers.serialize(value, specifiedType: const FullType(Location)),
serializers.serialize(
value,
specifiedType: const FullType(Location),
),
);
}
value = object.tags;
@ -140,7 +172,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('urls')
..add(
serializers.serialize(value, specifiedType: const FullType(Urls)),
serializers.serialize(
value,
specifiedType: const FullType(Urls),
),
);
}
value = object.links;
@ -148,7 +183,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('links')
..add(
serializers.serialize(value, specifiedType: const FullType(Links)),
serializers.serialize(
value,
specifiedType: const FullType(Links),
),
);
}
value = object.user;
@ -156,7 +194,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
result
..add('user')
..add(
serializers.serialize(value, specifiedType: const FullType(User)),
serializers.serialize(
value,
specifiedType: const FullType(User),
),
);
}
return result;
@ -202,12 +243,18 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'width':
result.width =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'height':
result.height =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'color':
@ -220,12 +267,18 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'downloads':
result.downloads =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'likes':
result.likes =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'liked_by_user':
@ -246,7 +299,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'exif':
result.exif.replace(
serializers.deserialize(value, specifiedType: const FullType(Exif))!
serializers.deserialize(
value,
specifiedType: const FullType(Exif),
)!
as Exif,
);
break;
@ -283,7 +339,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'urls':
result.urls.replace(
serializers.deserialize(value, specifiedType: const FullType(Urls))!
serializers.deserialize(
value,
specifiedType: const FullType(Urls),
)!
as Urls,
);
break;
@ -298,7 +357,10 @@ class _$PhotoSerializer implements StructuredSerializer<Photo> {
break;
case 'user':
result.user.replace(
serializers.deserialize(value, specifiedType: const FullType(User))!
serializers.deserialize(
value,
specifiedType: const FullType(User),
)!
as User,
);
break;
@ -489,14 +551,16 @@ class PhotoBuilder implements Builder<Photo, PhotoBuilder> {
String? _description;
String? get description => _$this._description;
set description(String? description) => _$this._description = description;
set description(String? description) =>
_$this._description = description;
ExifBuilder? _exif;
ExifBuilder get exif => _$this._exif ??= new ExifBuilder();
set exif(ExifBuilder? exif) => _$this._exif = exif;
LocationBuilder? _location;
LocationBuilder get location => _$this._location ??= new LocationBuilder();
LocationBuilder get location =>
_$this._location ??= new LocationBuilder();
set location(LocationBuilder? location) => _$this._location = location;
ListBuilder<Tags>? _tags;

@ -23,7 +23,9 @@ abstract class Position implements Built<Position, PositionBuilder> {
double get longitude;
String toJson() {
return json.encode(serializers.serializeWith(Position.serializer, this));
return json.encode(
serializers.serializeWith(Position.serializer, this),
);
}
static Position? fromJson(String jsonString) {

@ -86,9 +86,18 @@ class _$Position extends Position {
factory _$Position([void Function(PositionBuilder)? updates]) =>
(new PositionBuilder()..update(updates))._build();
_$Position._({required this.latitude, required this.longitude}) : super._() {
BuiltValueNullFieldError.checkNotNull(latitude, r'Position', 'latitude');
BuiltValueNullFieldError.checkNotNull(longitude, r'Position', 'longitude');
_$Position._({required this.latitude, required this.longitude})
: super._() {
BuiltValueNullFieldError.checkNotNull(
latitude,
r'Position',
'latitude',
);
BuiltValueNullFieldError.checkNotNull(
longitude,
r'Position',
'longitude',
);
}
@override

@ -33,7 +33,9 @@ class _$SearchPhotosResponseSerializer
'results',
serializers.serialize(
object.results,
specifiedType: const FullType(BuiltList, const [const FullType(Photo)]),
specifiedType: const FullType(BuiltList, const [
const FullType(Photo),
]),
),
];
Object? value;
@ -41,13 +43,17 @@ class _$SearchPhotosResponseSerializer
if (value != null) {
result
..add('total')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
value = object.totalPages;
if (value != null) {
result
..add('total_pages')
..add(serializers.serialize(value, specifiedType: const FullType(int)));
..add(
serializers.serialize(value, specifiedType: const FullType(int)),
);
}
return result;
}
@ -68,12 +74,18 @@ class _$SearchPhotosResponseSerializer
switch (key) {
case 'total':
result.total =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'total_pages':
result.totalPages =
serializers.deserialize(value, specifiedType: const FullType(int))
serializers.deserialize(
value,
specifiedType: const FullType(int),
)
as int?;
break;
case 'results':
@ -106,8 +118,11 @@ class _$SearchPhotosResponse extends SearchPhotosResponse {
void Function(SearchPhotosResponseBuilder)? updates,
]) => (new SearchPhotosResponseBuilder()..update(updates))._build();
_$SearchPhotosResponse._({this.total, this.totalPages, required this.results})
: super._() {
_$SearchPhotosResponse._({
this.total,
this.totalPages,
required this.results,
}) : super._() {
BuiltValueNullFieldError.checkNotNull(
results,
r'SearchPhotosResponse',

@ -140,7 +140,11 @@ class TagsBuilder implements Builder<Tags, TagsBuilder> {
final _$result =
_$v ??
new _$Tags._(
title: BuiltValueNullFieldError.checkNotNull(title, r'Tags', 'title'),
title: BuiltValueNullFieldError.checkNotNull(
title,
r'Tags',
'title',
),
);
replace(_$result);
return _$result;

@ -31,7 +31,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('raw')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.full;
@ -39,7 +42,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('full')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.regular;
@ -47,7 +53,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('regular')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.small;
@ -55,7 +64,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('small')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
value = object.thumb;
@ -63,7 +75,10 @@ class _$UrlsSerializer implements StructuredSerializer<Urls> {
result
..add('thumb')
..add(
serializers.serialize(value, specifiedType: const FullType(String)),
serializers.serialize(
value,
specifiedType: const FullType(String),
),
);
}
return result;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save