diff options
author | David Barksdale <amatus@amatus.name> | 2013-09-01 14:38:54 -0500 |
---|---|---|
committer | David Barksdale <amatus@amatus.name> | 2013-09-01 14:38:54 -0500 |
commit | cae13d7a7968eb7fca68a6d4f7b4da7adf1f24f7 (patch) | |
tree | 5990eca8cfe227c52af5271434ec01075ceb05ed /src/java/io/cons/carddav_sync/SplashActivity.java | |
parent | 263608cc0d6642d793cc650e0a544e09f3d6815e (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/java/io/cons/carddav_sync/SplashActivity.java')
-rw-r--r-- | src/java/io/cons/carddav_sync/SplashActivity.java | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/java/io/cons/carddav_sync/SplashActivity.java b/src/java/io/cons/carddav_sync/SplashActivity.java index 9bdc24e..b6b2b84 100644 --- a/src/java/io/cons/carddav_sync/SplashActivity.java +++ b/src/java/io/cons/carddav_sync/SplashActivity.java @@ -23,12 +23,16 @@ public class SplashActivity extends Activity { public void onCreate(Bundle bundle) { super.onCreate(bundle); + Intent selector = getIntent().getSelector(); + if (selector == null) { + selector = new Intent("io.cons.carddav_sync.MAIN"); + } if (firstLaunch) { firstLaunch = false; setupSplash(); - loadClojure(); + loadClojure(selector); } else { - proceed(); + proceed(selector); } } @@ -43,12 +47,12 @@ public class SplashActivity extends Activity { circleView.startAnimation(rotation); } - public void proceed() { - startActivity(new Intent("io.cons.carddav_sync.MAIN")); + public void proceed(final Intent selector) { + startActivity(selector); finish(); } - public void loadClojure() { + public void loadClojure(final Intent selector) { new Thread(new Runnable(){ @Override public void run() { @@ -59,7 +63,7 @@ public class SplashActivity extends Activity { Var INIT = RT.var("neko.application", "init-application"); INIT.invoke(SplashActivity.this.getApplication()); - proceed(); + proceed(selector); } }).start(); } |