package Ġcom . m yn asma h . my k am us . ui . view . activity Ċ Ċ import Ġandroid . os . AsyncTask Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . ListView Ċ import Ġandroid . widget . TextView Ċ import Ġcom . google . android . gms . ads . Ad Request Ċ import Ġcom . google . android . gms . ads . Ad View Ċ Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . m yn asma h . my k am us . ui . adapter . History Adapter Ċ import Ġcom . m yn asma h . my k am us . data . model . History Ċ import Ġcom . m yn asma h . my k am us . R Ċ import Ġcom . m yn asma h . my k am us . data . model . save . Save History Ċ import Ġkotlinx . android . synt hetic . main . activity _ history .* ĊĊ Ċ class ĠActivity History Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġlist _ history : ĠListView ĊĠĠĠ Ġlateinit Ġvar Ġsave K am us : ĠSave History ĊĠĠĠ Ġinternal Ġvar Ġhistory s : ĠMutable List < History >? Ġ= Ġnull ĊĊĠĠĠ Ġlateinit Ġvar Ġk am us ListAdapter : ĠHistory Adapter ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġtxt _ title : ĠTextView ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġtxt _ remove _ all : ĠTextView ĊĊĠĠĠ Ġlateinit Ġvar Ġno History : ĠLinearLayout ĊĊĠĠĠ Ġpublic Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ history ) ĊĊĠĠĠĠĠĠĠ Ġval Ġm Ad View Ġ= ĠfindViewById < Ad View >( R . id . ad View _ history ) ĊĠĠĠĠĠĠĠ Ġval Ġad Request Ġ= ĠAd Request . Builder (). build () ĊĠĠĠĠĠĠĠ Ġm Ad View . load Ad ( ad Request ) ĊĊĠĠĠĠĠĠĠ Ġsave K am us Ġ= ĠSave History () ĊĠĠĠĠĠĠĠ Ġhistory s Ġ= Ġsave K am us . get History ( this ) ĊĠĠĠĠĠĠĠ Ġlist _ history Ġ= ĠfindViewById ( R . id . list _ history ) ĊĠĠĠĠĠĠĠ Ġtxt _ title Ġ= ĠfindViewById ( R . id . txt _ title _ history ) ĊĠĠĠĠĠĠĠ Ġtxt _ remove _ all Ġ= ĠfindViewById ( R . id . txt _ remove _ all ) ĊĠĠĠĠĠĠĠ Ġno History Ġ= ĠfindViewById ( R . id . no _ history ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( history s Ġ!= Ġnull Ġ&& Ġhistory s !!. size Ġ!= Ġ 0 ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġno History . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt _ remove _ all . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist _ history . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Count History ( history s !!. size ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhistory s !!. reverse () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġk am us ListAdapter Ġ= ĠHistory Adapter ( this , Ġhistory s ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist _ history . adapter Ġ= Ġk am us ListAdapter ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Count History ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt _ remove _ all . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist _ history . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġno History . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtxt _ remove _ all . setOnClickListener Ġ{ Ġv Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( history s !!. size Ġ!= Ġ 0 ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Count History ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtxt _ remove _ all . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist _ history . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġno History . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( v , Ġ" The ĠHistory Ġhas Ġbeen Ġsuccessfully Ġremoved !", ĠSn ackbar . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAsync Task . execute Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( check Favorite Item ( history s ! ![ 0 ])) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġhistory s !!. indices . reversed ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave K am us . remove History ( this , Ġhistory s ! ![ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhistory s !!. remove At ( i ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Favorite Item ( check History : ĠHistory ?): ĠBoolean Ġ{ ĊĊĠĠĠĠĠĠĠ Ġvar Ġcheck Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġif Ġ( check History Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfavor ites Ġ= Ġsave K am us . get History ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( favorites Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( history Ġin Ġfavor ites ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( history Ġ== Ġcheck History ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcheck Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġcheck ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġset Count History ( count : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtext Of Favorite Ġ= Ġ" Search ĠHistory Ġ( Ġ$ count Ġ)" ĊĊĠĠĠĠĠĠĠ Ġtxt _ title _ history . text Ġ= Ġtext Of Favorite ĊĠĠĠ Ġ} Ċ Ċ } Ċ