summaryrefslogtreecommitdiff
path: root/src/java/io/cons/carddav_sync/SplashActivity.java
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/java/io/cons/carddav_sync/SplashActivity.java
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/java/io/cons/carddav_sync/SplashActivity.java')
-rw-r--r--src/java/io/cons/carddav_sync/SplashActivity.java16
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();
}