Skip to content

Commit 7eb3df4

Browse files
authored
Default to use V2 Slider (flutter#55599)
* Instead of changing test I just flipped flag so the test uses the proper slider * Use Depracated annotation * Updated depracation notice * Updated depracation notice again * Ignore analyze issues * flutter analyze . * ignore analyzer * // ignore: deprecated_member_use * Ignoring notice * indentation
1 parent 7ab8767 commit 7eb3df4

File tree

9 files changed

+108
-8
lines changed

9 files changed

+108
-8
lines changed

dev/integration_tests/flutter_gallery/lib/demo/material/expansion_panels_demo.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@ class _ExpansionPanelsDemoState extends State<ExpansionPanelsDemo> {
305305
// Allow room for the value indicator.
306306
padding: const EdgeInsets.only(top: 44.0),
307307
child: Slider(
308+
// ignore: deprecated_member_use
308309
useV2Slider: true,
309310
min: 0.0,
310311
max: 100.0,

dev/integration_tests/flutter_gallery/lib/demo/material/slider_demo.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ class _SlidersState extends State<_Sliders> {
274274
),
275275
),
276276
Slider.adaptive(
277+
// ignore: deprecated_member_use
277278
useV2Slider: true,
278279
label: _continuousValue.toStringAsFixed(6).toString(),
279280
value: _continuousValue,
@@ -291,6 +292,7 @@ class _SlidersState extends State<_Sliders> {
291292
Column(
292293
mainAxisSize: MainAxisSize.min,
293294
children: const <Widget>[
295+
// ignore: deprecated_member_use
294296
Slider.adaptive(useV2Slider: true, value: 0.25, onChanged: null),
295297
Text('Disabled'),
296298
],
@@ -299,6 +301,7 @@ class _SlidersState extends State<_Sliders> {
299301
mainAxisSize: MainAxisSize.min,
300302
children: <Widget>[
301303
Slider.adaptive(
304+
// ignore: deprecated_member_use
302305
useV2Slider: true,
303306
value: _discreteValue,
304307
min: 0.0,
@@ -331,6 +334,7 @@ class _SlidersState extends State<_Sliders> {
331334
valueIndicatorTextStyle: theme.accentTextTheme.bodyText1.copyWith(color: theme.colorScheme.onSurface),
332335
),
333336
child: Slider(
337+
// ignore: deprecated_member_use
334338
useV2Slider: true,
335339
value: _discreteCustomValue,
336340
min: 0.0,
@@ -375,6 +379,7 @@ class _RangeSlidersState extends State<_RangeSliders> {
375379
mainAxisSize: MainAxisSize.min,
376380
children: <Widget>[
377381
RangeSlider(
382+
// ignore: deprecated_member_use
378383
useV2Slider: true,
379384
values: _continuousValues,
380385
min: 0.0,
@@ -391,6 +396,7 @@ class _RangeSlidersState extends State<_RangeSliders> {
391396
Column(
392397
mainAxisSize: MainAxisSize.min,
393398
children: <Widget>[
399+
// ignore: deprecated_member_use
394400
RangeSlider(useV2Slider: true, values: const RangeValues(0.25, 0.75), onChanged: null),
395401
const Text('Disabled'),
396402
],
@@ -399,6 +405,7 @@ class _RangeSlidersState extends State<_RangeSliders> {
399405
mainAxisSize: MainAxisSize.min,
400406
children: <Widget>[
401407
RangeSlider(
408+
// ignore: deprecated_member_use
402409
useV2Slider: true,
403410
values: _discreteValues,
404411
min: 0.0,
@@ -429,6 +436,7 @@ class _RangeSlidersState extends State<_RangeSliders> {
429436
showValueIndicator: ShowValueIndicator.never,
430437
),
431438
child: RangeSlider(
439+
// ignore: deprecated_member_use
432440
useV2Slider: true,
433441
values: _discreteCustomValues,
434442
min: 0.0,

packages/flutter/lib/src/material/range_slider.dart

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,12 @@ class RangeSlider extends StatefulWidget {
132132
this.activeColor,
133133
this.inactiveColor,
134134
this.semanticFormatterCallback,
135-
this.useV2Slider = false,
135+
@Deprecated(
136+
'This flag has changed to true by default and no longer needed. '
137+
'This feature was deprecated after v1.18.0.'
138+
)
139+
// ignore: deprecated_member_use_from_same_package
140+
this.useV2Slider = true,
136141
}) : assert(values != null),
137142
assert(min != null),
138143
assert(max != null),
@@ -141,6 +146,7 @@ class RangeSlider extends StatefulWidget {
141146
assert(values.start >= min && values.start <= max),
142147
assert(values.end >= min && values.end <= max),
143148
assert(divisions == null || divisions > 0),
149+
// ignore: deprecated_member_use_from_same_package
144150
assert(useV2Slider != null),
145151
super(key: key);
146152

@@ -351,6 +357,10 @@ class RangeSlider extends StatefulWidget {
351357
/// This is a temporary flag for migrating the slider from v1 to v2. Currently
352358
/// this defaults to false, because the changes may break existing tests. This
353359
/// value will be defaulted to true in the future.
360+
@Deprecated(
361+
'This flag has changed to true by default and no longer needed. '
362+
'This feature was deprecated after v1.18.0.'
363+
)
354364
final bool useV2Slider;
355365

356366
// Touch width for the tap boundary of the slider thumbs.
@@ -374,6 +384,7 @@ class RangeSlider extends StatefulWidget {
374384
properties.add(StringProperty('labelEnd', labels?.end));
375385
properties.add(ColorProperty('activeColor', activeColor));
376386
properties.add(ColorProperty('inactiveColor', inactiveColor));
387+
// ignore: deprecated_member_use_from_same_package
377388
properties.add(FlagProperty('useV2Slider', value: useV2Slider, ifFalse: 'useV1Slider'));
378389
properties.add(ObjectFlagProperty<ValueChanged<RangeValues>>.has('semanticFormatterCallback', semanticFormatterCallback));
379390
}
@@ -562,6 +573,7 @@ class _RangeSliderState extends State<RangeSlider> with TickerProviderStateMixin
562573
// the default shapes and text styles are aligned to the Material
563574
// Guidelines.
564575

576+
// ignore: deprecated_member_use_from_same_package
565577
final bool useV2Slider = widget.useV2Slider;
566578
final double _defaultTrackHeight = useV2Slider ? 4 : 2;
567579
final RangeSliderTrackShape _defaultTrackShape = RoundedRectRangeSliderTrackShape(useV2Slider: useV2Slider);
@@ -631,6 +643,7 @@ class _RangeSliderState extends State<RangeSlider> with TickerProviderStateMixin
631643
onChangeEnd: widget.onChangeEnd != null ? _handleDragEnd : null,
632644
state: this,
633645
semanticFormatterCallback: widget.semanticFormatterCallback,
646+
// ignore: deprecated_member_use_from_same_package
634647
useV2Slider: widget.useV2Slider,
635648
),
636649
);

packages/flutter/lib/src/material/slider.dart

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,14 +133,20 @@ class Slider extends StatefulWidget {
133133
this.semanticFormatterCallback,
134134
this.focusNode,
135135
this.autofocus = false,
136-
this.useV2Slider = false,
136+
@Deprecated(
137+
'This flag has changed to true by default and no longer needed. '
138+
'This feature was deprecated after v1.18.0.'
139+
)
140+
// ignore: deprecated_member_use_from_same_package
141+
this.useV2Slider = true,
137142
}) : _sliderType = _SliderType.material,
138143
assert(value != null),
139144
assert(min != null),
140145
assert(max != null),
141146
assert(min <= max),
142147
assert(value >= min && value <= max),
143148
assert(divisions == null || divisions > 0),
149+
// ignore: deprecated_member_use_from_same_package
144150
assert(useV2Slider != null),
145151
super(key: key);
146152

@@ -166,14 +172,20 @@ class Slider extends StatefulWidget {
166172
this.semanticFormatterCallback,
167173
this.focusNode,
168174
this.autofocus = false,
169-
this.useV2Slider = false,
175+
@Deprecated(
176+
'This flag has changed to true by default and no longer needed. '
177+
'This feature was deprecated after v1.18.0.'
178+
)
179+
// ignore: deprecated_member_use_from_same_package
180+
this.useV2Slider = true,
170181
}) : _sliderType = _SliderType.adaptive,
171182
assert(value != null),
172183
assert(min != null),
173184
assert(max != null),
174185
assert(min <= max),
175186
assert(value >= min && value <= max),
176187
assert(divisions == null || divisions > 0),
188+
// ignore: deprecated_member_use_from_same_package
177189
assert(useV2Slider != null),
178190
super(key: key);
179191

packages/flutter/lib/src/material/slider_theme.dart

Lines changed: 47 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1673,9 +1673,13 @@ class RectangularSliderTrackShape extends SliderTrackShape with BaseSliderTrackS
16731673
/// * [RectangularSliderTrackShape], for a similar track with sharp edges.
16741674
class RoundedRectSliderTrackShape extends SliderTrackShape with BaseSliderTrackShape {
16751675
/// Create a slider track that draws two rectangles with rounded outer edges.
1676-
const RoundedRectSliderTrackShape({ this.useV2Slider = false });
1676+
const RoundedRectSliderTrackShape({ this.useV2Slider = true });
16771677

16781678
/// {@macro flutter.material.slider.useV2Slider}
1679+
@Deprecated(
1680+
'This flag has changed to true by default and no longer needed. '
1681+
'This feature was deprecated after v1.18.0.'
1682+
)
16791683
final bool useV2Slider;
16801684

16811685
@override
@@ -1739,6 +1743,7 @@ class RoundedRectSliderTrackShape extends SliderTrackShape with BaseSliderTrackS
17391743
final Radius trackRadius = Radius.circular(trackRect.height / 2);
17401744
final Radius activeTrackRadius = Radius.circular(trackRect.height / 2 + 1);
17411745

1746+
// ignore: deprecated_member_use_from_same_package
17421747
if (useV2Slider) {
17431748
context.canvas.drawRRect(
17441749
RRect.fromLTRBAndCorners(
@@ -1813,6 +1818,10 @@ class RectangularRangeSliderTrackShape extends RangeSliderTrackShape {
18131818
const RectangularRangeSliderTrackShape({this.useV2Slider});
18141819

18151820
/// {@macro flutter.material.slider.useV2Slider}
1821+
@Deprecated(
1822+
'This flag has changed to true by default and no longer needed. '
1823+
'This feature was deprecated after v1.18.0.'
1824+
)
18161825
final bool useV2Slider;
18171826

18181827
@override
@@ -1942,6 +1951,10 @@ class RoundedRectRangeSliderTrackShape extends RangeSliderTrackShape {
19421951
const RoundedRectRangeSliderTrackShape({ this.useV2Slider });
19431952

19441953
/// {@macro flutter.material.slider.useV2Slider}
1954+
@Deprecated(
1955+
'This flag has changed to true by default and no longer needed. '
1956+
'This feature was deprecated after v1.18.0.'
1957+
)
19451958
final bool useV2Slider;
19461959

19471960
@override
@@ -2043,6 +2056,7 @@ class RoundedRectRangeSliderTrackShape extends RangeSliderTrackShape {
20432056
isDiscrete: isDiscrete,
20442057
);
20452058

2059+
// ignore: deprecated_member_use_from_same_package
20462060
if (useV2Slider) {
20472061
final Radius trackRadius = Radius.circular(trackRect.height / 2);
20482062

@@ -2123,17 +2137,23 @@ class RoundSliderTickMarkShape extends SliderTickMarkShape {
21232137
/// Create a slider tick mark that draws a circle.
21242138
const RoundSliderTickMarkShape({
21252139
this.tickMarkRadius,
2126-
this.useV2Slider = false,
2140+
this.useV2Slider = true,
21272141
});
21282142

21292143
/// The preferred radius of the round tick mark.
21302144
///
2145+
// ignore: deprecated_member_use_from_same_package
21312146
/// If it is not provided, and [useV2Slider] is true, then 1/4 of the
21322147
/// [SliderThemeData.trackHeight] is used. If it is not provided, and
2148+
// ignore: deprecated_member_use_from_same_package
21332149
/// [useV2Slider] is false, then half of the track height is used.
21342150
final double tickMarkRadius;
21352151

21362152
/// {@macro flutter.material.slider.useV2Slider}
2153+
@Deprecated(
2154+
'This flag has changed to true by default and no longer needed. '
2155+
'This feature was deprecated after v1.18.0.'
2156+
)
21372157
final bool useV2Slider;
21382158

21392159
@override
@@ -2148,6 +2168,7 @@ class RoundSliderTickMarkShape extends SliderTickMarkShape {
21482168
// radius is defaulted to be a fraction of the
21492169
// [SliderThemeData.trackHeight]. The fraction is 1/4 when [useV2Slider] is
21502170
// true, and 1/2 when it is false.
2171+
// ignore: deprecated_member_use_from_same_package
21512172
return Size.fromRadius(tickMarkRadius ?? sliderTheme.trackHeight / (useV2Slider ? 4 : 2));
21522173
}
21532174

@@ -2225,17 +2246,23 @@ class RoundRangeSliderTickMarkShape extends RangeSliderTickMarkShape {
22252246
/// Create a range slider tick mark that draws a circle.
22262247
const RoundRangeSliderTickMarkShape({
22272248
this.tickMarkRadius,
2228-
this.useV2Slider = false,
2249+
this.useV2Slider = true,
22292250
});
22302251

22312252
/// The preferred radius of the round tick mark.
22322253
///
2254+
// ignore: deprecated_member_use_from_same_package
22332255
/// If it is not provided, and [useV2Slider] is true, then 1/4 of the
22342256
/// [SliderThemeData.trackHeight] is used. If it is not provided, and
2257+
// ignore: deprecated_member_use_from_same_package
22352258
/// [useV2Slider] is false, then half of the track height is used.
22362259
final double tickMarkRadius;
22372260

22382261
/// {@macro flutter.material.slider.useV2Slider}
2262+
@Deprecated(
2263+
'This flag has changed to true by default and no longer needed. '
2264+
'This feature was deprecated after v1.18.0.'
2265+
)
22392266
final bool useV2Slider;
22402267

22412268
@override
@@ -2246,6 +2273,7 @@ class RoundRangeSliderTickMarkShape extends RangeSliderTickMarkShape {
22462273
assert(sliderTheme != null);
22472274
assert(sliderTheme.trackHeight != null);
22482275
assert(isEnabled != null);
2276+
// ignore: deprecated_member_use_from_same_package
22492277
return Size.fromRadius(tickMarkRadius ?? sliderTheme.trackHeight / (useV2Slider ? 4 : 2));
22502278
}
22512279

@@ -2364,6 +2392,7 @@ class _EmptySliderComponentShape extends SliderComponentShape {
23642392

23652393
/// The default shape of a [Slider]'s thumb.
23662394
///
2395+
// ignore: deprecated_member_use_from_same_package
23672396
/// If [useV2Slider] is true, then there is a shadow for the resting and
23682397
/// pressed state.
23692398
///
@@ -2379,7 +2408,7 @@ class RoundSliderThumbShape extends SliderComponentShape {
23792408
this.disabledThumbRadius,
23802409
this.elevation = 1.0,
23812410
this.pressedElevation = 6.0,
2382-
this.useV2Slider = false,
2411+
this.useV2Slider = true,
23832412
});
23842413

23852414
/// The preferred radius of the round thumb shape when the slider is enabled.
@@ -2396,6 +2425,7 @@ class RoundSliderThumbShape extends SliderComponentShape {
23962425

23972426
/// The resting elevation adds shadow to the unpressed thumb.
23982427
///
2428+
// ignore: deprecated_member_use_from_same_package
23992429
/// This value is only used when [useV2Slider] is true.
24002430
///
24012431
/// The default is 1.
@@ -2407,6 +2437,7 @@ class RoundSliderThumbShape extends SliderComponentShape {
24072437

24082438
/// The pressed elevation adds shadow to the pressed thumb.
24092439
///
2440+
// ignore: deprecated_member_use_from_same_package
24102441
/// This value is only used when [useV2Slider] is true.
24112442
///
24122443
/// The default is 6.
@@ -2416,6 +2447,10 @@ class RoundSliderThumbShape extends SliderComponentShape {
24162447
final double pressedElevation;
24172448

24182449
/// {@macro flutter.material.slider.useV2Slider}
2450+
@Deprecated(
2451+
'This flag has changed to true by default and no longer needed. '
2452+
'This feature was deprecated after v1.18.0.'
2453+
)
24192454
final bool useV2Slider;
24202455

24212456
@override
@@ -2459,6 +2494,7 @@ class RoundSliderThumbShape extends SliderComponentShape {
24592494
final Color color = colorTween.evaluate(enableAnimation);
24602495
final double radius = radiusTween.evaluate(enableAnimation);
24612496

2497+
// ignore: deprecated_member_use_from_same_package
24622498
if (useV2Slider) {
24632499
final Tween<double> elevationTween = Tween<double>(
24642500
begin: elevation,
@@ -2481,6 +2517,7 @@ class RoundSliderThumbShape extends SliderComponentShape {
24812517

24822518
/// The default shape of a [RangeSlider]'s thumbs.
24832519
///
2520+
// ignore: deprecated_member_use_from_same_package
24842521
/// If [useV2Slider] is true, then there is a shadow for the resting and
24852522
/// pressed state.
24862523
///
@@ -2496,10 +2533,14 @@ class RoundRangeSliderThumbShape extends RangeSliderThumbShape {
24962533
this.disabledThumbRadius,
24972534
this.elevation = 1.0,
24982535
this.pressedElevation = 6.0,
2499-
this.useV2Slider = false,
2536+
this.useV2Slider = true,
25002537
}) : assert(enabledThumbRadius != null);
25012538

25022539
/// {@macro flutter.material.slider.useV2Slider}
2540+
@Deprecated(
2541+
'This flag has changed to true by default and no longer needed. '
2542+
'This feature was deprecated after v1.18.0.'
2543+
)
25032544
final bool useV2Slider;
25042545

25052546
/// The preferred radius of the round thumb shape when the slider is enabled.
@@ -2595,6 +2636,7 @@ class RoundRangeSliderThumbShape extends RangeSliderThumbShape {
25952636

25962637
final Color color = colorTween.evaluate(enableAnimation);
25972638

2639+
// ignore: deprecated_member_use_from_same_package
25982640
if (useV2Slider) {
25992641
final double evaluatedElevation = isPressed ? elevationTween.evaluate(activationAnimation) : elevation;
26002642
final Path shadowPath = Path()

packages/flutter/test/material/inherited_theme_test.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -461,6 +461,8 @@ void main() {
461461
final Widget slider = Scaffold(
462462
body: Center(
463463
child: Slider(
464+
// ignore: deprecated_member_use_from_same_package
465+
useV2Slider: false,
464466
value: 0.5,
465467
onChanged: (double value) { },
466468
),

0 commit comments

Comments
 (0)