package Ġcn . ka icity . common Ċ Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . runtime . setValue Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġcn . ka icity . common . bean . Input Bean Ċ import Ġcn . ka icity . common . repository . A pk Ob f Ċ import Ġcn . ka icity . common . repository . Dex Ob f Ċ import Ġcn . ka icity . common . widget . Log View Ċ import Ġcn . ka icity . common . widget . Main View Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch ĊĊ Ċ var Ġenable Ob fusc ator Ġ= Ġtrue Ċ Ċ @ Composable Ċ fun ĠApp Main () Ġ{ ĊĠĠĠ Ġvar Ġlog Ġby Ġremember Ġ{ Ġmutable State Of ("") Ġ} ĊĊĊĠĠĠ Ġval Ġlog Callback Ġ= Ġ{ Ġit : ĠString Ġ-> ĊĠĠĠĠĠĠĠ Ġlog Ġ= Ġ"$ log \ n $ it " ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠRow ( modifier Ġ= ĠModifier . fill Max Width (). background ( Color . White )) Ġ{ ĊĠĠĠĠĠĠĠ ĠMain View ( modifier Ġ= ĠModifier . weight ( 0 . 5 F )) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! enable Ob fusc ator ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog Ġ+= Ġ"\ n There Ġare Ġtasks Ġrunning " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ Main View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . input . endsWith (". dex ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog Ġ= Ġ" Start ĠO bf usc ator ĠDex " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġob f Dex ( it , Ġlog Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( it . input . endsWith (". apk ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog Ġ= Ġ" Start ĠO bf usc ator ĠA pk " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġob fA pk ( it , Ġlog Callback ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog Ġ= Ġ" Only Ġsupport ĠDex Ġor ĠA pk " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠLog View ( modifier Ġ= ĠModifier . weight ( 0 . 5 F ), Ġlog ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ private Ġfun Ġob f Dex ( input Bean : ĠInput Bean , Ġlog Callback : Ġ( log : ĠString ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Ob fusc ator Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDex Ob f . run ( input Bean , Ġlog Callback ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Callback . invoke (" Ob fusc ator ĠDex ĠFail ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Callback . invoke ( e . message Ġ?: Ġ"") ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Ob fusc ator Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun Ġob fA pk ( input Bean : ĠInput Bean , Ġlog Callback : Ġ( log : ĠString ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠGlobal Scope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Ob fusc ator Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠA pk Ob f . run ( input Bean , Ġlog Callback ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Ob fusc ator Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ