Skip to content

Commit

Permalink
Change to Email
Browse files Browse the repository at this point in the history
- Improved email page so it will no longer ask you to save a training
file if one already exists
- Tidied up other classes, trying to make code more readable, deleting
unused imports/variables/methods.
  • Loading branch information
cleslie committed Feb 22, 2014
1 parent b8ab7e9 commit 8b1b739
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 123 deletions.
33 changes: 1 addition & 32 deletions src/com/leslie/cal_tri/Archive.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,30 @@

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ListActivity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.util.TypedValue;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Toast;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class Archive extends Activity {

Expand Down Expand Up @@ -107,16 +92,6 @@ public boolean onItemLongClick(AdapterView<?> parent, View myView,
AlertDialog deleteEditChoice = new AlertDialog.Builder(Archive.this).create();
deleteEditChoice.setTitle("Modify Entry");

//Edit Entry
deleteEditChoice.setButton2("Edit",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
editEntry(String.valueOf(entryId));
}

});

//Delete Entry
deleteEditChoice.setButton("Delete",
new DialogInterface.OnClickListener() {
Expand Down Expand Up @@ -318,11 +293,6 @@ public void onClick(DialogInterface dialog, int which) {
dialogDelete.show();
}

////////////////////UNF////////////////////////
public void editEntry(String id) {

}

/***
* Sorts the data in the listview by the choice
* selected by the user.
Expand Down Expand Up @@ -400,7 +370,6 @@ public boolean setViewValue(View view, Cursor cursor, int column) {
}
}

//BUGGY - this view is not included in adapter, that's why it's failing
if (column == 2 && view.getId() == R.id.archive_distance_type){
if (cursor.getString(column).equals("Swim")){
TextView distanceType = (TextView) view;
Expand Down
12 changes: 0 additions & 12 deletions src/com/leslie/cal_tri/ArchiveDetailed.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,24 +70,12 @@ protected void onCreate(Bundle savedInstanceState) {
intensity.setText("Intensity " + entry.getString(entry.getColumnIndex("intensity")));
notes.setText(entry.getString(entry.getColumnIndex("notes")));

//SWIM IN METERS (need to change archive main screen and graph total for
//full implementation)
//if (activityType.getText().equals("Swim")){
//distanceType.setText(" m in ");
//}

if (notes.getText().equals("")){
notes.setText("No session notes.");
}

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// No menu
// getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

private String getTime(int totalSeconds){
int hours = secondsFromEntry / 3600;
Expand Down
7 changes: 1 addition & 6 deletions src/com/leslie/cal_tri/DBCalTri.java
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
package com.leslie.cal_tri;

import java.lang.reflect.Array;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.ArrayAdapter;

public class DBCalTri {
public static final String KEY_ROWID = "_id";
Expand Down
55 changes: 18 additions & 37 deletions src/com/leslie/cal_tri/EmailArchive.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,11 @@
package com.leslie.cal_tri;

import java.io.BufferedReader;
import java.io.BufferedWriter;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
Expand All @@ -23,7 +16,6 @@
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
Expand All @@ -32,21 +24,13 @@
public class EmailArchive extends Activity {

private Button sendToEmail;
private Button sendToDrive;
private Button saveDataToCSV;
private Button deleteSavedData;
private TextView fileExistsNotification;
private DBCalTri databaseHelper;
private List<String[]> currentData;
public final String ADDRESS_FILE = (Environment
.getExternalStorageDirectory() + "/TrainingCalTri.csv");
public final String ADDRESS_FILE = (Environment.getExternalStorageDirectory() + "/TrainingCalTri.csv");
private Boolean isSDPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
String[] row = null;
private Boolean writeSuccessful = false;
private Boolean emailSuccessful = false;

//TODO:
// Check if file exists already before overwriting

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand All @@ -57,36 +41,31 @@ protected void onCreate(Bundle savedInstanceState) {
deleteSavedData = (Button) findViewById(R.id.btnDeleteCSV);
fileExistsNotification = (TextView) findViewById(R.id.tvTrainingFileExists);

//NEED HARD CHECK FOR SD
//Check for SD Card
isSDMountedToast(isSDPresent);
writeTrainingToSDCard();
fileExistNotification();

//Start trying to save data if a file does not already exist
if (!fileExistNotification()){
writeTrainingToSDCard();
}

//Send training log intent
sendToEmail.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//second (hard) check for sd card
Log.e("boolean writesucces is: ", String.valueOf(writeSuccessful));
//Log.e("boolean writesucces is: ", String.valueOf(writeSuccessful));
if (fileExistNotification()){
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_SUBJECT, "Triathlon Training Log - CalTri");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+ADDRESS_FILE));
startActivity(Intent.createChooser(sendIntent, "Email:"));
emailSuccessful = true;
}

if (emailSuccessful){
//Display success message, not working correctly, displays immediately after send to email is clicked
//Toast saveSuccessMessage = Toast.makeText(getApplicationContext(), "Save Successful", Toast.LENGTH_SHORT);
//saveSuccessMessage.show();
}
}
});

saveDataToCSV.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
//NEED HARD CHECK FOR SD
isSDMountedToast(isSDPresent);
writeTrainingToSDCard();
fileExistNotification();
Expand All @@ -108,28 +87,27 @@ public void onClick(View v){
}

@SuppressWarnings("deprecation")
public void writeTrainingToSDCard() {

public void writeTrainingToSDCard() {
AlertDialog dialogWrite = new AlertDialog.Builder(EmailArchive.this).create();
dialogWrite.setTitle("Save to SD Card");
dialogWrite.setMessage("Save training log to SD card? (This is required in order to email your log and will overwrite previous saved data)");
dialogWrite.setMessage("Save training log to SD card? (Required for email - will overwrite previously saved data)");
dialogWrite.setButton("Ok", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
//Get data from database
databaseHelper = new DBCalTri(EmailArchive.this);
databaseHelper.open();
currentData = databaseHelper.getAllEntriesArray();
databaseHelper.close();


//Convert data to .csv format for email
CSVWriter writer;
try {
writer = new CSVWriter(new FileWriter(ADDRESS_FILE));
writer.writeAll(currentData);
writer.close();
Toast saveSuccessMessage = Toast.makeText(getApplicationContext(), "Save Successful", Toast.LENGTH_SHORT);
saveSuccessMessage.show();
writeSuccessful = true;
fileExistNotification();

} catch (IOException e1) {
e1.printStackTrace();
}
Expand All @@ -142,6 +120,8 @@ public void onClick(DialogInterface dialog, int which) {
public void onClick(DialogInterface dialog, int which) {
}
});

//Show save option dialog
dialogWrite.show();
}

Expand Down Expand Up @@ -173,6 +153,7 @@ public void isSDMountedToast(Boolean SDPresent){
}
}

//Checks if training file exists, displays notification with information about the file if it does
public boolean fileExistNotification(){
File trainingCSV = new File(ADDRESS_FILE);
if (trainingCSV.exists()){
Expand Down
Loading

0 comments on commit 8b1b739

Please sign in to comment.