package Ġcom . luck . picture . lib . adapter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . widget . TextView Ċ import Ġcom . ch ad . library . adapter . base . Base Item Drag gable Adapter Ċ import Ġcom . ch ad . library . adapter . base . Base ViewHolder Ċ import Ġcom . luck . picture . lib . R Ċ import Ġcom . luck . picture . lib . config . Picture Config Ċ import Ġcom . luck . picture . lib . config . Picture MimeType Ċ import Ġcom . luck . picture . lib . config . Picture Selection Config Ċ import Ġcom . luck . picture . lib . entity . Local Media Ċ import Ġcom . luck . picture . lib . listener . On MDB ottom Photo Select Changed Listener Ċ import Ġcom . luck . picture . lib . tools . Date Utils Ċ import Ġcom . luck . picture . lib . tools . Media Utils Ċ Ċ /** Ċ Ġ* Ġ@ author ï¼ļ xp Ċ Ġ* Ġ@ date ï¼ļ 2 0 1 2 1 - 5 - 1 2 Ġ 1 2 : 0 2 Ċ Ġ* Ġ@ describe ï¼ļ Picture Image MDB ottom Adapter Ċ Ġ*/ Ċ class ĠPicture Image MDB ottom Adapter ( private Ġval Ġcontext : ĠContext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġlocal Med ias : ĠMutable List < Local Media > Ġ= Ġarray ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġprivate Ġval Ġconfig : ĠPicture Selection Config ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ, Ġprivate Ġval Ġon MDB ottom Photo Select Changed Listener : ĠOn MDB ottom Photo Select Changed Listener < Local Media >) ĊĠĠĠ Ġ: ĠBase Item Drag gable Adapter < Local Media , ĠBase ViewHolder >( R . layout . picture _ md _ bottom _ image _ grid _ item , Ġlocal Med ias ) Ġ{ ĊĊĠĠĠ Ġprivate Ġfun Ġon Bind ViewHolder ( helper : ĠBase ViewHolder , Ġitem : ĠLocal Media ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpath Ġ= Ġitem . path ĊĠĠĠĠĠĠĠ Ġval ĠmimeType Ġ= Ġitem . mime Type ĊĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . btn Check , Ġ! config . is Single Direct Return ) ĊĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . tv _ is Gif , ĠPicture MimeType . is Gif ( mime Type )) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Picture MimeType . is Has Image ( item . mime Type )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item . load Long Image Status Ġ== ĠPicture Config . NORMAL ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . is Long Image Ġ= ĠMedia Utils . is Long Img ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . load Long Image Status Ġ= ĠPicture Config . LOADED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . tv _ long _ chart , Ġitem . is Long Image ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . load Long Image Status Ġ= ĠPicture Config . NORMAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . tv _ long _ chart , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġis Has Video Ġ= ĠPicture MimeType . is Has Video ( mime Type ) ĊĠĠĠĠĠĠĠ Ġif Ġ( is Has Video Ġ|| ĠPicture MimeType . is Has Audio ( mime Type )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . tv _ duration , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . tv _ duration , ĠDate Utils . format Duration Time ( item . duration )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Has Video ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style . picture _ adapter _ item _ video _ text Left Drawable Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ duration ). set Compound Draw ables Relative With Intr insic Bounds ( Picture Selection Config . ui Style . picture _ adapter _ item _ video _ text Left Drawable , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ duration ). set Compound Draw ables Relative With Intr insic Bounds ( R . drawable . picture _ icon _ video , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style . picture _ adapter _ item _ audio _ text Left Drawable Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ duration ). set Compound Draw ables Relative With Intr insic Bounds ( Picture Selection Config . ui Style . picture _ adapter _ item _ audio _ text Left Drawable , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ duration ). set Compound Draw ables Relative With Intr insic Bounds ( R . drawable . picture _ icon _ audio , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ duration ). set Compound Draw ables Relative With Intr insic Bounds ( if Ġ( is Has Video ) ĠR . drawable . picture _ icon _ video Ġelse ĠR . drawable . picture _ icon _ audio , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . tv _ duration , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( config . choose Mode Ġ== ĠPicture MimeType . of Audio ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setImage Resource ( R . id . iv Picture , ĠR . drawable . picture _ audio _ placeholder ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . image Engine Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPicture Selection Config . image Engine . load Bottom Grid Image ( context , Ġpath , Ġhelper . getView ( R . id . iv Picture )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġhelper . setOnClickListener ( R . id . rl Close ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( helper . absolute Adapter Position ! =- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġremove Item Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove ( helper . absolute Adapter Position ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon MDB ottom Photo Select Changed Listener . remove ( removeItem ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Layout ( helper : ĠBase ViewHolder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style . picture _ adapter _ item _ text Size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ duration ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ duration ). text Size Ġ= ĠPicture Selection Config . ui Style . picture _ adapter _ item _ text Size . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style . picture _ adapter _ item _ textColor Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ duration ). setTextColor ( Picture Selection Config . ui Style . picture _ adapter _ item _ textColor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style . picture _ adapter _ item _ tag _ text Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setText ( R . id . tv _ is Gif , Ġcontext . getString ( Picture Selection Config . ui Style . picture _ adapter _ item _ tag _ text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . set G one ( R . id . tv _ is Gif , ĠPicture Selection Config . ui Style . picture _ adapter _ item _ gif _ tag _ show ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style . picture _ adapter _ item _ gif _ tag _ background Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setBackground Res ( R . id . tv _ is Gif , ĠPicture Selection Config . ui Style . picture _ adapter _ item _ gif _ tag _ background ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style . picture _ adapter _ item _ gif _ tag _ textColor Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . setTextColor ( R . id . tv _ is Gif , ĠPicture Selection Config . ui Style . picture _ adapter _ item _ gif _ tag _ textColor ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Picture Selection Config . ui Style . picture _ adapter _ item _ gif _ tag _ text Size Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhelper . getView < TextView >( R . id . tv _ is Gif ). text Size Ġ= ĠPicture Selection Config . ui Style . picture _ adapter _ item _ gif _ tag _ text Size . toFloat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġconvert ( helper : ĠBase ViewHolder , Ġitem : ĠLocal Media ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Layout ( helper ) ĊĠĠĠĠĠĠĠ Ġon Bind ViewHolder ( helper , Ġitem ) ĊĠĠĠ Ġ} Ċ }