package Ġcom . by ted ance . tools . code locator . dialog Ċ Ċ import Ġcom . by ted ance . tools . code locator . action . Install A pk Action Ċ import Ġcom . by ted ance . tools . code locator . utils .* Ċ import Ġcom . intellij . openapi . application . Application Manager Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . ui . Dialog Wrapper Ċ import Ġjava . awt . Dimension Ċ import Ġjava . awt . event . Mouse Adapter Ċ import Ġjava . awt . event . MouseEvent Ċ import Ġjava . io . File Ċ import Ġjavax . swing .* Ċ Ċ class ĠShow Re Install Dialog ( ĊĠĠĠ Ġval Ġproject : ĠProject , ĊĠĠĠ Ġval Ġmsg : ĠString , ĊĠĠĠ Ġval Ġapk File : ĠFile , ĊĠĠĠ Ġval Ġerror Type : ĠInt Ġ= ĠERROR _ UNK OWN , ĊĠĠĠ Ġval Ġa apt Path : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĊĠĠĠ ĠDialog Wrapper ( project ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDIALOG _ HEIGHT Ġ= Ġ 3 5 0 ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDIALOG _ WIDTH Ġ= Ġ 5 8 0 ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠERROR _ NOT _ A _ AP K Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠERROR _ USER _ NOT _ OK Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠERROR _ AP K _ VERSION _ DOWN Ġ= Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠERROR _ AP K _ IN CON SIST ENT _ CER TIF IC ATES Ġ= Ġ 3 ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠERROR _ UNK OWN Ġ= Ġ 4 ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġshow Install Fail Dialog ( project : ĠProject , Ġmsg : ĠString , Ġapk File : ĠFile , Ġerror Type : ĠInt , Ġa apt Path : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshow Dialog Ġ= ĠShow Re Install Dialog ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmsg , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapk File , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa apt Path ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Install A pk Action . enable Voice Map . get OrDefault ( project . basePath !! , Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSound Utils . say (" å®īè£ħ å¤±è´¥ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dialog . window . is Always On Top Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApplication Manager . getApplication (). invoke Later Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Dialog . show AndGet () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlateinit Ġvar Ġdialog Content Panel : ĠJPanel ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġinit Content Panel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Content Panel () Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" å®īè£ħ A pk å¤±è´¥ " ĊĠĠĠĠĠĠĠ Ġdialog Content Panel Ġ= ĠJPanel () ĊĠĠĠĠĠĠĠ Ġdialog Content Panel . border Ġ= ĠBorder Factory . create Empty Border ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCoordinate Utils . DEFAULT _ BORDER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCoordinate Utils . DEFAULT _ BORDER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCoordinate Utils . DEFAULT _ BORDER , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCoordinate Utils . DEFAULT _ BORDER ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠJ Component Utils . setSize ( dialog Content Panel , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDIALOG _ WIDTH , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDIALOG _ HEIGHT ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġdialog Content Panel . layout Ġ= ĠBox Layout ( dialog Content Panel , ĠBox Layout . Y _ AXIS ) ĊĠĠĠĠĠĠĠ Ġcontent Panel . add ( dialog Content Panel ) ĊĠĠĠĠĠĠĠ Ġadd Button () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Center Panel (): ĠJ Component ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdialog Content Panel ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Actions (): ĠArray < Action > Ġ= Ġempty Array () ĊĊĠĠĠ Ġprivate Ġfun Ġadd Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcreate Label : ĠJ Component ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġconfirm Button : ĠJButton ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġif Ġ( msg Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Label Ġ= Ġcreate Label ( msg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġcancel Text Ġ= Ġget Btn Text (" çŁ¥éģĵ äºĨ ") ĊĠĠĠĠĠĠĠ Ġval Ġcancel Btn Ġ= ĠJButton ( cancel Text ) ĊĠĠĠĠĠĠĠ Ġcancel Btn . addActionListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose ( 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġstring Width Ġ= Ġ 1 8 0 ĊĊĠĠĠĠĠĠĠ Ġif Ġ( create Label Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġhorizontal Box Ġ= ĠBox . create Horizontal Box () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Box . add ( Box . create Horizontal Gl ue ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Box . add ( create Label ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Box . add ( Box . create Horizontal Gl ue ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Content Panel . add ( horizontal Box ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Content Panel . add ( Box . create Vertical Gl ue ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġbutton Box Ġ= ĠBox . create Horizontal Box () ĊĠĠĠĠĠĠĠ Ġbutton Box . add ( Box . create Horizontal Gl ue ()) ĊĠĠĠĠĠĠĠ Ġbutton Box . add ( cancel Btn ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( error Type Ġ== ĠERROR _ AP K _ VERSION _ DOWN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġerror Type Ġ== ĠERROR _ UNK OWN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġerror Type Ġ== ĠERROR _ AP K _ IN CON SIST ENT _ CER TIF IC ATES ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ|| Ġerror Type Ġ== ĠERROR _ USER _ NOT _ OK ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġpkg Name Str : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! a apt Path . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpkg Name Data Ġ= ĠShell Helper . exec Command ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa apt Path . replace ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\\ Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ+ Ġ" Ġdump Ġbad ging Ġ'" Ġ+ Ġapk File . absolute Path Ġ+ Ġ"' Ġ| Ġgrep Ġpackage Ġ| Ġawk Ġ- F Ġ' version Code =' Ġ'{ print \$ 1 }' Ġ| Ġawk Ġ- F Ġ' name =' Ġ'{ print \$ 2 }' Ġ| Ġawk Ġ'{ print Ġsubstr (\ $ 1 , Ġ 2 )} ' Ġ| Ġawk Ġ'{ sub ( /. \ $/, \"\ ")} 1 '" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpkg Name Str Ġ= ĠString ( pkg Name Data . result Bytes ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" èİ·åıĸ åĮħ åĲį å¤±è´¥ , Ġa apt : Ġ" Ġ+ Ġa apt Path Ġ+ Ġ", Ġapk : Ġ" Ġ+ Ġapk File . absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbtn Text Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! pkg Name Str . isNull OrEmpty () Ġ&& Ġ( error Type Ġ== ĠERROR _ AP K _ VERSION _ DOWN Ġ|| Ġerror Type Ġ== ĠERROR _ AP K _ IN CON SIST ENT _ CER TIF IC ATES )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" åį ¸ è½½ åĲİ å®īè£ħ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" éĩįæĸ° å®īè£ħ " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm Button Ġ= ĠJButton ( get Btn Text ( btn Text )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Box . add ( Box . create Horizontal Str ut ( Coordinate Utils . DEFAULT _ BORDER )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Box . add ( confirm Button ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfirm Button . add Mouse Listener ( object Ġ: ĠMouse Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġmouse Clicked ( e : ĠMouseEvent ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . mouse Clicked ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThread Utils . submit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! pkg Name Str . isNull OrEmpty () Ġ&& Ġ( error Type Ġ== ĠERROR _ AP K _ VERSION _ DOWN Ġ|| Ġerror Type Ġ== ĠERROR _ AP K _ IN CON SIST ENT _ CER TIF IC ATES )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShell Helper . exec Command (" adb Ġuninstall Ġ$ pkg Name Str ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠInstall A pk Action . install A pk File ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapk File , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa apt Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclose ( 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcancel Btn ?. maximum Size Ġ= ĠDimension ( string Width , Ġ 3 8 ) ĊĠĠĠĠĠĠĠ Ġcancel Btn ?. preferred Size Ġ= ĠDimension ( string Width , Ġ 3 8 ) ĊĠĠĠĠĠĠĠ Ġcancel Btn ?. minimum Size Ġ= ĠDimension ( string Width , Ġ 3 8 ) ĊĠĠĠĠĠĠĠ Ġconfirm Button ?. maximum Size Ġ= ĠDimension ( string Width , Ġ 3 8 ) ĊĠĠĠĠĠĠĠ Ġconfirm Button ?. preferred Size Ġ= ĠDimension ( string Width , Ġ 3 8 ) ĊĠĠĠĠĠĠĠ Ġconfirm Button ?. minimum Size Ġ= ĠDimension ( string Width , Ġ 3 8 ) ĊĊĠĠĠĠĠĠĠ Ġbutton Box . add ( Box . create Horizontal Gl ue ()) ĊĠĠĠĠĠĠĠ Ġdialog Content Panel . add ( button Box ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Btn Text ( btn Txt : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ Ġ"< html >< body Ġstyle =' text - align : center ; font - size : 1 2 px ;'> $ btn Txt </ body ></ html >" ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Label ( text : ĠString ): ĠJ Component Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠjLabel Ġ= ĠJLabel ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"< html >< body Ġstyle =' text - align : center ; font - size : 1 3 px ;'> ${ text . replace ("\ n ", Ġ"< br >") }</ body ></ html >", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJLabel . CENTER ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠjLabel . maximum Size Ġ= ĠDimension ( DIALOG _ WIDTH Ġ- ĠCoordinate Utils . DEFAULT _ BORDER , Ġ 1 0 0 8 6 ) ĊĠĠĠĠĠĠĠ ĠjLabel . minimum Size Ġ= ĠDimension ( DIALOG _ WIDTH Ġ- ĠCoordinate Utils . DEFAULT _ BORDER , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġreturn ĠjLabel ĊĠĠĠ Ġ} Ċ } Ċ