package Ġcom . car 3 0 0 . cam er alib . api _ new . work Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġcom . car 3 0 0 . cam er alib . api _ new . agent . I Accept Result Handler Ċ import Ġcom . car 3 0 0 . cam er alib . api _ new . callback . Get Photo Callback Ċ import Ġcom . car 3 0 0 . cam er alib . api _ new . result _ data . Album Result Ċ import Ġcom . car 3 0 0 . cam er alib . api _ new . data . REQUEST _ CODE _ AL BU M Ċ import Ġcom . car 3 0 0 . cam er alib . api _ new . params . Album Params Ċ import Ġcom . car 3 0 0 . cam er alib . utils . Mat isse Img Engine Ċ import Ġcom . che 3 0 0 . mat isse . Mat isse Ċ import Ġcom . che 3 0 0 . mat isse . MimeType Ċ Ċ /** Ċ Ġ* Ġ çĽ¸ åĨĮ éĢī åıĸ Ċ Ġ* Ċ Ġ* Ġ@ author Ġpan fe i . pf Ċ Ġ* Ġ@ since Ġ 2 0 2 1 / 3 / 1 6 Ġ 1 6 : 2 6 Ċ Ġ*/ Ċ class ĠAlbum Worker ( handler : ĠI Accept Result Handler , params : ĠAlbum Params ) Ġ: ĊĠĠĠ ĠBase Worker < Album Params , ĠAlbum Result >( handler , params ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġstart ( former Result : ĠAny ?, Ġcallback : ĠGet Photo Callback < Album Result >) Ġ{ ĊĠĠĠĠĠĠĠ Ġhandler . attached Activity ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalbum Take ( it , Ġcallback ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġalbum Take ( activity : ĠActivity , Ġcallback : ĠGet Photo Callback < Album Result >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠMat isse . from ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* . choose ( if Ġ( m Params . video Mode ) ĠMime Type . of Video () Ġelse ĠMime Type . of Static Image ()) */ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. choose ( MimeType . of Static Image ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. show Single MediaType ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ/* . max Duration ( m Params . max Video Duration ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. min Duration ( m Params . min Video Duration ) */ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. max Selectable ( m Params . max Count ). image Engine ( Mat isse Img Engine ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. thumbnail Scale ( 0 . 8 5 f ). album Intent ĊĠĠĠĠĠĠĠ Ġif Ġ( intent . resolve Activity ( activity . package Manager ) Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Fail ( IllegalStateException (" Activity ĠStatus ĠError ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandler . startActivity For Result ( intent , ĠREQUEST _ CODE _ AL BU M ) Ġ{ Ġ_, ĠresultCode , Ġdata Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandle Result ( result Code , Ġdata , Ġcallback ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Fail ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Result ( ĊĠĠĠĠĠĠĠ ĠresultCode : ĠInt , ĊĠĠĠĠĠĠĠ Ġdata : ĠIntent ?, ĊĠĠĠĠĠĠĠ Ġcallback : ĠGet Photo Callback < Album Result > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ C ANCE LED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Cancel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( data Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpath List Ġ= ĠMat isse . obtain Path Result ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri List Ġ= ĠMat isse . obtain Result ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠAlbum Result () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! path List . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . path List Ġ= Ġpath List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! uri List . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . uri List Ġ= Ġuri List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Success ( result ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Fail ( IllegalArgumentException (" No ĠData ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }