package com.conference.app.lib.ui;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import com.conference.app.lib.R;
import com.conference.app.lib.database.DatabaseHelper;
import com.conference.app.lib.database.tables.ConferenceTable;
public class LocationAndFeedback extends Activity {
private static final String TAG = LocationAndFeedback.class.getName();
private static final boolean DEBUG = false;
private String feedbackEmail;
private String feedbackSubject;
private String feedbackText;
private String longitude;
private String latitude;
private String locationName;
private String locationStreet;
private View floorplanButton;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.location);
initViews();
initTextValues();
}
private void initViews() {
floorplanButton = findViewById(R.id.locationRoomPlan);
}
private void initTextValues() {
final DatabaseHelper helper = new DatabaseHelper(this);
final SQLiteDatabase db = helper.getReadableDatabase();
final Cursor cursor = db.query(ConferenceTable.TABLE_NAME, ConferenceTable.ALL_COLUMNS, null, null, null, null, null);
cursor.moveToFirst();
feedbackEmail = cursor.getString(cursor.getColumnIndex(ConferenceTable.FEEDBACK_MAIL));
feedbackSubject = cursor.getString(cursor.getColumnIndex(ConferenceTable.FEEDBACK_MAIL_SUBJECT));
feedbackText = cursor.getString(cursor.getColumnIndex(ConferenceTable.FEEDBACK_TEMPLATE_TEXT));
longitude = cursor.getString(cursor.getColumnIndex(ConferenceTable.LOCATION_LONG));
latitude = cursor.getString(cursor.getColumnIndex(ConferenceTable.LOCATION_LAT));
locationName = cursor.getString(cursor.getColumnIndex(ConferenceTable.LOCATION_NAME));
locationStreet = cursor.getString(cursor.getColumnIndex(ConferenceTable.STREET));
// Disable roomplan button, if not available
if (cursor.isNull(cursor.getColumnIndex(ConferenceTable.FLOOR_PLAN_IMAGE))
|| cursor.isNull(cursor.getColumnIndex(ConferenceTable.FLOOR_PLAN_URL))) {
floorplanButton.setVisibility(View.GONE);
}
cursor.close();
if (db.isOpen()) {
db.close();
}
}
public void onClickActionBarHome(final View view) {
final Intent intent = new Intent(this, Dashboard.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
// overridePendingTransition(R.anim.home_enter, R.anim.home_exit);
}
public void onClickMap(final View view) {
final Uri geoUri = Uri.parse("geo:" + latitude + "," + longitude + "?q=" + locationStreet + " " + locationName + "&z=16");
final Intent mapCall = new Intent(Intent.ACTION_VIEW, geoUri);
startActivity(Intent.createChooser(mapCall, getString(R.string.location_show_map)));
}
public void onClickFeedback(final View view) {
final Intent intent = new Intent(android.content.Intent.ACTION_SEND);
intent.setType("plain/text");
intent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] { feedbackEmail });
intent.putExtra(android.content.Intent.EXTRA_SUBJECT, feedbackSubject);
intent.putExtra(android.content.Intent.EXTRA_TEXT, feedbackText);
startActivity(Intent.createChooser(intent, getString(R.string.location_send_via_email)));
}
public void onClickRoomplan(final View view) {
startActivity(new Intent(this, ImageViewer.class));
}
}