summaryrefslogtreecommitdiff
path: root/app/src/main/java/com/softwarefools
diff options
context:
space:
mode:
authorNikolaus Gotsche <n@softwarefools.com>2015-12-15 02:51:48 +0100
committerNikolaus Gotsche <n@softwarefools.com>2015-12-15 02:51:48 +0100
commit6414c77eb952d1c20bdd177199b5685a775b1680 (patch)
treec2f35ceca9a6548c88ce53f56c253947ca674032 /app/src/main/java/com/softwarefools
parent4c0b1a84b7cf04a0506491112d4edb17f9721351 (diff)
Code2: V1.0.2.1HEADmaster
SaveTask (still UC) DataAnalyse( UC) (Menu Still on first Create in Systemlanguage)
Diffstat (limited to 'app/src/main/java/com/softwarefools')
-rw-r--r--app/src/main/java/com/softwarefools/nik/spiritlevel/AnalyseData.java80
-rw-r--r--app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java93
-rw-r--r--app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java9
3 files changed, 150 insertions, 32 deletions
diff --git a/app/src/main/java/com/softwarefools/nik/spiritlevel/AnalyseData.java b/app/src/main/java/com/softwarefools/nik/spiritlevel/AnalyseData.java
new file mode 100644
index 0000000..506da8f
--- /dev/null
+++ b/app/src/main/java/com/softwarefools/nik/spiritlevel/AnalyseData.java
@@ -0,0 +1,80 @@
+package com.softwarefools.nik.spiritlevel;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Paint;
+import android.util.DisplayMetrics;
+
+import java.util.Vector;
+
+/**
+ * Created by nick on 14.12.15.
+ */
+public class AnalyseData {
+ private Vector<nikVector> magnetData;
+ private Vector<nikVector> accelData;
+ private Vector<nikVector> graviData;
+
+ private Canvas analcanvas;
+ private boolean allset;
+
+ private Paint paintMagVector;
+ private Paint paintAccVector;
+ private Paint paintGravVector;
+
+ private Paint paintAxisLines;
+ private Paint paintAxisHelpLines;
+
+ private Paint paintTexts;
+
+ private Context myContext;
+ private static int displaywidth;
+ private static int displayheight;
+
+ private float vectWidth =14;
+ private float textSize=40;
+ private float textDist=5;
+ private float margin=100;
+ private float margin2=20;
+ private float axisHeight=10;
+
+ public void AnalyseData(Context cont){
+ this.allset=false;
+ analcanvas = new Canvas();
+ this.myContext=cont;
+ DisplayMetrics metrics = myContext.getResources().getDisplayMetrics();
+ displaywidth = metrics.widthPixels;
+ displayheight = metrics.heightPixels;
+
+ paintAccVector= new Paint();
+ paintGravVector= new Paint();
+ paintMagVector= new Paint();
+ paintAxisLines= new Paint();
+ paintAxisHelpLines= new Paint();
+ paintTexts= new Paint();
+
+ margin=displayheight/10;
+ margin2=margin/10;
+ textSize=displayheight/27;
+ textDist=textSize/8;
+ vectWidth=displayheight/72;
+ axisHeight=(displayheight-margin*4-margin2*6)/9;
+
+ }
+ public void setMagnetData(Vector somevect){
+ this.magnetData = somevect;
+ }
+ public void setAccelData(Vector somevect){
+ this.accelData= somevect;
+ }
+ public void setGraviData(Vector somevect){
+ this.graviData = somevect;
+ }
+
+ public Canvas getFilledCanvas(){
+
+
+
+ return this.analcanvas;
+ }
+}
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;
+ }
}
diff --git a/app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java b/app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java
index a95e7f9..afd6411 100644
--- a/app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java
+++ b/app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java
@@ -9,6 +9,7 @@ public class nikVector {
private double x;
private double y;
private double z;
+ private static String name;
public void nikVector(){
//get current timestamp
@@ -25,6 +26,9 @@ public class nikVector {
this.z=c;
}
+ public void setName(String in){
+ this.name=in;
+ }
public void setVector(long ts,double a, double b , double c){
this.t=ts;
this.x=a;
@@ -32,9 +36,8 @@ public class nikVector {
this.z=c;
}
- public long getT(){
- return this.t;
- }
+ public String getName() { return this.name; }
+ public long getT() { return this.t; }
public double getX(){
return this.x;
}