package mil.nga.giat.asam;
import mil.nga.giat.asam.map.AllAsamsMapActivity;
import mil.nga.giat.asam.map.SubregionMapActivity;
import mil.nga.giat.asam.util.AsamConstants;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
public class LaunchScreenActivity extends ActionBarActivity {
private View.OnClickListener mAllAsamsListener;
private View.OnClickListener mSubregionsListener;
private View.OnClickListener mTextQueryListener;
private View.OnClickListener mSettingsListener;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.launch_screen);
GridView mainGrid = (GridView)findViewById(R.id.launch_screen_grid_view_ui);
mainGrid.setAdapter(new ImageAdapter(this));
mAllAsamsListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
allAsamsButtonClicked(view);
}
};
mSubregionsListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
subregionsButtonClicked(view);
}
};
mTextQueryListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
textQueryButtonClicked(view);
}
};
mSettingsListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
settingsButtonClicked(view);
}
};
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.launch_screen_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int itemId = item.getItemId();
if (itemId == R.id.launch_screen_menu_information_ui) {
Intent intent = new Intent(this, InfoActivity.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
public void allAsamsButtonClicked(View view) {
Intent intent = new Intent(this, AllAsamsMapActivity.class);
startActivity(intent);
}
public void subregionsButtonClicked(View view) {
Intent intent = new Intent(this, SubregionMapActivity.class);
intent.putExtra(AsamConstants.SUBREGION_MAP_EXPECTING_RESULT_CODE_KEY, false);
startActivity(intent);
}
public void textQueryButtonClicked(View view) {
Intent intent = new Intent(this, TextQueryActivity.class);
startActivity(intent);
}
public void settingsButtonClicked(View view) {
Intent intent = new Intent(this, PreferencesActivity.class);
startActivity(intent);
}
private class ImageAdapter extends BaseAdapter {
private static final int NUM_BUTTONS = 4;
private static final int ALL_ASAMS_BUTTON_POSITION = 0;
private static final int SUBREGIONS_BUTTON_POSITION = 1;
private static final int TEXT_QUERY_BUTTON_POSITION = 2;
private static final int SETTINGS_BUTTON_POSITION = 3;
private Context mContext;
ImageAdapter(Context context) {
mContext = context;
}
@Override
public int getCount() {
return NUM_BUTTONS;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = getLayoutInflater().inflate(R.layout.launch_screen_button, null);
TextView labelUI = (TextView)view.findViewById(R.id.launch_screen_button_icon_label_ui);
ImageView iconUI = (ImageView)view.findViewById(R.id.launch_screen_button_icon_ui);
switch (position) {
case ALL_ASAMS_BUTTON_POSITION:
labelUI.setText(mContext.getString(R.string.launch_screen_all_asams_label_text));
iconUI.setContentDescription(mContext.getString(R.string.launch_screen_all_asams_label_text));
iconUI.setImageResource(R.drawable.ic_mapview);
iconUI.setOnClickListener(mAllAsamsListener);
break;
case SUBREGIONS_BUTTON_POSITION:
labelUI.setText(mContext.getString(R.string.launch_screen_subregions_label_text));
iconUI.setContentDescription(mContext.getString(R.string.launch_screen_subregions_label_text));
iconUI.setImageResource(R.drawable.ic_subregion);
iconUI.setOnClickListener(mSubregionsListener);
break;
case TEXT_QUERY_BUTTON_POSITION:
labelUI.setText(mContext.getString(R.string.launch_screen_text_query_label_text));
iconUI.setContentDescription(mContext.getString(R.string.launch_screen_text_query_label_text));
iconUI.setImageResource(R.drawable.ic_query);
iconUI.setOnClickListener(mTextQueryListener);
break;
case SETTINGS_BUTTON_POSITION:
labelUI.setText(mContext.getString(R.string.launch_screen_settings_label_text));
iconUI.setContentDescription(mContext.getString(R.string.launch_screen_settings_label_text));
iconUI.setImageResource(R.drawable.ic_settings);
iconUI.setOnClickListener(mSettingsListener);
break;
}
return view;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
}
}