package Ġio . sentry . samples . android Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġio . sentry . S entry Ċ import Ġio . sentry . Span Status Ċ import Ġio . sentry . samples . android . databinding . Activity Second Binding Ċ import Ġretrofit 2 . Call Ċ import Ġretrofit 2 . Callback Ċ import Ġretrofit 2 . Response Ċ Ċ class ĠSecond Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrepos : ĠList < Repo > ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Second Binding ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġactive Span Ġ= ĠS entry . get Span () ĊĠĠĠĠĠĠĠ Ġval Ġspan Ġ= Ġactive Span ?. start Child (" onCreate ", Ġjava Class . simple Name ) ĊĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Second Binding . inflate ( layout Inflater ) ĊĊĠĠĠĠĠĠĠ Ġbinding . do Request . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Repos () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . back Main . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠMainActivity :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġdo Ġsome Ġstuff ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ Ġspan ?. finish ( Span Status . OK ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Text ( visible : ĠBoolean Ġ= Ġtrue , Ġtext : ĠString Ġ= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . text . text Ġ= Ġif Ġ( visible ) Ġtext Ġelse Ġ"" ĊĠĠĠĠĠĠĠ Ġbinding . text . visibility Ġ= Ġif Ġ( visible ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġbinding . in determinate Bar . visibility Ġ= Ġif Ġ( visible ) ĠView . GONE Ġelse ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠĠĠĠĠ Ġval Ġspan Ġ= ĠS entry . get Span ()?. start Child (" on Resume ", Ġjava Class . simple Name ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġdo Ġsome Ġstuff ĊĊĠĠĠĠĠĠĠ Ġupdate Repos () ĊĊĠĠĠĠĠĠĠ Ġ// Ġdo Ġsome Ġstuff ĊĊĠĠĠĠĠĠĠ Ġspan ?. finish ( Span Status . OK ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Repos () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Text ( false ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcurrent Span Ġ= ĠS entry . get Span () ĊĠĠĠĠĠĠĠ Ġval Ġspan Ġ= Ġcurrent Span ?. start Child (" update Repos ", Ġjava Class . simple Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠS entry . start Transaction (" update Repos ", Ġ" task ") ĊĊĠĠĠĠĠĠĠ ĠGithub API . service . list Repos ( binding . edit Repo . text . toString ()). enqueue ( object Ġ: ĠCallback < List < Repo >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( call : ĠCall < List < Repo >> ?, Ġt : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan . finish ( Span Status . INTERNAL _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠS entry . capture Exception ( t ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Text ( true , Ġ" error : Ġ${ t . message }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠI Ġopt Ġout Ġenable Activity Lifecycle Tracing Auto Finish Ġso ĠI Ġknow Ġbest Ġwhen Ġto Ġend Ġmy Ġtransaction ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbe Ġsure Ġto Ġfinish Ġall Ġyour Ġspans Ġbefore Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= ĠS entry . get Span () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction ?. finish ( Span Status . INTERNAL _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( call : ĠCall < List < Repo >>, Ġresponse : ĠResponse < List < Repo >>) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepos Ġ= Ġresponse . body () Ġ?: Ġempty List () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspan . finish ( Span Status . OK ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Text ( text Ġ= Ġ" items : Ġ${ repos . size }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠI Ġopt Ġout Ġenable Activity Lifecycle Tracing Auto Finish Ġso ĠI Ġknow Ġbest Ġwhen Ġto Ġend Ġmy Ġtransaction ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġbe Ġsure Ġto Ġfinish Ġall Ġyour Ġspans Ġbefore Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= ĠS entry . get Span () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction ?. finish ( Span Status . OK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ