@@ -67,10 +67,10 @@ fun Track(
6767            val  widthDifference =  referenceWidthForSmallOffset -  strokeWidth.value
6868
6969            val  proportionalOffsetChange =  widthDifference * 
70-                 (
71-                     (referenceOffsetForLargeWidth -  referenceOffsetForSmallWidth) / 
72-                         (referenceWidthForLargeOffset -  referenceWidthForSmallOffset)
73-                     )
70+                      (
71+                              (referenceOffsetForLargeWidth -  referenceOffsetForSmallWidth) / 
72+                                      (referenceWidthForLargeOffset -  referenceWidthForSmallOffset)
73+                              )
7474
7575            return @derivedStateOf referenceOffsetForSmallWidth +  proportionalOffsetChange
7676        }
@@ -81,23 +81,29 @@ fun Track(
8181            .progressSemantics(progress)
8282            .aspectRatio(1f ),
8383    ) {
84-         val  startAngle  =  270f 
85-         val  sweep  =  progress *  360f 
84+         val  progressStartAngle  =  270f 
85+         val  progressSweep  =  progress *  360f 
8686        val  diameterOffset =  stroke.width /  2 
8787        val  arcDimen =  size.width -  2  *  diameterOffset
88-         drawArc(
89-             color =  backgroundColor,
90-             startAngle =  sweep +  startAngle +  (trackOffset),
91-             sweepAngle =  360f  -  sweep -  (trackOffset *  2 ),
92-             useCenter =  false ,
93-             topLeft =  Offset (diameterOffset, diameterOffset),
94-             size =  Size (arcDimen, arcDimen),
95-             style =  stroke,
96-         )
88+ 
89+         val  backgroundStart =  progressStartAngle +  progressSweep +  trackOffset
90+         val  backgroundSweep =  360f  -  progressSweep -  trackOffset -  trackOffset
91+ 
92+         if  (backgroundSweep >  0 ) {
93+             drawArc(
94+                 color =  backgroundColor,
95+                 startAngle =  backgroundStart,
96+                 sweepAngle =  backgroundSweep,
97+                 useCenter =  false ,
98+                 topLeft =  Offset (diameterOffset, diameterOffset),
99+                 size =  Size (arcDimen, arcDimen),
100+                 style =  stroke,
101+             )
102+         }
97103        drawArc(
98104            color =  color,
99-             startAngle =  startAngle ,
100-             sweepAngle =  sweep ,
105+             startAngle =  progressStartAngle ,
106+             sweepAngle =  progressSweep ,
101107            useCenter =  false ,
102108            topLeft =  Offset (diameterOffset, diameterOffset),
103109            size =  Size (arcDimen, arcDimen),
@@ -248,12 +254,12 @@ fun Timer(
248254@Preview
249255@Composable
250256fun  TimerPreview () {
251-     val  animatedProgressValue =  remember { Animatable (0.5f  ) }
257+     val  animatedProgressValue =  remember { Animatable (0.98f  ) }
252258    Timer (
253259        currentStep =  Step (
254260            id =  1 ,
255261            name =  " ExperimentalAnimatedInsets ExperimentalAnimatedInsets "   + 
256-                 " ExperimentalAnimatedInsets ExperimentalAnimatedInsets"  ,
262+                      " ExperimentalAnimatedInsets ExperimentalAnimatedInsets"  ,
257263            time =  5  *  1000 ,
258264            type =  StepType .OTHER ,
259265            orderInRecipe =  0 ,
0 commit comments