4343import io .pslab .models .SensorDataBlock ;
4444import io .pslab .models .ServoData ;
4545import io .pslab .models .ThermometerData ;
46+ import io .pslab .models .WaveGeneratorData ;
4647import io .pslab .others .CSVLogger ;
4748import io .pslab .others .LocalDataLog ;
4849import io .realm .Realm ;
@@ -67,6 +68,7 @@ public class DataLoggerActivity extends AppCompatActivity {
6768 private RealmResults <SensorDataBlock > categoryData ;
6869 private String selectedDevice = null ;
6970 private Realm realm ;
71+ private String caller ;
7072
7173 @ Override
7274 protected void onCreate (Bundle savedInstanceState ) {
@@ -77,7 +79,7 @@ protected void onCreate(Bundle savedInstanceState) {
7779 deleteAllProgressBar = findViewById (R .id .delete_all_progbar );
7880 deleteAllProgressBar .setVisibility (View .GONE );
7981 realm = LocalDataLog .with ().getRealm ();
80- String caller = getIntent ().getStringExtra (CALLER_ACTIVITY );
82+ caller = getIntent ().getStringExtra (CALLER_ACTIVITY );
8183 if (getSupportActionBar () != null ) {
8284 getSupportActionBar ().setDisplayHomeAsUpEnabled (true );
8385 getSupportActionBar ().setDisplayShowHomeEnabled (true );
@@ -109,6 +111,13 @@ protected void onCreate(Bundle savedInstanceState) {
109111 break ;
110112 case "Robotic Arm" :
111113 categoryData = LocalDataLog .with ().getTypeOfSensorBlocks (getString (R .string .robotic_arm ));
114+ break ;
115+ case "Wave Generator" :
116+ categoryData = LocalDataLog .with ().getTypeOfSensorBlocks (getResources ().getString (R .string .wave_generator ));
117+ break ;
118+ case "Oscilloscope" :
119+ categoryData = LocalDataLog .with ().getTypeOfSensorBlocks (getResources ().getString (R .string .oscilloscope ));
120+ break ;
112121 default :
113122 categoryData = LocalDataLog .with ().getAllSensorBlocks ();
114123 getSupportActionBar ().setTitle (getString (R .string .logged_data ));
@@ -134,7 +143,41 @@ private void fillData() {
134143
135144 @ Override
136145 public void onBackPressed () {
137- finish ();
146+ getSupportActionBar ().setTitle (caller );
147+ switch (caller ) {
148+ case "Lux Meter" :
149+ startActivity (new Intent (this ,LuxMeterActivity .class ));
150+ break ;
151+ case "Barometer" :
152+ startActivity (new Intent (this ,BarometerActivity .class ));
153+ break ;
154+ case "Accelerometer" :
155+ startActivity (new Intent (this ,AccelerometerActivity .class ));
156+ break ;
157+ case "Multimeter" :
158+ startActivity (new Intent (this ,MultimeterActivity .class ));
159+ break ;
160+ case "Gyroscope" :
161+ startActivity (new Intent (this ,GyroscopeActivity .class ));
162+ break ;
163+ case "Compass" :
164+ startActivity (new Intent (this ,CompassActivity .class ));
165+ break ;
166+ case "Thermometer" :
167+ startActivity (new Intent (this ,ThermometerActivity .class ));
168+ break ;
169+ case "Robotic Arm" :
170+ startActivity (new Intent (this ,RoboticArmActivity .class ));
171+ break ;
172+ case "Wave Generator" :
173+ startActivity (new Intent (this , WaveGeneratorActivity .class ));
174+ break ;
175+ case "Oscilloscope" :
176+ startActivity (new Intent (this , OscilloscopeActivity .class ));
177+ break ;
178+ default :
179+ startActivity (new Intent (this ,MainActivity .class ));
180+ }
138181 }
139182
140183 @ Override
@@ -489,6 +532,41 @@ private void getFileData(File file) {
489532 } catch (IOException e ) {
490533 e .printStackTrace ();
491534 }
535+ } else if (selectedDevice != null && selectedDevice .equals (getResources ().getString (R .string .wave_generator ))) {
536+ try {
537+ FileInputStream is = new FileInputStream (file );
538+ BufferedReader reader = new BufferedReader (new InputStreamReader (is ));
539+ String line = reader .readLine ();
540+ int i = 0 ;
541+ long block = 0 , time = 0 ;
542+ while (line != null ) {
543+ if (i != 0 ) {
544+ String [] data = line .split ("," );
545+ try {
546+ time += 1000 ;
547+ WaveGeneratorData waveData = new WaveGeneratorData (time , block , data [2 ], data [3 ], data [4 ], data [5 ], data [6 ],data [7 ],Float .valueOf (data [8 ]), Float .valueOf (data [9 ]));
548+ realm .beginTransaction ();
549+ realm .copyToRealm (waveData );
550+ realm .commitTransaction ();
551+ } catch (Exception e ) {
552+ Log .d ("exception" , i + " " + e .getMessage ());
553+ Toast .makeText (this , getResources ().getString (R .string .incorrect_import_format ), Toast .LENGTH_SHORT ).show ();
554+ }
555+ } else {
556+ block = System .currentTimeMillis ();
557+ time = block ;
558+ realm .beginTransaction ();
559+ realm .copyToRealm (new SensorDataBlock (block , getResources ().getString (R .string .wave_generator )));
560+ realm .commitTransaction ();
561+ }
562+ i ++;
563+ line = reader .readLine ();
564+ }
565+ fillData ();
566+ DataLoggerActivity .this .toolbar .getMenu ().findItem (R .id .delete_all ).setVisible (true );
567+ } catch (IOException e ) {
568+ e .printStackTrace ();
569+ }
492570 }
493571 }
494572}
0 commit comments