package Ġde . mar io . camera . device Ċ Ċ import Ġandroid . hardware . camera 2 . Camera Character istics Ċ import Ġandroid . util . Range ĊĊ Ċ /** Ċ Ġ* ĠThis Ġfactory Ġcreates Ġa Ġsequence Ġof Ġintegers Ġwhich Ġcan Ġbe Ġused Ġfor Ġthe Ġexposure Ġlock . Ċ Ġ*/ Ċ internal Ġclass ĠSequence Factory ( private Ġval Ġmanager Supply : ĠCamera Manager Supply ) Ġ{ ĊĊĠĠĠ Ġfun Ġcreate ( camera Id : ĠString , Ġseq Type : ĠInt ): ĠArray < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrange Ġ= Ġrange ( camera Id ) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( seq Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġreturn Ġmin To Max In 2 El ( range ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn ĠarrayOf ( range . lower , Ġ 0 , Ġrange . upper ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrange ( camera Id : ĠString ): ĠRange < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchars Ġ= Ġmanager Supply . camera Character istics ( camera Id ) ĊĠĠĠĠĠĠĠ Ġreturn Ġchars . get ( Camera Character istics . CONTROL _ AE _ COMP ENS ATION _ RANGE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmin To Max In 2 El ( range : ĠRange < Int >): ĠArray < Int > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalues Ġ= Ġmutable ListOf < Int >() ĊĠĠĠĠĠĠĠ Ġfor ( i Ġin Ġrange . lower Ġ.. Ġrange . upper Ġstep Ġ 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalues . add ( i ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġvalues . to Typed Array () ĊĠĠĠ Ġ} Ċ }