package com.evancharlton.mileage; import android.app.Activity; import android.app.TabActivity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.Window; import android.widget.TabHost; import android.widget.TabHost.TabSpec; public class Mileage extends TabActivity { public static final String EXTRA_IGNORE_STATE = "ignore-state"; public static final String PACKAGE = "com.evancharlton.mileage"; private TabHost m_tabHost; private static final int MENU_SETTINGS = Menu.FIRST; private static final int MENU_IMPORT_EXPORT = Menu.FIRST + 1; private static final int MENU_VEHICLES = Menu.FIRST + 2; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.tabs); m_tabHost = getTabHost(); addFillUpTab(); addHistoryTab(); addStatisticsTab(); setCurrentTab(getIntent()); } private void addFillUpTab() { Intent i = new Intent(); i.setClass(Mileage.this, AddFillUpView.class); TabSpec spec = m_tabHost.newTabSpec("fillup"); spec.setIndicator(getString(R.string.fillup), getResources().getDrawable(R.drawable.gaspump_i)); spec.setContent(i); m_tabHost.addTab(spec); } private void addHistoryTab() { Intent i = new Intent(); i.setClass(Mileage.this, HistoryView.class); TabSpec spec = m_tabHost.newTabSpec("fillup"); spec.setIndicator(getString(R.string.fillup_history), getResources().getDrawable(R.drawable.history_i)); spec.setContent(i); m_tabHost.addTab(spec); } private void addStatisticsTab() { Intent i = new Intent(); i.setClass(Mileage.this, StatisticsView.class); TabSpec spec = m_tabHost.newTabSpec("fillup"); spec.setIndicator(getString(R.string.statistics), getResources().getDrawable(R.drawable.statistics_i)); spec.setContent(i); m_tabHost.addTab(spec); } private void setCurrentTab(Intent intent) { intent.putExtra(EXTRA_IGNORE_STATE, true); if (intent.getComponent().getClassName().equals(getClass().getName())) { m_tabHost.setCurrentTab(0); } intent.putExtra(EXTRA_IGNORE_STATE, false); } public static void createMenu(Menu menu) { menu.add(Menu.NONE, MENU_VEHICLES, Menu.NONE, R.string.vehicles).setShortcut('1', 'v').setIcon(R.drawable.vehicles_i); menu.add(Menu.NONE, MENU_SETTINGS, Menu.NONE, R.string.settings).setShortcut('2', 'e').setIcon(R.drawable.ic_menu_preferences); menu.add(Menu.NONE, MENU_IMPORT_EXPORT, Menu.NONE, R.string.import_export).setShortcut('3', 'i').setIcon(R.drawable.importexport_i); } public static boolean parseMenuItem(MenuItem item, Activity base) { Intent i = new Intent(); switch (item.getItemId()) { case MENU_VEHICLES: i.setClass(base, VehiclesView.class); base.startActivity(i); return true; case MENU_SETTINGS: i.setClass(base, SettingsView.class); base.startActivity(i); return true; case MENU_IMPORT_EXPORT: i.setClass(base, ImportExportView.class); base.startActivity(i); return true; } return false; } }