package com.android_mvc.sample_project.controller;
import android.content.Intent;
import com.android_mvc.sample_project.activities.func_db.DBEditActivity;
import com.android_mvc.sample_project.activities.func_db.DBListActivity;
import com.android_mvc.sample_project.activities.func_db.SampleTabHostActivity;
import com.android_mvc.sample_project.activities.func_html.SampleHtmlActivity;
import com.android_mvc.sample_project.activities.func_html.SampleJQueryMobileActivity;
import com.android_mvc.sample_project.activities.func_map.SampleMapActivity;
import com.android_mvc.sample_project.activities.func_visual.SampleAnimationActivity;
import com.android_mvc.sample_project.activities.installation.InstallAppActivity;
import com.android_mvc.sample_project.activities.installation.InstallCompletedActivity;
import com.android_mvc.sample_project.activities.main.TopActivity;
import com.android_mvc.framework.controller.BaseController;
import com.android_mvc.framework.controller.routing.Router;
import com.android_mvc.framework.controller.routing.RoutingTable;
/**
* メイン系画面のコントローラ。
* @author id:language_and_engineering
*
*/
public class MainController extends BaseController
{
// 遷移元となるActivityごとに,submit()をオーバーロードする。
/**
* インストール画面からの遷移時
*/
public static void submit(InstallAppActivity installAppActivity, boolean installExecutedFlag)
{
// インストールをスキップしたかどうか
if( installExecutedFlag )
{
// インストール完了画面へ
Router.go(installAppActivity, InstallCompletedActivity.class);
}
else
{
// トップ画面へ
Router.go(installAppActivity, TopActivity.class);
}
}
/**
* インストール完了画面からの遷移時
*/
public static void submit(InstallCompletedActivity activity) {
// トップ画面へ
Router.go(activity, TopActivity.class);
}
/**
* TOP画面からの遷移時
*/
public static void submit(TopActivity activity, String button_type) {
// 送られてきたボタンタイプに応じて,遷移先を振り分ける。
// extra付きの遷移を実行
if( "EDIT_DB".equals(button_type) )
{
Router.goWithData(activity, DBEditActivity.class, "DB編集画面へ",
new Intent().putExtra("hoge", "Intentで値を渡すテスト").putExtra("fuga", 1)
);
}
else
{
// extraのない遷移を実行
Router.goByRoutingTable(activity, button_type,
new RoutingTable()
.map("VIEW_DB", DBListActivity.class, "DB一覧画面へ")
.map("TAB_SAMPLE", SampleTabHostActivity.class, "タブ画面へ")
.map("MAP_SAMPLE", SampleMapActivity.class, "マップ画面へ")
.map("HTML_SAMPLE", SampleHtmlActivity.class, "HTMLのサンプル画面へ")
.map("JQUERY_SAMPLE", SampleJQueryMobileActivity.class, "jQuery Mobileのサンプル画面へ")
.map("ANIM_SAMPLE", SampleAnimationActivity.class, "アニメーションのサンプル画面へ")
);
}
/*
NOTE: 下記のように書くのと同じ。
if( "VIEW_DB".equals(button_type) )
{
// 一覧画面へ
Router.go(activity, DBListActivity.class);
}
if( "TAB_SAMPLE".equals(button_type) )
{
// タブ画面へ
Router.go(activity, SampleTabHostActivity.class);
}
if( "MAP_SAMPLE".equals(button_type) )
{
// マップ画面へ
Router.go(activity, SampleMapActivity.class);
}
if( "HTML_SAMPLE".equals(button_type) )
{
// HTMLのサンプル画面へ
Router.go(activity, SampleHtmlActivity.class);
}
if( "JQUERY_SAMPLE".equals(button_type) )
{
// jQuery Mobileのサンプル画面へ
Router.go(activity, SampleJQueryMobileActivity.class);
}
if( "ANIM_SAMPLE".equals(button_type) )
{
// アニメーションのサンプル画面へ
Router.go(activity, SampleAnimationActivity.class);
}
*/
}
}