package Ġcom . ade matic i . r ast ge le kon um . ui . fragment Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . ade matic i . r ast ge le kon um . R Ċ import Ġcom . ade matic i . r ast ge le kon um . Maps Activity Ċ import Ġcom . ade matic i . r ast ge le kon um . databinding . Fragment Custom Binding Ċ import Ġcom . google . android . gms . ads . Ad Error Ċ import Ġcom . google . android . gms . ads . Ad Request Ċ import Ġcom . google . android . gms . ads . FullScreen Content Callback Ċ import Ġcom . google . android . gms . ads . Load Ad Error Ċ import Ġcom . google . android . gms . ads . inter stitial . Inter stitial Ad Ċ import Ġcom . google . android . gms . ads . inter stitial . Inter stitial Ad Load Callback Ċ import Ġjava . lang . Number FormatException Ċ Ċ class ĠCustom Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠFragment Custom Binding ĊĠĠĠ Ġprivate Ġvar Ġlatitude : ĠDouble ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġlongitude : ĠDouble ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm Inter stitial Ad : ĠInter stitial Ad ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Custom Binding . inflate ( layout Inflater , container , false ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĊĠĠĠĠĠĠĠ Ġval Ġad Request Ġ= ĠAd Request . Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġload Ads ( ad Request ) ĊĊĠĠĠĠĠĠĠ Ġbinding . button Go Location . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif (( binding . edit Text Latitude . text . toString (). toDouble () Ġ<= Ġ 8 5 . 0 Ġ&& Ġbinding . edit Text Latitude . text . toString (). toDouble () Ġ>= Ġ- 8 5 . 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġ( binding . edit Text Longitude . text . toString (). toDouble () Ġ<= Ġ 1 8 0 . 0 Ġ&& Ġbinding . edit Text Longitude . text . toString (). toDouble () Ġ>= Ġ- 1 8 0 . 0 )){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlatitude Ġ= Ġbinding . edit Text Latitude . text . toString (). toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlongitude Ġ= Ġbinding . edit Text Longitude . text . toString (). toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Inter stitial Ad Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad ?. show ( require Activity ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( require Activity (), ĠMaps Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" info "," manual ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" no tr andom latitude ", latitude ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" no tr andom longitude ", longitude ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad ?. full Screen Content Callback Ġ= Ġobject : ĠFull Screen Content Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Dis missed FullScreen Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Ads ( ad Request ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Show FullScreen Content ( ad Error : ĠAd Error ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Ads ( ad Request ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Show ed FullScreen Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( require Activity (), ĠMaps Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" info "," manual ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" no tr andom latitude ", latitude ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra (" no tr andom longitude ", longitude ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . startActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require Activity (), " Latitude ĠRange : Ġ- 8 5 /+ 8 5 Ġ\ n Longitude ĠRange : Ġ- 1 8 0 /+ 1 8 0 ", Toast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require Activity (), " Related Ġfields Ġcannot Ġbe Ġleft Ġblank !", Toast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( require Activity (), " Please Ġenter Ġonly Ġnumber .", Toast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu , Ġinflater : ĠMenu Inflater ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu , Ġinflater ) ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . special _ menu , menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( item . itemId ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ info Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Info () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Info (){ ĊĠĠĠĠĠĠĠ Ġval Ġalert Dialog Ġ= ĠAlertDialog . Builder ( require Activity ()) ĊĠĠĠĠĠĠĠ Ġalert Dialog . setTitle (" Search ĠInformation ") ĊĠĠĠĠĠĠĠ Ġalert Dialog . setMessage ("- ĠRange s ;\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ ĠLat itude : Ġ Ġ(- 8 5 ) Ġ Ġ~ Ġ(+ 8 5 )\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ ĠLong itude : Ġ(- 1 8 0 ) Ġ~ Ġ(+ 1 8 0 )\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n " Ġ+ Ġ" ĠExample : Ġ 3 9 . 9 2 5 0 5 4 Ġ/ Ġ 3 2 . 8 3 4 7 5 5 2 \ n \ n "+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"- ĠIf Ġyou Ġtype Ġthe Ġlocation Ġcorrectly Ġand Ġpress Ġthe Ġ( Go ĠTo ĠLocation ) Ġbutton , Ġyou Ġwill Ġgo Ġto Ġthe Ġlocation Ġyou Ġentered .\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n - ĠIf Ġyou Ġare Ġpress Ġto Ġ( Go ĠTo ĠA ĠRandom ĠLocation ) Ġbutton , Ġyou Ġwill Ġgo Ġto Ġrandom Ġlocation Ġin Ġthe Ġworld ." Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"\ n \ n - ĠIf Ġyou Ġpress Ġthe Ġpointer Ġand Ġthen Ġthe Ġmap Ġicon Ġbelow , Ġyou Ġcan Ġconnect Ġto ĠGoogle ĠMaps Ġand Ġget Ġbetter Ġviews .") ĊĠĠĠĠĠĠĠ Ġalert Dialog . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Ads ( ad Request : ĠAd Request ){ ĊĠĠĠĠĠĠĠ ĠInter stitial Ad . load ( require Activity (), " ADS ĠID ", Ġad Request , Ġobject Ġ: ĠInter stitial Ad Load Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Load ( ad Error : ĠLoad Ad Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Loaded ( inter stitial Ad : ĠInter stitial Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad Ġ= Ġinter stitial Ad ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ }