Ċ package Ġcom . example . user . my application Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Floating ActionButton Ċ import Ġandroid . support . design . widget . Snackbar Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Toolbar Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . widget . TextView Ċ Ċ import Ġcom . john hold sw orth . swift bindings . Swift Hello Binding . Listener Ċ import Ġcom . john hold sw orth . swift bindings . Swift Hello Binding . Responder Ċ Ċ import Ġcom . john hold sw orth . swift bindings . Swift Hello Types . Text Listener Ċ import Ġcom . john hold sw orth . swift bindings . Swift Hello Types . Listener Map Ċ import Ġcom . john hold sw orth . swift bindings . Swift Hello Types . Listener Map List Ċ import Ġcom . john hold sw orth . swift bindings . Swift Hello Types . String Map Ċ import Ġcom . john hold sw orth . swift bindings . Swift Hello Types . String Map List Ċ Ċ import Ġcom . john hold sw orth . swift bindings . Swift Hello Test . Test Listener Ċ import Ġcom . john hold sw orth . swift bindings . Swift Hello Test . Swift Test Listener Ċ Ċ import Ġjava . io .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity (), ĠRes pon der Ġ{ ĊĊĠĠĠ Ġ/** ĠImplemented Ġin Ġsrc / main / swift / Sources / main . swift Ġ**/ ĊĠĠĠ Ġinternal Ġexternal Ġfun Ġbind ( self : ĠRes pon der ): ĠListener ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĠĠĠĠĠĠĠ Ġval Ġtoolbar Ġ= ĠfindViewById ( R . id . toolbar ) Ġas ĠToolbar ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġval Ġfab Ġ= ĠfindViewById ( R . id . fab ) Ġas ĠFloating ActionButton ĊĠĠĠĠĠĠĠ Ġfab . setOnClickListener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view , Ġ" Replace Ġwith Ġyour Ġown Ġaction ", ĠSn ackbar . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction (" Action ", Ġnull ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠThread () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Native Dependencies () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener Ġ= Ġbind ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠSwift App . shared Application . getApplicationContext () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcache Dir Ġ= Ġcontext ?. getCache Dir ()?. getPath () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpem file Ġ= Ġcache Dir Ġ+ Ġ"/ cac ert . pem " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpem Stream Ġ= ĠSwift App . shared Application . getResources ()?. open Raw Resource ( R . raw . cac ert ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcopy Resource ( pem Stream , Ġpem file ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . set Cache Dir ( cacheDir ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbasic Tests ( 1 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . process Text (" World ") ĊĠĠĠĠĠĠĠ Ġ}. start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbasic Tests ( reps : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. reps ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . throw Exception () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println (" **** ĠGot ĠSwift ĠException Ġ**** ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. reps ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . process String Map ( String Map ( hash Map Of (" hello " Ġto Ġ" world "))) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . process String Map List ( String Map List ( hash Map Of ((" hello " Ġto ĠArray ( 1 , Ġ{ Ġ" world " Ġ})) ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtester Ġ= Ġlistener . test Responder ( 2 ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. reps ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSwift Test Listener (). respond ( tester ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcopy Resource (` in `: ĠInputStream ?, Ġto : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġout Ġ= ĠFileOutputStream ( to ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ` in ` ?. copy To ( out ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ` in ` ?. close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . close () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . out . println ("" Ġ+ Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġmenu ; Ġthis Ġadds Ġitems Ġto Ġthe Ġaction Ġbar Ġif Ġit Ġis Ġpresent . ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . menu _ main , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠHandle Ġaction Ġbar Ġitem Ġclicks Ġhere . ĠThe Ġaction Ġbar Ġwill ĊĠĠĠĠĠĠĠ Ġ// Ġautomatically Ġhandle Ġclicks Ġon Ġthe ĠHome / Up Ġbutton , Ġso Ġlong ĊĠĠĠĠĠĠĠ Ġ// Ġas Ġyou Ġspecify Ġa Ġparent Ġactivity Ġin ĠAndroid Manifest . xml . ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġitem . itemId ĊĊĊĠĠĠĠĠĠĠ Ġif Ġ( id Ġ== ĠR . id . action _ settings ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocessed Number ( number : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmy Text Ġ= ĠfindViewById ( R . id . my text ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġmy Text . text Ġ= Ġ" Result Ġof Ġswift Ġreturn 4 2 () Ġfunction Ġis Ġ" Ġ+ Ġnumber ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocessed Text ( text : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun On Ui Thread Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmy Text Ġ= ĠfindViewById ( R . id . my text ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmy Text . text Ġ= Ġ" Processed Ġtext : Ġ" Ġ+ Ġtext ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocessed Text Listener ( text : ĠText Listener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprocessed Text ( Ġtext . getText () Ġ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocessed Text Listener Array ( text : ĠArray < out ĠText Listener > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġprocessed Text ( Ġtext ! ![ 0 ]. getText () Ġ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocessed Text Listener 2 d Array ( text : ĠArray < out ĠArray < Text Listener >> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġprocessed Text ( Ġtext ! ![ 0 ][ 0 ]. getText () Ġ); ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Map ( map : ĠListener Map ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġlistener . processed Map ( Ġmap Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocess Map List ( map : ĠListener Map List ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġlistener . processed Map List ( Ġmap Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocessed String Map ( map : ĠString Map ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem . out . println (" String Map List : Ġ"+ map !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprocessed String Map List ( map : ĠString Map List ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem . out . println (" String Map : Ġ"+ map !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġthrow Exception (): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠException (" Java Ġtest Ġexception ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdebug ( msg : ĠString ): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem . out . println (" Swift : Ġ" Ġ+ Ġmsg ) ĊĠĠĠĠĠĠĠ Ġreturn ĠarrayOf (" !" Ġ+ Ġmsg , Ġmsg Ġ+ Ġ" !") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon MainThread ( run nable : ĠRunnable ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun On Ui Thread ( run nable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġtest Responder ( loop back : ĠInt ): ĠTest Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Ġ= ĠSwift Test Listener () ĊĠĠĠĠĠĠĠ Ġif Ġ( Ġloop back Ġ> Ġ 0 Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest . set Loop back ( Ġlistener . test Responder ( loop back Ġ- Ġ 1 Ġ) Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtest ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġinternal Ġlateinit Ġvar Ġlistener : ĠListener ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġload Native Dependencies () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLoad Ġlibraries ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . load Library (" sw if the l lo ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ