package Ġbr . uf pe . cin . if 7 1 0 . rss Ċ Ċ import Ġandroid . content .* Ċ import Ġandroid . content . SharedPreferences . On Shared Preference ChangeListener Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . preference . Preference Manager Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . Toast Ċ import Ġorg . jetbrains . ank o . do Async Ċ import Ġorg . jetbrains . ank o . ui Thread Ċ import Ġjava . io . IOException ĊĊ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠOn Shared Preference ChangeListener Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġactivity Visible : ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġfun Ġis Activity Visible (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity Visible ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġdb : ĠData Manip ulation ? Ġ= Ġnull ĊĊĠĠĠ Ġinner Ġclass ĠMy Broadcast Receiver : ĠBroadcast Receiver () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Receive ( context : ĠContext , Ġintent : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprint Feed () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Broadcast ĠIntent ĠDet ected .", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġprint Feed (){ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġdb !!. getItems () ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠRe cycler Custom Adapter ( data ) ĊĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcont e udo RSS !!. adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġintent Filter Ġ= ĠIntent Filter (" br . uf pe . cin . if 7 1 0 . rss ") ĊĠĠĠ Ġprivate Ġval Ġreceiver Ġ= ĠMy Broadcast Receiver () ĊĊĠĠĠ Ġprivate Ġfun Ġconfigure Receiver () Ġ{ ĊĠĠĠĠĠĠĠ Ġregister Receiver ( receiver , Ġintent Filter ); ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Regist r ando ...", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdeactivate Receiver () Ġ{ ĊĠĠĠĠĠĠĠ Ġunregister Receiver ( receiver ); ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġ" Remov endo Ġregistro ...", ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġpreference : ĠP refs ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ao Ġfazer Ġenv io Ġda Ġresol uc ao , Ġuse Ġeste Ġlink Ġno Ġseu Ġcodigo ! ĊĠĠĠ Ġprivate Ġvar ĠRSS _ FEED : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ// OUT ROS ĠLIN KS ĠPAR A ĠTEST AR ... ĊĠĠĠ Ġ// http :// rss . cnn . com / rss / edition . rss ĊĠĠĠ Ġ// http :// po x . glo bo . com / rss / g 1 / br as il / ĊĠĠĠ Ġ// http :// po x . glo bo . com / rss / g 1 / ci encia - e - sa ude / ĊĠĠĠ Ġ// http :// po x . glo bo . com / rss / g 1 / tec nolog ia / ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlinear LayoutManager : ĠLinearLayoutManager ĊĊĠĠĠ Ġ// use ĠListView Ġao Ġinv Ã©s Ġde ĠTextView Ġ- Ġde ix e Ġo Ġatribut o Ġcom Ġo Ġmesmo Ġnome ĊĠĠĠ Ġprivate Ġvar Ġcont e udo RSS : ĠRecyclerView ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġactivity Visible Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġdb Ġ= ĠData Manip ulation ( application Context ) ĊĊĠĠĠĠĠĠĠ ĠRSS _ FEED Ġ= ĠgetString ( R . string . rss feed ) Ġ// url Ġv em Ġdo Ġarquivo Ġde Ġstrings ĊĠĠĠĠĠĠĠ Ġcont e udo RSS Ġ= ĠfindViewById ( R . id . cont e udo RSS ) ĊĊĠĠĠĠĠĠĠ Ġlinear LayoutManager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġcont e udo RSS ?. layout Manager Ġ= Ġlinear LayoutManager Ġ// tipo Ġde Ġlayout Ġque ĠserÃ¡ Ġco loc ado Ġo Ġcont eÃºdo Ġdo Ġre cycler ĊĊĠĠĠĠĠĠĠ Ġpreference Ġ= ĠP refs ( this ) ĊĠĠĠĠĠĠĠ ĠPreference Manager . getDefault SharedPreferences ( this ). register On Shared Preference ChangeListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġactivity Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġconfigure Receiver () ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdownload Service Intent Ġ= ĠIntent ( application Context , ĠDownload Feed Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdownload Service Intent . putExtra (" url ", Ġpreference !!. rss Feed ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdownload Service Intent . putExtra (" foreground ", Ġis Activity Visible ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Service ( download Service Intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Restart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Restart () ĊĠĠĠĠĠĠĠ Ġactivity Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġconfigure Receiver () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġactivity Visible Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġconfigure Receiver () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Stop () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Visible Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġdeactivate Receiver () ĊĠĠĠĠĠĠĠ Ġsuper . on Stop () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Shared Preference Changed ( shared Preferences : ĠSharedPreferences ?, Ġp 1 : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġshared Preferences !!. getString (" rss feed ", Ġ"") ĊĠĠĠĠĠĠĠ Ġpreference !!. rss Feed Ġ= Ġurl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġmenu ; Ġthis Ġadds Ġitems Ġto Ġthe Ġaction Ġbar Ġif Ġit Ġis Ġpresent . ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ pref , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠHandle Ġaction Ġbar Ġitem Ġclicks Ġhere . ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġitem . itemId ĊĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ== ĠR . id . action _ prefs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( application Context , Prefs Fragment Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĊĠĠĠ Ġ} Ċ Ċ }