package Ġcom . eur on ov ate . examples . dsp ub sub soft server signature Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Button Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . content . File Provider Ċ import Ġcom . eur on ov ate . auth . model . EN Auth Config Ċ import Ġcom . eur on ov ate . bio . EN Bio Ċ import Ġcom . eur on ov ate . bio . extension . with Ċ import Ġcom . eur on ov ate . bio . model . enums . EN Signature Source Type Ċ import Ġcom . eur on ov ate . digital sign age . END ig ital Sign age Ċ import Ġcom . eur on ov ate . digital sign age . extension . with Ċ import Ġcom . eur on ov ate . digital sign age . model . END ig ital Sign age Config Ċ import Ġcom . eur on ov ate . logger . EN Logger Ċ import Ġcom . eur on ov ate . logger . extension . with Ċ import Ġcom . eur on ov ate . logger . model . EN Language Config Ċ import Ġcom . eur on ov ate . logger . model . EN Language Type Ċ import Ġcom . eur on ov ate . logger . model . EN Logger Config Ċ import Ġcom . eur on ov ate . mobile sdk . EN Mobile SDK Ċ import Ġcom . eur on ov ate . mobile sdk . callback . EN Mobile Initialization Callback Ċ import Ġcom . eur on ov ate . mobile sdk . extensions . emit Event Ċ import Ġcom . eur on ov ate . mobile sdk . model . ENC ertificate Owner Info Ċ import Ġcom . eur on ov ate . mobile sdk . model . EN Mobile SDK Response Ċ import Ġcom . eur on ov ate . mobile sdk . model . EN Mobile Sdk Config Ċ import Ġcom . eur on ov ate . mobile sdk . model . EN Network Config Ċ import Ġcom . eur on ov ate . mobile sdk . model . enums . EN EventType Ċ import Ġcom . eur on ov ate . mobile sdk . model . responses . business . document . EN Sign Document Guid DTO Ċ import Ġcom . eur on ov ate . mobile sdk . theme . EN Default Theme Ċ import Ġcom . eur on ov ate . mobile sdk . theme . with Ċ import Ġcom . eur on ov ate . mobile sdk . ui . dialog . END ialog . Companion . show Generic Error Dialog Ċ import Ġcom . eur on ov ate . pdf middleware . EN Pdf Middleware Ċ import Ġcom . eur on ov ate . pdf middleware . extension . with Ċ import Ġcom . eur on ov ate . pubsub . EN Pub Sub Ċ import Ġcom . eur on ov ate . pubsub . extension . subscribe Ċ import Ġcom . eur on ov ate . pubsub . extension . with Ċ import Ġcom . eur on ov ate . pubsub . model . EN Pub Sub Config Ċ import Ġcom . eur on ov ate . pubsub . model . enums . EN Pub Sub Channel Ċ import Ġcom . eur on ov ate . pubsub . model . enums . EN Pub SubType Ċ import Ġcom . eur on ov ate . signature box . EN Signature Box Ċ import Ġcom . eur on ov ate . signature box . extension . with Ċ import Ġcom . eur on ov ate . signature box . model . EN Signature Box Config Ċ import Ġcom . eur on ov ate . signature box . model . EN Signature Image Config Ċ import Ġcom . eur on ov ate . signature box . model . EN Signature Image Mode Config Ċ import Ġcom . eur on ov ate . signature box . model . enums . EN Signature Content Mode Ċ import Ġcom . eur on ov ate . soft server . EN Soft Server Ċ import Ġcom . eur on ov ate . soft server . extension . with Ċ import Ġcom . eur on ov ate . soft server . model . EN Soft Server Config Ċ import Ġcom . eur on ov ate . utils . preferences . EN Settings Ċ import Ġcom . eur on ov ate . utils . preferences . with Ċ import Ġcom . eur on ov ate . utils . util . EN FileUtils Ċ import Ġcom . eur on ov ate . viewer . EN Viewer Ċ import Ġcom . eur on ov ate . viewer . extension . with Ċ import Ġcom . eur on ov ate . viewer . model . EN Viewer Config Ċ import Ġcom . eur on ov ate . viewer . model . enums . EN Sign Field Placeholder Ċ import Ġcom . google . gson . Gson Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Main Scope Ċ import Ġorg . json . JSONObject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠL oren zo ĠS og li ani Ġon Ġ 1 5 / 1 2 / 2 0 1 8 Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 0 ĠE uron ov ate . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠCor outine Scope Ġby ĠMain Scope (), ĠView . OnClickListener , ĠEN Mobile Initialization Callback < String > Ġ{ ĊĠĠĠ Ġ// ĠClass Ġprivate Ġattributes Ġ***************************************************************** ************************************************ ***** ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbtn Start : ĠButton ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbtn Share Last Pdf : ĠButton ĊĠĠĠ Ġprivate Ġvar Ġinitialized Ġ= Ġfalse ĊĊĠĠĠ Ġ// ĠClass Ġpublic Ġfunctions Ġ***************************************************************** ************************************************ ******* ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġinit UI () ĊĠĠĠĠĠĠĠ Ġinit Library () ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġinit Library (){ ĊĠĠĠĠĠĠĠ ĠEN Mobile SDK . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( context Ġ= Ġapplication Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( settings Ġ= ĠEN Settings . Builder (). build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( logger Ġ= ĠEN Logger . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Logger Config ( true , EN Logger . VERBOSE )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( initialization Callback Ġ= Ġthis @ MainActivity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( auth Config Ġ= ĠE NA uth Config (" your Ġlicense Key ", Ġ" your Ġserver ĠUrl ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Mobile Sdk Config ( certificate Owner Info Ġ= ĠEN Certificate Owner Info (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Config Ġ= ĠEN Network Config ( skip SSL Ġ= Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Viewer . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Viewer Config ( sign Field Placeholder Ġ= ĠE NS ign Field Placeholder . default Placeholder ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Pdf Middleware . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Signature Box . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( signature Box Config Ġ= ĠE NS ign ature Box Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsignature Source Type Ġ= ĠE NS ign ature Source Type . Any , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsignature Image Config Ġ= ĠE NS ign ature Image Config ( use Alpha Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsignature Content Mode Ġ= ĠE NS ign ature Content Mode . keep Field Ratio , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsignature Image Mode Config Ġ= ĠE NS ign ature Image Mode Config . signature Signer Name And Timestamp ( watermark Reserved Height Ġ= Ġ 0 . 3 f )))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( pub Sub Ġ= ĠEN Pub Sub . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Pub Sub Config ( type Ġ= ĠEN Pub SubType . web Socket , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection Params Ġ= Ġ{ Ġreturn @ EN Pub Sub Config ĠPair (" wss :// demo . p ies ocket . com / v 3 / channel _ 1 ? api _ key = o Cd CM c MP Q pb v Nj UI zq tv F 1 d 2 X 2 ok Wp DQ j 4 Aw AR Ju A gt j hz Kx VE j QU 6 Id Cj wm & notify _ self "," ") Ġ})) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Bio . Builder (). build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Soft Server . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( EN Soft Server Config ( baseUrl Ġ= Ġ" your BaseUrl ", Ġ" your Ġlicense Code ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( theme Ġ= ĠEN Default Theme ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( mobile Sdk Config Ġ= ĠEN Mobile Sdk Config ( language Config Ġ= ĠEN Language Config ( selector Visible Ġ= Ġtrue , language Enabled Ġ= Ġarray ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEN Language Type . en , ĠEN Language Type . el )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ )). with ( END ig ital Sign age . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with ( digital Sign age Config Ġ= ĠEND ig ital Sign age Config ( baseUrl Ġ= Ġ" server Url ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Code Ġ= Ġ" license Key ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit UI (){ ĊĠĠĠĠĠĠĠ Ġbtn Start Ġ= ĠfindViewById ( R . id . btn Start ) ĊĠĠĠĠĠĠĠ Ġbtn Start . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġbtn Start . isEnabled Ġ= Ġinitialized ĊĊĠĠĠĠĠĠĠ Ġbtn Share Last Pdf Ġ= ĠfindViewById ( R . id . btn Share Last Pdf ) ĊĠĠĠĠĠĠĠ Ġbtn Share Last Pdf . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġbtn Share Last Pdf . isEnabled Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( v !!. id ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn Start Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( initialized ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEND ig ital Sign age . getInstance (). start () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEN Pub Sub . getInstance (). init () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEN Pub Sub . getInstance (). subscribe ( EN Pub Sub Channel . start Sign ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsign Document Guid DTO Ġ= ĠGson (). fromJson (( it Ġas ĠJSONObject ). toString (), ĠE NS ign Document Guid DTO :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEN Mobile SDK . emit Event ( EN EventType . sign Document , Ġsign Document Guid DTO . convertTo Event ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} catch ( ex : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Generic Error Dialog ( this , ex . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn Share Last Pdf ->{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Pdf Ġ= ĠEN FileUtils . getLast Modified ( cacheDir . absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( last Pdf Ġ!= Ġnull Ġ&& Ġlast Pdf . exists ()){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġemail Intent Ġ= ĠIntent ( Intent . ACTION _ SEND ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Intent . putExtra ( Intent . EXTRA _ SUBJECT , Ġ" Pdf ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Intent . putExtra ( Intent . EXTRA _ TEXT , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Intent . putExtra ( Intent . EXTRA _ STREAM , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFile Provider . get Uri For File ( this , Ġ"$ packageName . provider ", Ġlast Pdf )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Intent . setType And Normalize ( EN FileUtils . get MimeType ( last Pdf . absolute Path )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Intent . add Flags ( Intent . FLAG _ GRANT _ READ _ URI _ PERMISSION ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent . create Chooser ( email Intent , ĠgetString ( R . string . send _ with ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġdid GetResponse ( response : ĠEN Mobile SDK Response < String > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠEN Mobile SDK Response . error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠEN Mobile SDK Response . success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinitialized Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Start . isEnabled Ġ= Ġinitialized ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }