package Ġcom . github . jar for reddit Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġcom . github . jar for reddit . R Ċ import Ġcom . github . jar for reddit . databinding . Activity Task er Main Binding Ċ import Ġcom . jo a omg cd . task er plugin library . action . Task er Plugin Runner Action Ċ import Ġcom . jo a omg cd . task er plugin library . config . Task er Plugin Config Ċ import Ġcom . jo a omg cd . task er plugin library . config . Task er Plugin Config Helper Ċ import Ġcom . jo a omg cd . task er plugin library . input . Task er Input Ċ import Ġcom . jo a omg cd . task er plugin library . input . Task er Input Field Ċ import Ġcom . jo a omg cd . task er plugin library . input . Task er Input Root Ċ import Ġcom . jo a omg cd . task er plugin library . output . Task er Output Object Ċ import Ġcom . jo a omg cd . task er plugin library . output . Task er Output Variable Ċ import Ġcom . jo a omg cd . task er plugin library . runner . Task er Plugin Result Ċ import Ġcom . jo a omg cd . task er plugin library . runner . Task er Plugin Result Su cess Ċ import Ġnet . de an . j raw . models . Submission Ċ import Ġnet . de an . j raw . pagination . Default Paginator Ċ Ċ /** Ċ Ġ* ĠHelper Ġclass Ġfor ĠSub reddit Ġpost Ġgetting Ġplugin Ċ Ġ*/ Ċ class ĠBasic Action Helper ( config : ĠTask er Plugin Config < GetString Input >) Ġ: ĊĠĠĠ ĠTask er Plugin Config Helper < GetString Input , ĠArray < Task er Submission >, ĠBasic Action Runner >( config ) Ġ{ ĊĠĠĠ Ġoverride Ġval Ġrunner Class : ĠClass < Basic Action Runner > Ġget () Ġ= ĠBasic Action Runner :: class . java ĊĠĠĠ Ġoverride Ġval Ġinput Class Ġ= ĠGet String Input :: class . java ĊĠĠĠ Ġoverride Ġval Ġoutput Class Ġ= ĠArray < Task er Submission >:: class . java Ċ Ċ } Ċ Ċ /** Ċ Ġ* ĠThis Ġactivity Ġis Ġlaunched Ġwhen Ġconfigure Ġis Ġclicked Ġin ĠTask er Ċ Ġ*/ Ċ class ĠActivity Config Basic Action Ġ: ĠActivity (), ĠTask er Plugin Config < GetString Input > Ġ{ ĊĠĠĠ Ġoverride Ġval Ġcontext : ĠContext Ġget () Ġ= Ġapplication Context ĊĠĠĠ Ġprivate Ġval Ġtask er Helper Ġby Ġlazy Ġ{ ĠBasic Action Helper ( this ) Ġ} ĊĠĠĠ Ġval Ġbinding : ĠActivity Task er Main Binding Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠActivity Task er Main Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĠĠĠĠĠĠĠ Ġbinding . btn Apply . setOnClickListener Ġ{ Ġtask er Helper . on Back Pressed () Ġ} ĊĠĠĠĠĠĠĠ Ġaction Bar ?. title Ġ= Ġ" Task er ĠGet ĠSub reddit ĠConfig " ĊĠĠĠĠĠĠĠ Ġtask er Helper . onCreate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġinput For Task er : ĠTask er Input < GetString Input > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠTask er Input ( GetString Input ( binding . txt Edit . text . toString ())) ĊĊĠĠĠ Ġoverride Ġfun Ġassign From Input ( input : ĠTask er Input < GetString Input >) Ġ= Ġinput . regular . run Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . txt Edit . setText ( test ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠThe Ġinputs Ġthat Ġare Ġexpected Ġfor Ġthis Ġtask Ċ Ġ*/ Ċ @ Task er Input Root Ċ class ĠGet String Input Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġ@ field : Task er Input Field (" sub reddit ") Ġvar Ġtest : ĠString ? Ġ= Ġnull Ċ Ċ ) Ċ Ċ @ Task er Output Object Ċ class ĠTask er Submission ( ĊĠĠĠ Ġ@ get : Task er Output Variable (" post ", ĠR . string . post _ id , ĠR . string . post _ id _ desc ) Ġvar Ġid : ĠString , ĊĠĠĠ Ġ@ get : Task er Output Variable (" url ", ĠR . string . url , ĠR . string . url _ desc ) Ġvar Ġurl : ĠString , ĊĠĠĠ Ġ@ get : Task er Output Variable (" title ", ĠR . string . title , ĠR . string . title _ desc ) Ġvar Ġtitle : ĠString , ĊĠĠĠ Ġ@ get : Task er Output Variable (" sub reddit ", ĠR . string . sub reddit , ĠR . string . sub _ desc ) Ġvar Ġsub : ĠString , ĊĠĠĠ Ġ@ get : Task er Output Variable ( ĊĠĠĠĠĠĠĠ Ġ" hint ", ĊĠĠĠĠĠĠĠ ĠR . string . post _ hint , ĊĠĠĠĠĠĠĠ ĠR . string . post _ hint _ desc ĊĠĠĠ Ġ) Ġvar Ġhint : ĠString , Ċ ) Ċ Ċ /** Ċ Ġ* ĠThis Ġclass Ġruns Ġwith Ġtask er Ċ Ġ*/ Ċ class ĠBasic Action Runner Ġ: ĠTask er Plugin Runner Action < GetString Input , ĠArray < Task er Submission >>() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġrun ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠ Ġinput : ĠTask er Input < GetString Input > ĊĠĠĠ Ġ): ĠTask er Plugin Result < Array < Task er Submission >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpage : ĠDefault Paginator < Submission >? ĊĠĠĠĠĠĠĠ Ġval Ġsub : ĠString ? Ġ= Ġinput . regular . test ĊĠĠĠĠĠĠĠ ĠLog . d (" jar Ġtask ", Ġsub . toString ()) ĊĠĠĠĠĠĠĠ Ġval Ġsplit Ġ= Ġsub . toString (). split ("+ ") ĊĠĠĠĠĠĠĠ Ġif Ġ( sub Ġ== Ġnull Ġ|| Ġ Ġsplit . isEmpty () Ġ|| Ġsplit [ 0 ] Ġ== Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= ĠJ RAW . getInstance ( context ). front Page (). build () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( split . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresults Ġ= ĠJ RAW . getInstance ( context ). search Sub redd its ByName ( sub ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfound Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresults . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . name . equals ( split [ 0 ], Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfound Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( found ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJ RAW . getInstance ( context ). sub reddit ( sub ). posts () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtmp Ġ= Ġsplit [ 0 ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Sub reddit Ġ'$ tmp ' Ġdoesn 't Ġexit ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= ĠJ RAW . getInstance ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sub redd its ( split [ 0 ], Ġsplit [ 1 ], Ġ* split . take Last ( split . size Ġ- Ġ 2 ). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. posts (). build () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġval Ġposts Ġ= Ġpage . next () ĊĊĠĠĠĠĠĠĠ Ġ// ĠĠĠĠĠĠĠ ĠHandler ( Looper . get Main Looper ()). post Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġposts [ 0 ]?. url , ĠToast . LENGTH _ LONG ). show () Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġresults : ĠArray < Task er Submission > Ġ= Ġposts . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTask er Submission ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . sub reddit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . post Hint . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}. to Typed Array () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠTask er Plugin Result Su cess ( results ) ĊĠĠĠ Ġ} Ċ }