From e9cf8195c63e25dbefdb6aec5a9b6d912f070a92 Mon Sep 17 00:00:00 2001 From: David Barksdale Date: Wed, 4 Sep 2013 22:15:37 -0500 Subject: Add "Sign in" button with AsyncTask doing the work. --- res/values/strings.xml | 1 + .../cons/carddav_sync/authenticator_activity.clj | 40 +++++++++++++++++++--- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index c915956..703c511 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -5,5 +5,6 @@ User Password URL + Sign in 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}] ]])))) -- cgit v1.2.3-18-g5258