diff options
Diffstat (limited to 'src/clojure/io/cons/carddav_sync/authenticator_activity.clj')
-rw-r--r-- | src/clojure/io/cons/carddav_sync/authenticator_activity.clj | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/src/clojure/io/cons/carddav_sync/authenticator_activity.clj b/src/clojure/io/cons/carddav_sync/authenticator_activity.clj index 8956b26..1c8535a 100644 --- a/src/clojure/io/cons/carddav_sync/authenticator_activity.clj +++ b/src/clojure/io/cons/carddav_sync/authenticator_activity.clj @@ -1,5 +1,6 @@ (ns io.cons.carddav_sync.authenticator_activity - (:use [neko.activity :only [defactivity set-content-view!]] + (:use io.cons.carddav_sync.log + [neko.activity :only [defactivity set-content-view!]] [neko.resource :only [get-resource]] [neko.threading :only [on-ui]] [neko.ui :only [make-ui]] @@ -10,6 +11,32 @@ :extends android.app.Activity :exposes-methods {onCreate superOnCreate})) +(gen-class + :name io.cons.carddav_sync.login_task + :extends android.os.AsyncTask + :prefix "login-") + +(defn login-onPreExecute + [this] + (log-i "onPreExecute")) + +(defn login-doInBackground + [this args] + (let [[user password url] args] + (log-i (str "doInBackground " user " " password " " url)))) + +(declare ^android.widget.EditText user) +(declare ^android.widget.EditText password) +(declare ^android.widget.EditText url) + +(defn login + [_] + (let [user (.toString (.getText user)) + password (.toString (.getText password)) + url (.toString (.getText url))] + (.execute (io.cons.carddav_sync.login_task.) + (into-array Object [user password url])))) + (defelement :frame-layout :classname android.widget.FrameLayout :inherits :view-group) @@ -25,13 +52,18 @@ (set-content-view! this (make-ui [:scroll-view {} [:linear-layout {:orientation :vertical} - [:edit-text {:hint (get-resource :string :prompt-user)}] - [:edit-text {:hint (get-resource :string :prompt-password) + [:edit-text {:def 'io.cons.carddav_sync.authenticator_activity/user + :hint (get-resource :string :prompt-user)}] + [:edit-text {:def 'io.cons.carddav_sync.authenticator_activity/password + :hint (get-resource :string :prompt-password) :input-type (bit-or InputType/TYPE_CLASS_TEXT InputType/TYPE_TEXT_VARIATION_PASSWORD)}] - [:edit-text {:hint (get-resource :string :prompt-url) + [:edit-text {:def 'io.cons.carddav_sync.authenticator_activity/url + :hint (get-resource :string :prompt-url) :input-type (bit-or InputType/TYPE_CLASS_TEXT InputType/TYPE_TEXT_VARIATION_URI)}] + [:button {:text (get-resource :string :button-sign-in) + :on-click login}] ]])))) |