summaryrefslogtreecommitdiff
path: root/src/clojure/io/cons/carddav_sync/authenticator.clj
diff options
context:
space:
mode:
authorDavid Barksdale <amatus@amatus.name>2013-09-01 14:38:54 -0500
committerDavid Barksdale <amatus@amatus.name>2013-09-01 14:38:54 -0500
commitcae13d7a7968eb7fca68a6d4f7b4da7adf1f24f7 (patch)
tree5990eca8cfe227c52af5271434ec01075ceb05ed /src/clojure/io/cons/carddav_sync/authenticator.clj
parent263608cc0d6642d793cc650e0a544e09f3d6815e (diff)
Extend SplashActivity to launch any activity.
If authenticator_activity is started without launching the main activity, neko will not be initialized and on-ui throws an exception. So instead of starting authenticator_activity directly, ask SplashActivity to do it for us and initialize neko if it wasn't already. I'm probably abusing the Intent selector, but it seems to work.
Diffstat (limited to 'src/clojure/io/cons/carddav_sync/authenticator.clj')
-rw-r--r--src/clojure/io/cons/carddav_sync/authenticator.clj10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/clojure/io/cons/carddav_sync/authenticator.clj b/src/clojure/io/cons/carddav_sync/authenticator.clj
index c8bd349..d158494 100644
--- a/src/clojure/io/cons/carddav_sync/authenticator.clj
+++ b/src/clojure/io/cons/carddav_sync/authenticator.clj
@@ -3,7 +3,9 @@
(:import android.accounts.AccountManager
android.content.Intent
android.os.Bundle
- io.cons.carddav_sync.authenticator_activity)
+ [io.cons.carddav_sync
+ authenticator_activity
+ SplashActivity])
(:gen-class
:extends android.accounts.AbstractAccountAuthenticator
:state context
@@ -16,10 +18,12 @@
(defn -addAccount
[this response accountType authTokenType requiredFeatures options]
(log-i "addAccount")
- (let [intent (Intent. (.context this) authenticator_activity)
+ (let [selector (Intent. (.context this) authenticator_activity)
+ intent (Intent. (.context this) SplashActivity)
bundle (Bundle.)]
- (.putExtra intent AccountManager/KEY_ACCOUNT_AUTHENTICATOR_RESPONSE
+ (.putExtra selector AccountManager/KEY_ACCOUNT_AUTHENTICATOR_RESPONSE
response)
+ (.setSelector intent selector)
(.putParcelable bundle AccountManager/KEY_INTENT intent)
bundle))