package Ġdev . ent ao . kan . qr . camera Ċ Ċ import Ġcom . google . zx ing .* Ċ import Ġcom . google . zx ing . common . Hybrid Bin ar izer Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠA Ġclass Ġfor Ġdecoding Ġimages . Ċ Ġ* Ċ Ġ* ĠA Ġdecoder Ġcontains Ġall Ġthe Ġconfiguration Ġrequired Ġfor Ġthe Ġbin ar ization Ġand Ġdecoding Ġprocess . Ċ Ġ* Ċ Ġ* ĠThe Ġactual Ġdecoding Ġshould Ġhappen Ġon Ġa Ġdedicated Ġthread . Ċ Ġ*/ Ċ class ĠDecoder ( private Ġval Ġreader : ĠReader ) Ġ: ĠResult Point Callback Ġ{ ĊĊĠĠĠ Ġval Ġpossible Result Points Ġ= ĠArrayList < Result Point >() ĊĊĠĠĠ Ġfun Ġdecode ( source : ĠL uminance Source ): ĠResult ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdecode ( Binary Bitmap ( Hybrid Bin ar izer ( source ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdecode ( bitmap : ĠBinary Bitmap ): ĠResult ? Ġ{ ĊĠĠĠĠĠĠĠ Ġpossible Result Points . clear () ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( reader Ġis ĠMulti Format Reader ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreader . decode With State ( bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreader . decode ( bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreader . reset () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfound Possible Result Point ( point : ĠResult Point ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpossible Result Points . add ( point ) ĊĠĠĠ Ġ} Ċ } Ċ