refactor(mobile): Use switch expression when possible (#15852)

refactor: Use `switch` expression when possible

Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
Damiano Ferrari
2025-02-02 22:46:46 +01:00
committed by GitHub
parent 4efacfbb91
commit 96a6cc20b7
17 changed files with 219 additions and 374 deletions
+9 -15
View File
@@ -590,21 +590,15 @@ class _PhotoViewState extends State<PhotoView>
}
/// The default [ScaleStateCycle]
PhotoViewScaleState defaultScaleStateCycle(PhotoViewScaleState actual) {
switch (actual) {
case PhotoViewScaleState.initial:
return PhotoViewScaleState.covering;
case PhotoViewScaleState.covering:
return PhotoViewScaleState.originalSize;
case PhotoViewScaleState.originalSize:
return PhotoViewScaleState.initial;
case PhotoViewScaleState.zoomedIn:
case PhotoViewScaleState.zoomedOut:
return PhotoViewScaleState.initial;
default:
return PhotoViewScaleState.initial;
}
}
PhotoViewScaleState defaultScaleStateCycle(PhotoViewScaleState actual) =>
switch (actual) {
PhotoViewScaleState.initial => PhotoViewScaleState.covering,
PhotoViewScaleState.covering => PhotoViewScaleState.originalSize,
PhotoViewScaleState.originalSize => PhotoViewScaleState.initial,
PhotoViewScaleState.zoomedIn ||
PhotoViewScaleState.zoomedOut =>
PhotoViewScaleState.initial,
};
/// A type definition for a [Function] that receives the actual [PhotoViewScaleState] and returns the next one
/// It is used internally to walk in the "doubletap gesture cycle".
@@ -9,25 +9,20 @@ double getScaleForScaleState(
PhotoViewScaleState scaleState,
ScaleBoundaries scaleBoundaries,
) {
switch (scaleState) {
case PhotoViewScaleState.initial:
case PhotoViewScaleState.zoomedIn:
case PhotoViewScaleState.zoomedOut:
return _clampSize(scaleBoundaries.initialScale, scaleBoundaries);
case PhotoViewScaleState.covering:
return _clampSize(
return switch (scaleState) {
PhotoViewScaleState.initial ||
PhotoViewScaleState.zoomedIn ||
PhotoViewScaleState.zoomedOut =>
_clampSize(scaleBoundaries.initialScale, scaleBoundaries),
PhotoViewScaleState.covering => _clampSize(
_scaleForCovering(
scaleBoundaries.outerSize,
scaleBoundaries.childSize,
),
scaleBoundaries,
);
case PhotoViewScaleState.originalSize:
return _clampSize(1.0, scaleBoundaries);
// Will never be reached
default:
return 0;
}
),
PhotoViewScaleState.originalSize => _clampSize(1.0, scaleBoundaries),
};
}
/// Internal class to wraps custom scale boundaries (min, max and initial)