package Ġcom . ale xj lock wood . be es and bom bs . demos Ċ Ċ import Ġandroidx . compose . animation . core . Anim atable Ċ import Ġandroidx . compose . animation . core . Linear E asing Ċ import Ġandroidx . compose . animation . core . infinite Repeat able Ċ import Ġandroidx . compose . animation . core . t ween Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . foundation . is System In Dark Theme Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . La unched Effect Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . compose . ui . graphics . Solid Color Ċ import Ġandroidx . compose . ui . graphics . vector . Group Ċ import Ġandroidx . compose . ui . graphics . vector . Path Ċ import Ġandroidx . compose . ui . graphics . vector . add Path Nodes Ċ import Ġandroidx . compose . ui . graphics . vector . remember Vector Painter Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . ale xj lock wood . be es and bom bs . demos . utils . Path E asing Ċ import Ġcom . ale xj lock wood . be es and bom bs . demos . utils . Path Keyframe Set Ċ Ċ @ Composable Ċ fun ĠLinear Progress Indicator ( modifier : ĠModifier Ġ= ĠModifier ) Ġ{ ĊĠĠĠ Ġval Ġanimated Progress Ġ= Ġremember Ġ{ ĠAnim atable ( 0 f ) Ġ} ĊĊĠĠĠ ĠLa unched Effect ( Unit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġanimated Progress . animate To ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Value Ġ= Ġ 1 f , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanimation Spec Ġ= Ġinfinite Repeat able ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġanimation Ġ= Ġt ween ( duration Millis Ġ= Ġ 2 0 0 0 , Ġeasing Ġ= ĠLinear E asing ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġscale Keyframe Set 1 Ġ= Ġremember Ġ{ ĠPath Keyframe Set (" M Ġ 0 Ġ 0 . 1 ĠL Ġ 1 Ġ 0 . 5 7 1 ĠL Ġ 2 Ġ 0 . 9 1 ĠL Ġ 3 Ġ 0 . 1 ") Ġ} ĊĠĠĠ Ġval Ġtranslate Keyframe Set 1 Ġ= ĊĠĠĠĠĠĠĠ Ġremember Ġ{ ĠPath Keyframe Set (" M Ġ- 1 9 7 . 6 Ġ 0 ĠC Ġ- 1 8 3 . 3 1 8 Ġ 0 Ġ- 1 1 2 . 5 2 2 Ġ 0 Ġ- 6 2 . 0 5 3 Ġ 0 ĠC Ġ- 7 . 7 9 1 Ġ 0 Ġ 2 8 . 3 7 1 Ġ 0 Ġ 1 0 6 . 1 9 Ġ 0 ĠC Ġ 2 5 0 . 9 1 2 Ġ 0 Ġ 4 2 2 . 6 Ġ 0 Ġ 4 2 2 . 6 Ġ 0 ") Ġ} ĊĠĠĠ Ġval Ġscale Keyframe Set 2 Ġ= Ġremember Ġ{ ĠPath Keyframe Set (" M Ġ 0 Ġ 0 . 1 ĠL Ġ 1 Ġ 0 . 8 2 6 ĠL Ġ 2 Ġ 0 . 1 ") Ġ} ĊĠĠĠ Ġval Ġtranslate Keyframe Set 2 Ġ= Ġremember Ġ{ ĠPath Keyframe Set (" M Ġ- 5 2 2 . 6 Ġ 0 ĠC Ġ- 4 7 3 . 7 Ġ 0 Ġ- 3 5 6 . 5 7 3 Ġ 0 Ġ- 2 2 1 . 3 8 3 Ġ 0 ĠC Ġ- 2 3 . 8 0 1 Ġ 0 Ġ 1 9 9 . 6 Ġ 0 Ġ 1 9 9 . 6 Ġ 0 ") Ġ} ĊĠĠĠ Ġval Ġscale E asing 1 Ġ= ĊĠĠĠĠĠĠĠ Ġremember Ġ{ ĠPath E asing (" M Ġ 0 Ġ 0 ĠC Ġ 0 . 0 6 8 Ġ 0 . 0 2 Ġ 0 . 1 9 2 Ġ 0 . 1 5 9 Ġ 0 . 3 3 3 Ġ 0 . 3 4 9 ĠC Ġ 0 . 3 8 4 Ġ 0 . 4 1 5 Ġ 0 . 5 4 9 Ġ 0 . 6 8 1 Ġ 0 . 6 6 7 Ġ 0 . 6 8 3 ĠC Ġ 0 . 7 5 3 Ġ 0 . 6 8 2 Ġ 0 . 7 3 7 Ġ 0 . 8 7 9 Ġ 1 Ġ 1 ") Ġ} ĊĠĠĠ Ġval Ġtranslate E asing 1 Ġ= ĊĠĠĠĠĠĠĠ Ġremember Ġ{ ĠPath E asing (" M Ġ 0 Ġ 0 ĠC Ġ 0 . 0 3 7 Ġ 0 Ġ 0 . 1 2 9 Ġ 0 . 0 9 Ġ 0 . 2 5 Ġ 0 . 2 1 9 ĠC Ġ 0 . 3 2 2 Ġ 0 . 2 9 6 Ġ 0 . 4 3 7 Ġ 0 . 4 1 8 Ġ 0 . 4 8 3 Ġ 0 . 4 9 ĠC Ġ 0 . 6 9 Ġ 0 . 8 1 Ġ 0 . 7 9 3 Ġ 0 . 9 5 Ġ 1 Ġ 1 ") Ġ} ĊĠĠĠ Ġval Ġscale E asing 2 Ġ= Ġremember Ġ{ ĠPath E asing (" M Ġ 0 Ġ 0 ĠL Ġ 0 . 3 6 6 Ġ 0 ĠC Ġ 0 . 4 7 3 Ġ 0 . 0 6 2 Ġ 0 . 6 1 5 Ġ 0 . 5 Ġ 0 . 6 8 3 Ġ 0 . 5 ĠC Ġ 0 . 7 5 5 Ġ 0 . 5 Ġ 0 . 7 5 7 Ġ 0 . 8 1 5 Ġ 1 Ġ 1 ") Ġ} ĊĠĠĠ Ġval Ġtranslate E asing 2 Ġ= Ġremember Ġ{ ĠPath E asing (" M Ġ 0 Ġ 0 ĠL Ġ 0 . 2 Ġ 0 ĠC Ġ 0 . 3 9 5 Ġ 0 Ġ 0 . 4 7 4 Ġ 0 . 2 0 6 Ġ 0 . 5 9 1 Ġ 0 . 4 1 7 ĠC Ġ 0 . 7 1 5 Ġ 0 . 6 3 9 Ġ 0 . 8 1 6 Ġ 0 . 9 7 4 Ġ 1 Ġ 1 ") Ġ} ĊĊĠĠĠ Ġval Ġt Ġ= Ġanimated Progress . value ĊĠĠĠ Ġval Ġscale 1 Ġ= Ġscale Keyframe Set 1 . get Point Al ong Path ( scale E asing 1 . transform ( t )). y ĊĠĠĠ Ġval Ġtranslate 1 Ġ= Ġtranslate Keyframe Set 1 . get Point Al ong Path ( translate E asing 1 . transform ( t )). x ĊĠĠĠ Ġval Ġscale 2 Ġ= Ġscale Keyframe Set 2 . get Point Al ong Path ( scale E asing 2 . transform (( t ))). y ĊĠĠĠ Ġval Ġtranslate 2 Ġ= Ġtranslate Keyframe Set 2 . get Point Al ong Path ( translate E asing 2 . transform (( t ))). x ĊĊĠĠĠ Ġval Ġdark Color Ġ= Ġif Ġ( is System In Dark Theme ()) ĠColor . White Ġelse ĠColor . Black ĊĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠ Ġpainter Ġ= Ġremember Vector Painter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Width Ġ= Ġ 3 6 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Height Ġ= Ġ 1 0 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewport Width Ġ= Ġ 3 6 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġviewport Height Ġ= Ġ 1 0 f , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGroup ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslation X Ġ= Ġ 1 8 0 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslation Y Ġ= Ġ 5 f , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPath ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Data Ġ= Ġremember Ġ{ Ġadd Path Nodes (" M Ġ- 1 8 0 Ġ- 1 Ġl Ġ 3 6 0 Ġ 0 Ġl Ġ 0 Ġ 2 Ġl Ġ- 3 6 0 Ġ 0 ĠZ ") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfill Ġ= ĠSolid Color ( dark Color ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfill Alpha Ġ= Ġ 0 . 3 f , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGroup ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale X Ġ= Ġscale 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslation X Ġ= Ġtranslate 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPath ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Data Ġ= Ġremember Ġ{ Ġadd Path Nodes (" M Ġ- 1 4 4 Ġ- 1 Ġl Ġ 2 8 8 Ġ 0 Ġl Ġ 0 Ġ 2 Ġl Ġ- 2 8 8 Ġ 0 ĠZ ") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfill Ġ= ĠSolid Color ( dark Color ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGroup ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale X Ġ= Ġscale 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtranslation X Ġ= Ġtranslate 2 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPath ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath Data Ġ= Ġremember Ġ{ Ġadd Path Nodes (" M Ġ- 1 4 4 Ġ- 1 Ġl Ġ 2 8 8 Ġ 0 Ġl Ġ 0 Ġ 2 Ġl Ġ- 2 8 8 Ġ 0 ĠZ ") Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfill Ġ= ĠSolid Color ( dark Color ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier , ĊĠĠĠ Ġ) Ċ } Ċ