package Ġcom . v ension . mvp . mvp . eye . presenter Ċ Ċ import Ġcom . v ension . mvp . http . exception . Exception Handle Ċ import Ġcom . v ension . frame . base . V _ Base Presenter Ċ import Ġcom . v ension . mvp . mvp . eye . contract . Search Contract Ċ import Ġcom . v ension . mvp . mvp . eye . model . Search Model Ċ Ċ /** Ċ Ġ* Ġ================================================= ======= Ċ Ġ* Ġ ä½ľ Ġ Ġ èĢħ ï¼ļ V ension Ċ Ġ* Ġ æĹ¥ Ġ Ġ æľŁ ï¼ļ 2 0 1 8 / 4 / 1 7 Ġ 1 1 : 5 5 Ċ Ġ* Ġæı ı Ġ Ġ è¿° ï¼ļ æĲľç´¢ çļĦ ĠPres enter Ċ Ġ* Ġ================================================= ======= Ċ Ġ*/ Ċ Ċ class ĠSearch Presenter Ġ: ĠV _ Base Presenter < Search Contract . View >(), ĠSearch Contract . Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġnext Page Url : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġsearch Model Ġby Ġlazy Ġ{ ĠSearch Model () Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġèİ·åıĸ çĥŃ éĹ¨ åħ³éĶ® è¯į ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġrequest Hot Word Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck View Attached () ĊĠĠĠĠĠĠĠ Ġcheck View Attached () ĊĠĠĠĠĠĠĠ Ġm Root View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose Soft Keyboard () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadd Subscription ( dis posable Ġ= Ġsearch Model . request Hot Word Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġstring Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Root View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Hot Word Data ( string ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Root View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¤ĦçĲĨ å¼Ĥå¸¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( Exception Handle . handle Exception ( throwable ), ĠException Handle . errorCode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ})) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠæŁ¥è¯¢ åħ³éĶ® è¯į ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġquery Search Data ( words : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck View Attached () ĊĠĠĠĠĠĠĠ Ġm Root View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose Soft Keyboard () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġadd Subscription ( dis posable Ġ= Ġsearch Model . get SearchResult ( words ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġissue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Root View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( issue . count Ġ> Ġ 0 Ġ&& Ġissue . item List . size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Page Url Ġ= Ġissue . next Page Url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset SearchResult ( issue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Empty View () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Root View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¤ĦçĲĨ å¼Ĥå¸¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( Exception Handle . handle Exception ( throwable ), ĠException Handle . errorCode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĬłè½½ æĽ´å¤ļ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġload More Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck View Attached () ĊĠĠĠĠĠĠĠ Ġnext Page Url ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Subscription ( dis posable Ġ= Ġsearch Model . load More Data ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġissue Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Root View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Page Url Ġ= Ġissue . next Page Url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset SearchResult ( issue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Root View ?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¤ĦçĲĨ å¼Ĥå¸¸ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( Exception Handle . handle Exception ( throwable ), ĠException Handle . errorCode ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ})) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊ Ċ }