summaryrefslogtreecommitdiff
path: root/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java')
-rw-r--r--app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java93
1 files changed, 64 insertions, 29 deletions
diff --git a/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java b/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java
index 14746d4..a0ba62b 100644
--- a/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java
+++ b/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java
@@ -1,6 +1,8 @@
package com.softwarefools.nik.spiritlevel;
+import java.io.File;
import java.io.FileOutputStream;
+import java.io.FileWriter;
import java.sql.Array;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
@@ -22,12 +24,14 @@ import java.util.Set;
import java.util.TimeZone;
import java.util.Vector;
+import android.graphics.Canvas;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.os.Environment;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.provider.Settings;
@@ -76,6 +80,8 @@ public class LevelActivity extends Activity implements MySensorListener{
private LevelView levelView;
private AppPreferences myprefs;
+ //private ArrayList<nikVector> accelvector;
+
private Vector<nikVector> accelvector;
private Vector<nikVector> gravvector;
private Vector<nikVector> magvector;
@@ -307,13 +313,10 @@ public class LevelActivity extends Activity implements MySensorListener{
Log.d(TAG,"AccelerationVect Size:"+accelvector.size());
Log.d(TAG,"GravityVect Size:"+gravvector.size());
Log.d(TAG,"MagneticVect Size:"+magvector.size());
- //new ProcessData().execute(gravvector,accelvector,magvector);
- new ProcessData().execute(accelvector);
+ new ProcessData().execute(gravvector,accelvector,magvector);
+ //new ProcessData().execute(accelvector);
+
- //dump the vectors
- accelvector.clear();
- gravvector.clear();
- magvector.clear();
return true;
case R.id.action_exit:
@@ -627,7 +630,7 @@ private void restartTTS(){
long offset = rightNow.get(Calendar.ZONE_OFFSET) +
rightNow.get(Calendar.DST_OFFSET);
- return rightNow.getTimeInMillis()+offset;
+ return rightNow.getTimeInMillis();//+offset;
}
public void exitAll(){
@@ -661,46 +664,50 @@ private void restartTTS(){
}
private class ProcessData extends AsyncTask<Vector<nikVector>, Float, Integer> {
-
+ private String filename="newfile";
@Override
protected Integer doInBackground(Vector<nikVector>... vects) {
String printout="";
- String filename="newfile";
- FileOutputStream outputStream;
+
+ //FileOutputStream outputStream;
+ //ArrayList<nikVector> currentAL=new ArrayList<nikVector>();
int count = vects.length;
int totalSize = 0;
Log.i(TAG,"LevelActivity.AsyncTask.ProcessData() for "+count+"Vectors");
filename=getDateCurrentTimeZone(getTime())+".csv";
+
+ File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), filename);
+
+ //FileOutputStream outputStream = new FileOutputStream(file);
+ //printout=makeReadable(gravvector);
+ //totalSize += gravvector.size(); /*
for (int i = 0; i < count; i++) {
- totalSize += vects[i].size();
+
+ //currentAL=vects[i];
+ totalSize +=vects[i].size();
publishProgress((float) ((i / (float) count))); // 0.2
// Escape early if cancel() is called
if (isCancelled()) break;
- String timeline="";
- String xline="";
- String yline="";
- String zline="";
-
- for(int j=0;j<vects[i].size();j++){
- timeline+=vects[i].get(j).getT()+",";
- xline+=vects[i].get(j).getX()+",";
- yline+=vects[i].get(j).getY()+",";
- zline+=vects[i].get(j).getZ()+",";
- }
- printout+=timeline+"\n"+xline+"\n"+yline+"\n"+zline+"\n\n";
+ printout+=makeReadable(vects[i]);
+
+ //FileOutputStream stream = new FileOutputStream(file);
try {
- outputStream = openFileOutput(filename, getApplicationContext().MODE_WORLD_WRITEABLE);
- outputStream.write(printout.getBytes());
- outputStream.close();
- } catch (Exception e) {
- e.printStackTrace();
+ FileWriter fwr = new FileWriter(file);
+ fwr.write(printout);
+ fwr.close();
+ } catch (Exception e) {
+ Log.e(TAG, "Failed to Write to File:"+filename,e);
}
}
Log.i(TAG,"LevelActivity.AsyncTask.ProcessData() of "+totalSize+"Totalsize");
+
+
+
+
return totalSize;
@@ -714,7 +721,13 @@ private void restartTTS(){
// might want to change "executed" for the returned string passed
// into onPostExecute() but that is upto you
//beLoud(getBaseContext().getString(R.string.action_savedata));
- Toast.makeText(getBaseContext(), getBaseContext().getString(R.string.action_savedata), Toast.LENGTH_LONG).show();
+ /*for (int i = 0; i < vects.length; i++) {
+ vects[i].clear();
+ }*/
+ accelvector.clear();
+ magvector.clear();
+ gravvector.clear();
+ Toast.makeText(getBaseContext(),result+"Sets of"+ getBaseContext().getString(R.string.action_savedata), Toast.LENGTH_LONG).show();
}
@@ -724,5 +737,27 @@ private void restartTTS(){
@Override
protected void onProgressUpdate(Float... values) {}
}
+ public Canvas getDataDrawn(Vector<nikVector> v){
+ Canvas mycan=new Canvas();
+
+ return mycan;
+ }
+ public String makeReadable(Vector<nikVector> v){
+ String timeline="";
+ String xline="";
+ String yline="";
+ String zline="";
+ String printout="";
+
+ for(int j=0;j<v.size();j++){
+ timeline+=v.get(j).getT()+",";
+ xline+=v.get(j).getX()+",";
+ yline+=v.get(j).getY()+",";
+ zline+=v.get(j).getZ()+",";
+ }
+ printout+=timeline+"\n"+xline+"\n"+yline+"\n"+zline+"\n\n";
+
+ return printout;
+ }
}