package Ġfl ank . core l li um . domain . test . android . task Ċ Ċ import Ġfl ank . core l li um . domain . Test Android . Execute Tests Ċ import Ġfl ank . core l li um . domain . Test Android . Test Duration Ċ import Ġfl ank . core l li um . domain . Test Android . context Ċ import Ġfl ank . exe ction . parallel . from Ċ import Ġfl ank . exe ction . parallel . using Ċ import Ġfl ank . instrument . log . Instrument . Status Ċ Ċ val Ġcalculate Test Duration Ġ= ĠTest Duration Ġfrom Ġset Of ( ĊĠĠĠ ĠExecute Tests , Ċ ) Ġusing Ġcontext Ġ{ ĊĠĠĠ Ġval Ġ( first Status , Ġlast Status ) Ġ= Ġtest Result ĊĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġresult Ġ-> Ġresult . value . filter Is Instance < Status >() Ġ} ĊĠĠĠĠĠĠĠ Ġ. run Ġ{ Ġmin By OrNull ( Status :: startTime ) Ġto Ġmax By OrNull ( Status :: endTime ) Ġ} ĊĊĠĠĠ Ġval ĠstartTime Ġ= Ġfirst Status ?. startTime Ġ?: Ġ 0 L ĊĠĠĠ Ġval ĠendTime Ġ= Ġlast Status ?. endTime Ġ?: Ġ 0 L ĊĊĠĠĠ ĠendTime Ġ- ĠstartTime Ċ } Ċ