package Ġcom . atom . camera . core . mux Ċ Ċ import Ġandroid . util . Sparse Array Ċ import Ġjava . util . concurrent . Linked BlockingQueue Ċ Ċ class ĠRe cycler < T > Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġdatas Ġ= ĠSparse Array < Linked BlockingQueue < T >>() ĊĊĠĠĠ Ġfun Ġput ( index : ĠInt , Ġt : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( datas . indexOf Key ( index ) Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatas . append ( index , ĠLinked BlockingQueue ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdatas [ index ]. add ( t ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġpoll ( index : ĠInt ): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( datas . indexOf Key ( index ) Ġ>= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatas [ index ]. poll () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġdatas . clear () ĊĠĠĠ Ġ} Ċ }