/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠEs ri Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . esri . arc gis runtime . sample . integr ated windows authentication Ċ Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Dialog Fragment Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . widget . Toast Ċ import Ġkotlinx . android . synt hetic . main . credential _ dialog .* Ċ import Ġkotlinx . android . synt hetic . main . credential _ dialog . view .* Ċ import Ġjava . net . URI Ċ Ċ class ĠCredential Dialog Fragment Ġ: ĠDialog Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġhostname : ĠURI ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG : ĠString Ġ= ĠCredential Dialog Fragment :: class . java . simple Name ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠARG _ HOSTNAME Ġ= Ġ"${ Credential Dialog Fragment :: class . java . simple Name }_ ARG _ HOSTNAME " ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( hostname : ĠURI ): ĠCredential Dialog Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠCredential Dialog Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġargs . put Serializable ( ARG _ HOSTNAME , Ġhostname ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġargs ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġis Cancel able Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġhostname Ġ= Ġarguments ?. get Serializable ( ARG _ HOSTNAME ) Ġas ĠURI ? ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . credential _ dialog , Ġnull ) ĊĠĠĠĠĠĠĠ Ġview . credential Hostname TextView . text Ġ= ĠgetString ( R . string . credential _ dialog _ hostname , Ġhostname ) ĊĠĠĠĠĠĠĠ Ġwith ( AlertDialog . Builder ( context )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle ( R . string . credential _ required ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset View ( view ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Positive Button ( R . string . credential _ dialog _ positive _ button _ text , Ġon Button ClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Negative Button ( R . string . credential _ dialog _ negative _ button _ text , Ġon Button ClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis . create () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġon Button ClickListener Ġ= ĠDialog Interface . OnClickListener Ġ{ Ġ_: ĠDialog Interface , Ġwhich : ĠInt Ġ-> ĊĠĠĠĠĠĠĠ Ġ( context Ġas ? ĠOn Credential Dialog Button ClickListener )?. let Ġ{ Ġlistener Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhostname ?. let Ġ{ Ġhostname Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( which Ġ== ĠDialog Interface . BUTTON _ POSITIVE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dialog . credential Username EditText . text . isNotEmpty () Ġ&& Ġdialog . credential Password EditText . text . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on SignIn Clicked ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhostname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . credential Username EditText . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . credential Password EditText . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . credential _ dialog _ error _ username _ or _ password _ are _ blank ). let Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġerror , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġerror ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . on Cancel Clicked ( hostname ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dismiss ( dialog : ĠDialog Interface ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġ( context Ġas ? ĠDialog Interface . On Dismiss Listener )?. on Dismiss ( dialog ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Credential Dialog Button ClickListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon SignIn Clicked ( uri : ĠURI , Ġusername : ĠString , Ġpassword : ĠString ) ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Cancel Clicked ( uri : ĠURI ) ĊĠĠĠ Ġ} Ċ Ċ }