/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 ĠSimon ĠV ig ĠTh erk ild sen Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġnet . sim on vt . c ath ode . ui . comments Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroidx . appcompat . app . AlertDialog . Builder Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġnet . sim on vt . c ath ode . R . string Ċ import Ġnet . sim on vt . c ath ode . api . enumeration . ItemType Ċ import Ġnet . sim on vt . c ath ode . api . enumeration . ItemType . COMMENT Ċ import Ġnet . sim on vt . c ath ode . api . service . Comments Service Ċ import Ġnet . sim on vt . c ath ode . common . util . TextUtils Ċ import Ġnet . sim on vt . c ath ode . common . widget . find Ċ import Ġnet . sim on vt . c ath ode . databinding . Dialog Comment Binding Ċ import Ġnet . sim on vt . c ath ode . sync . scheduler . Comments Task Scheduler Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠAdd Comment Dialog Ġ@ Inject Ġconstructor ( private Ġval Ġcomments Scheduler : ĠComments Task Scheduler ) Ġ: ĊĠ ĠDialog Fragment () Ġ{ ĊĊĠ Ġprivate Ġvar Ġtype : ĠItem Type ? Ġ= Ġnull ĊĠ Ġprivate Ġvar Ġid : ĠLong Ġ= Ġ 0 ĊĊĠ Ġoverride Ġfun ĠonCreate ( in State : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( in State ) ĊĠĠĠ Ġtype Ġ= Ġrequire Arguments (). get Serializable ( ARG _ TYPE ) Ġas ĠItem Type ? ĊĠĠĠ Ġid Ġ= Ġrequire Arguments (). getLong ( ARG _ ID ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠonCreate Dialog ( in State : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠ Ġval Ġbuilder Ġ= ĠBuilder ( require Context ()) ĊĠĠĠ Ġval Ġbinding Ġ= ĠDialog Comment Binding . inflate ( LayoutInflater . from ( builder . context )) ĊĠĠĠ Ġbuilder . setView ( binding . root ) ĊĠĠĠ Ġif Ġ( type Ġ=== ĠCOMMENT ) Ġ{ ĊĠĠĠĠĠ Ġbuilder . setTitle ( string . title _ comment _ reply ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġbuilder . setTitle ( string . title _ comment _ add ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġbuilder . set Positive Button ( string . action _ submit ) Ġ{ Ġdialog Interface , Ġi Ġ-> ĊĠĠĠĠĠ Ġval Ġcomment Ġ= Ġbinding . comment . text . toString () ĊĠĠĠĠĠ Ġval Ġspo iler Ġ= Ġbinding . spo iler . isChecked ĊĠĠĠĠĠ Ġif Ġ( TextUtils . word Count ( comment ) Ġ>= ĠComments Service . MIN _ WORD _ COUNT ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( type Ġ=== ĠCOMMENT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġcomments Scheduler . reply ( id , Ġcomment , Ġspo iler ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġcomments Scheduler . comment ( type !! , Ġid , Ġcomment , Ġspo iler ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠSn ackbar . make ( ĊĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). find ( android . R . id . content ), ĊĠĠĠĠĠĠĠĠĠ Ġstring . comment _ too _ short , ĊĠĠĠĠĠĠĠĠĠ ĠSn ackbar . LENGTH _ LONG ĊĠĠĠĠĠĠĠ Ġ). show () ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġbuilder . create () ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠARG _ TYPE Ġ= Ġ" net . sim on vt . c ath ode . ui . comments . Add Comment Dialog . type " ĊĠĠĠ Ġprivate Ġconst Ġval ĠARG _ ID Ġ= Ġ" net . sim on vt . c ath ode . ui . comments . Add Comment Dialog . id " ĊĊĠĠĠ Ġfun Ġget Args ( type : ĠItem Type , Ġid : ĠLong ): ĠBundle Ġ{ ĊĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠ Ġargs . put Serializable ( ARG _ TYPE , Ġtype ) ĊĠĠĠĠĠ Ġargs . put Long ( ARG _ ID , Ġid ) ĊĠĠĠĠĠ Ġreturn Ġargs ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ