Skip to content

Commit 218274e

Browse files
committed
added SensorGraphViewActivity to visualize sensor recorded data
added more info in CSV file resolved location issue Avi_graphe
1 parent f41a341 commit 218274e

20 files changed

+766
-74
lines changed

app/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ dependencies {
5252
implementation "com.afollestad.material-dialogs:core:$rootProject.materialDialogsVersion"
5353
implementation "com.jakewharton:butterknife:$rootProject.butterKnifeVersion"
5454
implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"
55+
implementation 'com.android.support:support-v4:27.1.1'
56+
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
5557
annotationProcessor "com.jakewharton:butterknife-compiler:$rootProject.butterKnifeVersion"
5658
implementation "com.github.medyo:android-about-page:$rootProject.androidAboutPageVersion"
5759
implementation "com.github.tiagohm.MarkdownView:library:$rootProject.markDownViewVersion"

app/src/main/AndroidManifest.xml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,7 @@
4343
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
4444
android:resource="@xml/device_filter" />
4545
</activity>
46-
47-
<activity android:name=".activity.SettingsActivity"/>
48-
46+
<activity android:name=".activity.SettingsActivity" />
4947
<activity android:name=".activity.ShowLoggedData" />
5048
<activity
5149
android:name=".activity.PerformExperimentActivity"
@@ -77,16 +75,13 @@
7775
android:name=".activity.LuxMeterActivity"
7876
android:configChanges="orientation|screenSize|keyboardHidden" />
7977
<activity android:name=".activity.AccelerometerActivity" />
80-
81-
<activity android:name=".activity.DataLoggerActivity"></activity>
82-
78+
<activity android:name=".activity.DataLoggerActivity" />
8379
<activity
8480
android:name=".activity.Barometer_activity"
85-
android:configChanges="keyboardHidden|screenSize|orientation"/>
86-
87-
<activity android:name=".activity.CompassActivity"
88-
android:screenOrientation="portrait"/>
89-
81+
android:configChanges="keyboardHidden|screenSize|orientation" />
82+
<activity
83+
android:name=".activity.CompassActivity"
84+
android:screenOrientation="portrait" />
9085
<activity android:name=".activity.MapsActivity" />
9186

9287
<receiver android:name=".receivers.USBDetachReceiver" />
@@ -99,7 +94,7 @@
9994
<activity android:name=".sensors.SensorSHT21" />
10095
<activity android:name=".sensors.SensorMPU6050" />
10196
<activity android:name=".sensors.SensorTSL2561" />
102-
97+
<activity android:name=".activity.SensorGraphViewActivity"></activity>
10398
</application>
10499

105100
</manifest>

app/src/main/java/io/pslab/PSLabApplication.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.app.Application;
44

55
import io.realm.Realm;
6+
import io.realm.RealmConfiguration;
67

78
/**
89
* Created by viveksb007 on 4/8/17.
@@ -14,5 +15,9 @@ public class PSLabApplication extends Application {
1415
public void onCreate() {
1516
super.onCreate();
1617
Realm.init(this);
18+
RealmConfiguration.Builder v = new RealmConfiguration.Builder().name(Realm.DEFAULT_REALM_NAME)
19+
.schemaVersion(0)
20+
.deleteRealmIfMigrationNeeded();
21+
Realm.setDefaultConfiguration(v.build());
1722
}
1823
}

app/src/main/java/io/pslab/activity/DataLoggerActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,13 @@ protected void onCreate(Bundle savedInstanceState) {
4646
case "Lux Meter":
4747
results = realm.where(SensorLogged.class).equalTo("sensor", caller)
4848
.findAll()
49-
.sort("dateTimeStamp", Sort.DESCENDING);
49+
.sort("dateTimeStart", Sort.DESCENDING);
5050
title = caller + " Data";
5151
break;
5252
default:
5353
results = realm.where(SensorLogged.class)
5454
.findAll()
55-
.sort("dateTimeStamp", Sort.DESCENDING);
55+
.sort("dateTimeStart", Sort.DESCENDING);
5656
title = getString(R.string.logged_data);
5757
}
5858
if (getSupportActionBar() != null) {

app/src/main/java/io/pslab/activity/LuxMeterActivity.java

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,17 @@
3030
import android.widget.TextView;
3131
import android.widget.Toast;
3232

33+
import butterknife.BindView;
34+
import butterknife.ButterKnife;
3335
import io.pslab.R;
3436
import io.pslab.fragment.LuxMeterFragmentConfig;
3537
import io.pslab.fragment.LuxMeterFragmentData;
38+
import io.pslab.fragment.SettingsFragment;
3639
import io.pslab.others.CSVLogger;
3740
import io.pslab.others.CustomSnackBar;
3841
import io.pslab.others.GPSLogger;
3942
import io.pslab.others.MathUtils;
40-
import io.pslab.fragment.SettingsFragment;
4143
import io.pslab.others.SwipeGestureDetector;
42-
import butterknife.BindView;
43-
import butterknife.ButterKnife;
4444

4545
public class LuxMeterActivity extends AppCompatActivity {
4646

@@ -221,7 +221,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
221221
((LuxMeterFragmentData) selectedFragment).stopSensorFetching();
222222
invalidateOptionsMenu();
223223
Long uniqueRef = realmPreferences.getLong("uniqueCount", 0);
224-
selectedFragment.saveDataInRealm(uniqueRef);
224+
selectedFragment.saveDataInRealm(uniqueRef,locationPref,gpsLogger);
225225
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.exp_data_saved), null, null);
226226
SharedPreferences.Editor editor = realmPreferences.edit();
227227
editor.putLong("uniqueCount", uniqueRef + 1);
@@ -243,6 +243,8 @@ public boolean onOptionsItemSelected(MenuItem item) {
243243
((LuxMeterFragmentData) selectedFragment).startSensorFetching();
244244
invalidateOptionsMenu();
245245
}
246+
String snackText = getString(R.string.data_recording_start)+"\n"+(locationPref?getString(R.string.location_enabled):getString(R.string.location_disabled));
247+
CustomSnackBar.showSnackBar(coordinatorLayout, snackText, null, null);
246248
}
247249
break;
248250
case R.id.show_map:
@@ -255,14 +257,13 @@ public boolean onOptionsItemSelected(MenuItem item) {
255257
}
256258
Intent MAP = new Intent(getApplicationContext(), MapsActivity.class);
257259
startActivity(MAP);
258-
startActivity(new Intent(this, ShowLoggedData.class));
259260
break;
260261
case R.id.settings:
261262
startActivity(new Intent(this, SettingsActivity.class));
262263
break;
263264
case R.id.show_logged_data:
264-
Intent intent = new Intent(this,DataLoggerActivity.class);
265-
intent.putExtra(DataLoggerActivity.CALLER_ACTIVITY,"Lux Meter");
265+
Intent intent = new Intent(this, DataLoggerActivity.class);
266+
intent.putExtra(DataLoggerActivity.CALLER_ACTIVITY, "Lux Meter");
266267
startActivity(intent);
267268

268269
break;
@@ -280,37 +281,25 @@ protected void onResume() {
280281
recordData = true;
281282
((LuxMeterFragmentData) selectedFragment).startSensorFetching();
282283
invalidateOptionsMenu();
284+
gpsLogger.startFetchingLocation();
285+
CustomSnackBar.showSnackBar(coordinatorLayout,getString(R.string.data_recording_start)+getString(R.string.location_enabled) , null, null);
283286
} else {
284287
recordData = false;
285288
Toast.makeText(getApplicationContext(), getString(R.string.gps_not_enabled),
286289
Toast.LENGTH_SHORT).show();
290+
gpsLogger.removeUpdate();
287291
}
292+
checkGpsOnResume = false;
288293
}
289294
locationPref = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).getBoolean(SettingsFragment.KEY_INCLUDE_LOCATION, false);
295+
if(!locationPref && gpsLogger!=null){
296+
gpsLogger = null;
297+
}
290298
}
291299

292300
@Override
293301
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
294-
if (requestCode == MY_PERMISSIONS_REQUEST_STORAGE_FOR_DATA) {
295-
if (grantResults.length > 0
296-
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
297-
if (locationPref) {
298-
gpsLogger = new GPSLogger(this, (LocationManager) getSystemService(Context.LOCATION_SERVICE));
299-
if (gpsLogger.isGPSEnabled()) {
300-
recordData = true;
301-
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_recording_start) + "\n" + getString(R.string.location_enabled), null, null);
302-
} else {
303-
checkGpsOnResume = true;
304-
}
305-
gpsLogger.startFetchingLocation();
306-
} else {
307-
recordData = true;
308-
CustomSnackBar.showSnackBar(coordinatorLayout, getString(R.string.data_recording_start) + "\n" + getString(R.string.location_disabled), null, null);
309-
}
310-
} else {
311-
Toast.makeText(this, R.string.prmsn_denied_storage, Toast.LENGTH_SHORT).show();
312-
}
313-
} else if (requestCode == MY_PERMISSIONS_REQUEST_STORAGE_FOR_MAPS
302+
if (requestCode == MY_PERMISSIONS_REQUEST_STORAGE_FOR_MAPS
314303
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
315304
Intent MAP = new Intent(getApplicationContext(), MapsActivity.class);
316305
startActivity(MAP);

0 commit comments

Comments
 (0)