package Ġcom . h end ra angg rian . social view . commons Ċ Ċ import Ġandroid . os . Build . VERSION . SDK _ INT Ċ import Ġandroid . os . Count Down Timer Ċ import Ġandroid . support . test . espress o . Esp ress o . on View Ċ import Ġandroid . support . test . espress o . Ui Controller Ċ import Ġandroid . support . test . espress o . View Action Ċ import Ġandroid . support . test . espress o . action . View Actions . close Soft Keyboard Ċ import Ġandroid . support . test . espress o . action . View Actions . type Text Ċ import Ġandroid . support . test . espress o . matcher . View Matchers . isAssignableFrom Ċ import Ġandroid . support . test . espress o . matcher . View Matchers . is Displayed Ċ import Ġandroid . support . test . espress o . matcher . View Matchers . with Id Ċ import Ġandroid . support . test . filters . Large Test Ċ import Ġandroid . support . test . rule . Activity Test Rule Ċ import Ġandroid . support . test . runner . Android JUnit 4 Ċ import Ġandroid . view . View Ċ import Ġandroidx . core . view . isVisible Ċ import Ġcom . h end ra angg rian . social view . commons . activity . Instrument ed Activity Ċ import Ġcom . h end ra angg rian . social view . commons . test . R Ċ import Ġcom . h end ra angg rian . widget . Has ht ag Ċ import Ġcom . h end ra angg rian . widget . Has ht ag Adapter Ċ import Ġcom . h end ra angg rian . widget . Mention Ċ import Ġcom . h end ra angg rian . widget . Mention Adapter Ċ import Ġcom . h end ra angg rian . widget . Social Auto Complete TextView Ċ import Ġorg . junit . Fix Method Order Ċ import Ġorg . junit . Rule Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . Method Sort ers . JVM Ċ Ċ @ RunWith ( Android JUnit 4 :: class ) Ċ @ Large Test Ċ @ Fix Method Order ( JVM ) Ċ class ĠInstrument ed Test Ġ{ ĊĊĠĠĠ Ġ@ Rule Ġ@ Jvm Field Ġvar Ġrule Ġ= ĠActivity Test Rule ( Instrument ed Activity :: class . java ) ĊĊĠĠĠ Ġ@ Test Ġfun Ġhas ht ag () Ġ{ ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . textView )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠView Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Constraints () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis AssignableFrom ( Social Auto Complete TextView :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetDescription () Ġ= ĠSocial Auto Complete TextView :: class . java . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġperform ( ui Controller : ĠUi Controller , Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠHas ht ag Adapter ( view . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHas ht ag (" follow "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHas ht ag (" follow me ", Ġ 1 0 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHas ht ag (" follow me or ill k illy ou ", Ġ 5 0 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Ġas ĠSocial Auto Complete TextView ). hasht ag Adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Text (" Suggestions Ġcan Ġpopup Ġwith ĠSocial Auto Complete TextView , Ġlike Ġ# f oll "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose Soft Keyboard (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġmention () Ġ{ ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . textView )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠView Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Constraints () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis AssignableFrom ( Social Auto Complete TextView :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetDescription () Ġ= ĠSocial Auto Complete TextView :: class . java . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġperform ( ui Controller : ĠUi Controller , Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠM ention Adapter ( view . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM ention (" dirty ho bo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM ention (" ho bo ", Ġ" Regular ĠHo bo ", ĠR . drawable . ic _ input _ add ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM ention (" h end ra angg rian ", Ġ" H end ra ĠAng g rian ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// avatars 0 . githubusercontent . com / u / 1 1 5 0 7 4 3 0 ? v = 3 & s = 4 6 0 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Ġas ĠSocial Auto Complete TextView ). mention Adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . threshold Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Text (" Mention Ġsomeone Ġwith Ġavatar Ġpicture Ġfrom Ġlocal Ġfile Ġor Ġnetwork , Ġlike Ġ@ h "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose Soft Keyboard (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test Ġfun Ġcustom () Ġ{ ĊĠĠĠĠĠĠĠ Ġon View ( with Id ( R . id . textView )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠView Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Constraints () Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis AssignableFrom ( Social Auto Complete TextView :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetDescription () Ġ= ĠSocial Auto Complete TextView :: class . java . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġperform ( ui Controller : ĠUi Controller , Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠPerson Adapter ( view . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPerson (" dirty ho bo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPerson (" ho bo "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPerson (" h end ra angg rian ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Ġas ĠSocial Auto Complete TextView ). mention Adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . threshold Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Text (" Custom ize Ġyour Ġadapter , Ġlike Ġ@ h "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose Soft Keyboard (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdelay (): ĠView Action Ġ= Ġobject Ġ: ĠView Action Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Constraints () Ġ= Ġis Displayed () ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetDescription () Ġ= Ġ" delay Ġfor Ġ$ DELAY _ COUNT DOWN " ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġperform ( ui Controller : ĠUi Controller , Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠprogressBar Ġ= Ġrule . activity . progress Bar ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠCount Down Timer ( DELAY _ COUNT DOWN , Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Tick ( millis Until Finished : ĠLong ) Ġ= Ġ( progress Bar . max Ġ* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmillis Until Finished Ġ/ ĠDEL AY _ COUNT DOWN ). toInt (). let Ġ{ Ġprogress Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSDK _ INT Ġ>= Ġ 2 4 Ġ-> ĠprogressBar . set Progress ( progress , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠprogressBar . progress Ġ= Ġprogress ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Finish () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . isVisible Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġui Controller . loop MainThread For At Least ( DELAY _ COUNT DOWN ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEL AY _ COUNT DOWN : ĠLong Ġ= Ġ 5 0 0 0 ĊĠĠĠ Ġ} Ċ }