package Ġm ings in . and or id kotlin . view Ċ Ċ import Ġandroid . databinding . Data Binding Util Ċ import Ġandroid . os . Bundle Ċ import Ġcom . or h ano but . logger . Logger Ċ import Ġm ings in . and or id kotlin . R Ċ import Ġm ings in . and or id kotlin . data . ApiService Ċ import Ġm ings in . and or id kotlin . databinding . Activity Main Binding Ċ import Ġm ings in . and or id kotlin . view model . Main ViewModel Ċ import Ġrx . android . schedul ers . Android Schedulers Ċ import Ġrx . schedul ers . Schedulers Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMainActivity Ġ: ĠBase Activity () Ġ{ ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġmain ViewModel : ĠMain ViewModel ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠData Binding Util . set ContentView < Activity Main Binding >( this , ĠR . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġbinding . hello Ġ= Ġmain ViewModel ĊĠĠĠĠĠĠĠ Ġmain ViewModel . text . value Ġ= Ġ" Google ĠSearch er !! " ĊĠĠĠĠĠĠĠ Ġval Ġapi Service Ġ= Ġm RestApi . create Ret rofit (). create ( ApiService :: class . java ) ĊĠĠĠĠĠĠĠ Ġrequest Ip ( api Service ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrequest Ip ( api Service : ĠApi Service ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapi Service . get Ip () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġ// onNext ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . i ( it . origin ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) Ġ{ Ġ// ĠonError ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLogger . e ( it , Ġit . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Inject () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Component . inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĊĠĠĠ Ġ} Ċ } Ċ