package Ġnet . slash _ omega . j uk t away . util Ċ Ċ import Ġandroid . content . Context Ċ import Ġde . green robot . event . EventBus Ċ import Ġjp . ne phy . json kt . stringify Ċ import Ġjp . ne phy . pen ic ill in . core . exceptions . Pen ic ill in Twitter ApiException Ċ import Ġjp . ne phy . pen ic ill in . core . exceptions . Twitter ApiError Ċ import Ġjp . ne phy . pen ic ill in . core . session . ApiClient Ċ import Ġjp . ne phy . pen ic ill in . endpoints . direct Messages Ċ import Ġjp . ne phy . pen ic ill in . endpoints . direct messages . create Ċ import Ġjp . ne phy . pen ic ill in . endpoints . media . Media Category Ċ import Ġjp . ne phy . pen ic ill in . endpoints . media . Media Component Ċ import Ġjp . ne phy . pen ic ill in . endpoints . media . MediaType Ċ import Ġjp . ne phy . pen ic ill in . endpoints . statuses Ċ import Ġjp . ne phy . pen ic ill in . endpoints . statuses . create Ċ import Ġjp . ne phy . pen ic ill in . endpoints . statuses . delete Ċ import Ġjp . ne phy . pen ic ill in . endpoints . statuses . ret weet Ċ import Ġjp . ne phy . pen ic ill in . endpoints . statuses . un ret weet Ċ import Ġjp . ne phy . pen ic ill in . extensions . await Ċ import Ġjp . ne phy . pen ic ill in . extensions . endpoints . create With Media Ċ import Ġjp . ne phy . pen ic ill in . extensions . models . favorite Ċ import Ġjp . ne phy . pen ic ill in . extensions . models . un favorite Ċ import Ġjp . ne phy . pen ic ill in . models . Status Ċ import Ġnet . slash _ omega . j uk t away . MainActivity Ċ import Ġnet . slash _ omega . j uk t away . Post Activity Ċ import Ġnet . slash _ omega . j uk t away . R Ċ import Ġnet . slash _ omega . j uk t away . event . action . Open Editor Event Ċ import Ġnet . slash _ omega . j uk t away . event . action . Status ActionEvent Ċ import Ġnet . slash _ omega . j uk t away . event . model . Streaming Destroy Status Event Ċ import Ġnet . slash _ omega . j uk t away . model . Fav Ret weet Manager Ċ import Ġnet . slash _ omega . j uk t away . settings . Post Stock Settings Ċ import Ġnet . slash _ omega . j uk t away . twitter . Identifier Ċ import Ġnet . slash _ omega . j uk t away . twitter . current Client Ċ import Ġnet . slash _ omega . j uk t away . twitter . current Identifier Ċ import Ġorg . jetbrains . ank o . startActivity Ċ import Ġjava . io . File Ċ Ċ inline Ġval ĠStatus . original ĊĠĠĠ Ġget () Ġ= Ġret weet ed Status Ġ?: Ġthis Ċ Ċ suspend Ġinline Ġfun ĠStatus . favorite () Ġ= Ġoriginal . run Catch ing Ġ{ Ġfavorite (). await () Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( R . string . toast _ favorite _ success ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF av Ret weet Manager . set Fav ( original . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Status ActionEvent ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Failure Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe Ġis ĠPen ic ill in Twitter ApiException Ġ&& Ġe . error . code Ġ== Ġ 1 3 9 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( R . string . toast _ favorite _ already ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF av Ret weet Manager . set Fav ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġshow Toast ( R . string . toast _ favorite _ failure ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. is Success Ċ Ċ suspend Ġfun ĠStatus . un favorite () Ġ= Ġoriginal . run Catch ing Ġ{ Ġun favorite (). await () Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( R . string . toast _ destroy _ favorite _ success ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF av Ret weet Manager . remove Fav ( original . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Status ActionEvent ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Failure Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe Ġis ĠPen ic ill in Twitter ApiException Ġ&& Ġe . error Ġ== ĠTwitter ApiError . Resource NotFound Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( R . string . toast _ destroy _ favorite _ already ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF av Ret weet Manager . remove Fav ( original . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġshow Toast ( R . string . toast _ destroy _ favorite _ failure ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. is Success Ċ Ċ suspend Ġfun ĠStatus . ret weet () Ġ= Ġrun Catch ing Ġ{ Ġcurrent Client . statuses . ret weet ( original . id ). await () Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( R . string . toast _ ret weet _ success ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF av Ret weet Manager . set Ret weet ( original . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Status ActionEvent ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Failure Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe Ġis ĠPen ic ill in Twitter ApiException Ġ&& Ġe . error . code Ġ== Ġ 3 7 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( R . string . toast _ ret weet _ already ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF av Ret weet Manager . set Ret weet ( original . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Status ActionEvent ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠMessage Util . show Toast ( R . string . toast _ ret weet _ already ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. is Success Ċ Ċ suspend Ġfun ĠStatus . destroy Ret weet () Ġ= Ġrun Catch ing Ġ{ Ġcurrent Client . statuses . un ret weet ( original . id ). await () Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Success Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( R . string . toast _ destroy _ ret weet _ success ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF av Ret weet Manager . remove Ret weet ( original . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Status ActionEvent ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. on Failure Ġ{ Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe Ġis ĠPen ic ill in Twitter ApiException Ġ&& Ġe . error Ġ== ĠTwitter ApiError . Resource NotFound Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( R . string . toast _ destroy _ ret weet _ already ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF av Ret weet Manager . remove Ret weet ( original . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Status ActionEvent ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠMessage Util . show Toast ( R . string . toast _ destroy _ ret weet _ failure ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. is Success Ċ Ċ fun ĠStatus . quote ( context : ĠContext ) Ġ{ ĊĠĠĠ Ġval Ġtext Ġ= Ġ" Ġ$ url String " ĊĠĠĠ Ġif Ġ( context Ġis ĠMainActivity ) Ġ{ ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Open Editor Event ( text , Ġthis , Ġnull , Ġnull )) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . startActivity < Post Activity >(" status " Ġto Ġtext , Ġ" in Reply To Status " Ġto Ġstringify ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠStatus . delete () Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠ Ġcurrent Client . statuses . delete ( id ). await () ĊĠĠĠ Ġ}. is Success ĊĠĠĠ Ġif Ġ( res ) Ġ{ ĊĠĠĠĠĠĠĠ ĠMessage Util . show Toast ( R . string . toast _ destroy _ status _ success ) ĊĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Streaming Destroy Status Event ( id )) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠMessage Util . show Toast ( R . string . toast _ destroy _ status _ failure ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ suspend Ġfun ĠIdentifier . update Status ( str : ĠString , Ġin Reply To Status Id : ĠLong ? Ġ= Ġnull , Ġimage List : ĠList < File > Ġ= Ġempty List ()) Ġ= Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠ Ġas Client Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( if Ġ( image List . isNotEmpty ()) Ġstatuses . create With Media ( str , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimage List . map Ġ{ ĠMedia Component ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile Ġ= Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġit . media Type (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcategory Ġ= Ġif Ġ( it . media Type () Ġ== ĠMediaType . G IF ) ĠMedia Category . Tweet Gif Ġelse ĠMedia Category . Tweet Image ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" in Reply To Status Id " Ġto Ġin Reply To Status Id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġstatuses . create ( status Ġ= Ġstr , Ġin Reply To Status Id Ġ= Ġin Reply To Status Id )). await (). result ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}. on Success Ġ{ Ġs Ġ-> ĊĠĠĠĠĠĠĠ Ġs . entities . hashtags . forEach Ġ{ ĠPost Stock Settings . add Has ht ag ("# ${ it . text }") Ġ} ĊĠĠĠ Ġ}. exception OrNull () Ċ Ċ suspend Ġfun ĠIdentifier . send Direct Message ( raw Message : ĠString ) Ġ= Ġas Client Ġ{ Ġsend Direct Message ( raw Message ) Ġ} Ċ Ċ suspend Ġfun ĠApi Client . send Direct Message ( raw Message : ĠString ) Ġ= Ġrun Catch ing Ġ{ ĊĠĠĠ Ġval Ġmessage Ġ= Ġraw Message . split (" Ġ". to Regex (), Ġ 3 ) ĊĠĠĠ Ġdirect Messages . create ( message [ 2 ], Ġscreen Name Ġ= Ġmessage [ 1 ]). await () Ċ }. exception OrNull () Ċ Ċ object ĠAction Util Ġ{ ĊĠĠĠ Ġfun Ġdo Reply ( status : ĠStatus , Ġcontext : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmentions Ġ= Ġstatus . entities . user Ment ions ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġ"@ " Ġ+ Ġ( if Ġ( status . user . id Ġ== Ġcurrent Identifier . userId Ġ&& Ġmentions . size Ġ== Ġ 1 ) Ġmentions [ 0 ]. screen Name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġstatus . user . screen Name ) Ġ+ Ġ" Ġ" ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠMainActivity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Open Editor Event ( text , Ġstatus , Ġtext . length , Ġnull )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity < Post Activity >(" status " Ġto Ġtext , Ġ" selection " Ġto Ġtext . length , Ġ" in Reply To Status " Ġto Ġstatus . stringify ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdo Reply All ( status : ĠStatus , Ġcontext : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠuserId Ġ= Ġcurrent Identifier . userId ĊĠĠĠĠĠĠĠ Ġvar Ġtext Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġselection Start Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġif Ġ( status . user . id Ġ!= ĠuserId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ"@ " Ġ+ Ġstatus . user . screen Name Ġ+ Ġ" Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselection Start Ġ= Ġtext . length ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( mention Ġin Ġstatus . entities . user Ment ions ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( status . user . id Ġ== Ġmention . id Ġ|| ĠuserId Ġ== Ġmention . id ) Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ+= Ġ(" @" Ġ+ Ġmention . screen Name Ġ+ Ġ" Ġ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( selection Start Ġ== Ġ 0 ) Ġselection Start Ġ= Ġtext . length ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( context Ġis ĠMainActivity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Open Editor Event ( text , Ġstatus , Ġselection Start , Ġtext . length )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity < Post Activity >(" status " Ġto Ġtext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" selection " Ġto Ġselection Start , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" selection _ stop " Ġto Ġtext . length , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" in Reply To Status " Ġto Ġstatus . stringify ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ