package org.ruboto;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
/**
* This Activity acts as an entry point to the app. It must initialize the
* JRuby runtime before restarting its life cycle. While JRuby is initializing,
* a progress dialog is shown. If R.layout.splash is defined, by adding a
* res/layout/splash.xml file, this layout is displayed instead of the progress
* dialog.
*/
public class EntryPointActivity extends org.ruboto.RubotoActivity {
public void onCreate(Bundle bundle) {
Log.d("EntryPointActivity onCreate:");
if (JRubyAdapter.isInitialized()) {
getScriptInfo().setRubyClassName(getClass().getSimpleName());
} else {
showSplash();
finish();
}
super.onCreate(bundle);
}
private void showSplash() {
Intent splashIntent = new Intent(this, SplashActivity.class);
splashIntent.putExtra(Intent.EXTRA_INTENT, futureIntent());
startActivity(splashIntent);
}
// The Intent to to call when done. Defaults to calling this Activity again.
// Override to change.
protected Intent futureIntent() {
if (!getIntent().getAction().equals(Intent.ACTION_VIEW)) {
return new Intent(getIntent()).setAction(Intent.ACTION_VIEW);
} else {
return getIntent();
}
}
}