package edu.fsu.cs.contextprovider.shared;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import edu.fsu.cs.contextprovider.R;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ListActivity;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.util.Log;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
public class SharedListActivity extends ListActivity {
private static final String TAG = "net.mitchtech.shared.SharedListActivity";
private static final int MENU_PREFS = Menu.FIRST;
private static final int MENU_ABOUT = Menu.FIRST + 1;
private static final int MENU_HELP = Menu.FIRST + 2;
private static final int MENU_SHARE = Menu.FIRST + 3;
private static final int MENU_CONTACT = Menu.FIRST + 4;
private static final int MENU_CHANGE_LOG = Menu.FIRST + 5;
private static final int MENU_EXIT = Menu.FIRST + 6;
private static final String MENU_TEXT_PREFS = "Prefs";
private static final String MENU_TEXT_ABOUT = "About";
private static final String MENU_TEXT_HELP = "Help";
private static final String MENU_TEXT_CONTACT = "Contact";
private static final String MENU_TEXT_SHARE = "Share";
private static final String MENU_TEXT_CHANGE_LOG = "Change Log";
private static final String MENU_TEXT_EXIT = "Exit";
//private static final int DIALOG_CHANGE_LOG = 10;
private static final int DIALOG_FIRST_TIME = 20;
private static final int DIALOG_CHANGELOG = 21;
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, MENU_PREFS, 0, MENU_TEXT_PREFS).setIcon(android.R.drawable.ic_menu_preferences);
menu.add(0, MENU_ABOUT, 0, MENU_TEXT_ABOUT).setIcon(android.R.drawable.ic_menu_info_details);
menu.add(0, MENU_HELP, 0, MENU_TEXT_HELP).setIcon(android.R.drawable.ic_menu_help);
menu.add(0, MENU_SHARE, 0, MENU_TEXT_SHARE).setIcon(android.R.drawable.ic_menu_share);
menu.add(0, MENU_CONTACT, 0, MENU_TEXT_CONTACT).setIcon(android.R.drawable.ic_menu_send);
menu.add(0, MENU_CHANGE_LOG, 0, MENU_TEXT_CHANGE_LOG).setIcon(android.R.drawable.ic_menu_agenda);
menu.add(0, MENU_EXIT, 0, MENU_TEXT_EXIT).setIcon(android.R.drawable.ic_menu_close_clear_cancel);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case MENU_PREFS:
Intent preferencesIntent = new Intent(this, edu.fsu.cs.contextprovider.shared.PrefsActivity.class);
startActivity(preferencesIntent);
return true;
case MENU_ABOUT:
Intent aboutIntent = new Intent(this, edu.fsu.cs.contextprovider.shared.AboutActivity.class);
startActivity(aboutIntent);
return true;
case MENU_HELP:
Intent helpIntent = new Intent(this, edu.fsu.cs.contextprovider.shared.HelpActivity.class);
startActivity(helpIntent);
return true;
case MENU_SHARE:
Intent shareIntent = new Intent(this, edu.fsu.cs.contextprovider.shared.HelpActivity.class);
startActivity(shareIntent);
return true;
case MENU_CONTACT:
Intent emailIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:mikmitch1@gmail.com"));
try {
startActivity(emailIntent);
} catch (ActivityNotFoundException e) {
Toast.makeText(this, R.string.error_email, Toast.LENGTH_LONG).show();
}
return true;
case MENU_CHANGE_LOG:
showDialog(DIALOG_CHANGELOG);
return true;
case MENU_EXIT:
this.finish();
return true;
}
return false;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
protected Dialog onCreateDialog(int id) {
Dialog dialog;
switch (id) {
// case DIALOG_CHANGE_LOG:
// dialog = getAboutBox();
// break;
case DIALOG_FIRST_TIME:
dialog = new AlertDialog.Builder(this).setTitle(R.string.welcome).setMessage(R.string.welcome_msg).setPositiveButton(R.string.close, null).create();
break;
case DIALOG_CHANGELOG:
StringBuilder changelog = new StringBuilder();
BufferedReader input;
try {
InputStream is = getResources().openRawResource(R.raw.changelog);
input = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = input.readLine()) != null) {
changelog.append(line);
changelog.append("<br/>");
}
input.close();
} catch (IOException e) {
e.printStackTrace();
}
dialog = new AlertDialog.Builder(this).setTitle(R.string.changelog_title).setMessage(Html.fromHtml(changelog.toString())).setPositiveButton(R.string.close, null).create();
break;
default:
dialog = null;
}
return dialog;
}
// private AlertDialog getAboutBox() {
// String title = getString(R.string.app_name) + " build " + getVersion(this);
// return new AlertDialog.Builder(this).setTitle(title).setView(View.inflate(this, R.layout.about, null)).setIcon(R.drawable.icon).setPositiveButton("OK", null).create();
// }
//
//
// public static String getVersion(Context context) {
// String version = "1.0";
// try {
// PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
// version = pi.versionName;
// } catch (PackageManager.NameNotFoundException e) {
// Log.e(TAG, "Package name not found", e);
// }
// return version;
// }
}