package Ġcom . ad ity ak amble 4 9 . word list . inter actor Ċ Ċ import Ġcom . ad ity ak amble 4 9 . word list . cache . Preference Helper Ċ import Ġcom . ad ity ak amble 4 9 . word list . cache . db . Word Dao Ċ import Ġcom . ad ity ak amble 4 9 . word list . cache . db . Word List Dao Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . ob servers . Disposable Comp letable Observer Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠDelete ĠWord ĠList ĠUse ĠCase Ċ Ġ* Ċ Ġ* Ġ@ author ĠAd ity a ĠK amble Ċ Ġ* Ġ@ since Ġ 1 0 / 6 / 2 0 1 8 Ċ Ġ*/ Ċ class ĠDelete Word List Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpreference Helper : ĠPreference Helper , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġword List Dao : ĠWord List Dao , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġword Dao : ĠWord Dao ) Ġ: ĠBase Rx UseCase () Ġ{ ĊĊĠĠĠ Ġprivate Ġfun Ġbuild UseCase Observable (): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠComp letable . create Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Word List Id Ġ= Ġpreference Helper . current Loaded List Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġword List Name Ġ= Ġword List Dao . get Word List ById Direct ( current Word List Id ). name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( word List Name Ġ== Ġ" Sample ĠWord ĠList ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġword List Dao . delete ById ( current Word List Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġword Dao . delete Words Of ( current Word List Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( word List Dao . get Word Lists Direct (). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Helper . current Loaded List Id Ġ= Ġword List Dao . get Word Lists Direct ()[ 0 ]. id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpreference Helper . current Loaded List Id Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . onComplete () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġexecute ( observer : ĠDis posable Comp letable Observer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġobservable Ġ= Ġbuild UseCase Observable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠ Ġadd Dis pos ables ( observable . subscribe With ( observer )) ĊĠĠĠ Ġ} Ċ }