package com.androsz.electricsleepbeta.app;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.view.View;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.androsz.electricsleepbeta.R;
import com.androsz.electricsleepbeta.app.wizard.CalibrationWizardActivity;
import com.androsz.electricsleepbeta.app.wizard.WelcomeTutorialWizardActivity;
public abstract class HostActivity extends AnalyticActivity {
private static final String TAG = HostActivity.class.getSimpleName();
protected abstract int getContentAreaLayoutId();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final View root = getLayoutInflater().inflate(getContentAreaLayoutId(), null, false);
setContentView(root);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.menu_host, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(final MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return (true);
case R.id.menu_item_tutorial:
startActivity(new Intent(this, WelcomeTutorialWizardActivity.class));
break;
case R.id.menu_item_calibrate:
startActivity(new Intent(this, CalibrationWizardActivity.class));
break;
case R.id.menu_item_settings:
startActivity(new Intent(this, SettingsActivity.class));
break;
case R.id.menu_item_report:
String versionName = "???";
try {
versionName = getPackageManager().getPackageInfo(this.getPackageName(),
PackageManager.GET_META_DATA).versionName;
} catch (NameNotFoundException e) {
this.trackEvent("Retrieving VersionName failed for HostActivity.", 1);
break;
}
final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.setType("plain/text");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[] { getString(R.string.developer_email_address) });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
getString(R.string.email_developer_subject, versionName));
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, getString(R.string.developer_email_body));
startActivity(Intent.createChooser(emailIntent, getString(R.string.title_report)));
// startActivity(new Intent("android.intent.action.VIEW",
// Uri.parse("http://code.google.com/p/electricsleep/issues/entry")));
break;
}
return super.onOptionsItemSelected(item);
}
}