From 80b4370d55157fbdf62c74f3379c691b517c2902 Mon Sep 17 00:00:00 2001 From: neel1998 Date: Tue, 25 Jun 2019 23:26:34 +0530 Subject: [PATCH] bug fixes in gyroscope --- .../pslab/fragment/GyroscopeDataFragment.java | 44 ++++++++++--------- .../fragment/GyroscopeSettingsFragment.java | 6 +-- app/src/main/res/values/strings.xml | 3 ++ 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/io/pslab/fragment/GyroscopeDataFragment.java b/app/src/main/java/io/pslab/fragment/GyroscopeDataFragment.java index 16e203046..59075aa6e 100644 --- a/app/src/main/java/io/pslab/fragment/GyroscopeDataFragment.java +++ b/app/src/main/java/io/pslab/fragment/GyroscopeDataFragment.java @@ -120,20 +120,10 @@ public void onResume() { resetInstrumentData(); playRecordedData(); } else if (gyroSensor.viewingData) { - if (sensorManager != null) { - recordedGyroArray = new ArrayList<>(); - resetInstrumentData(); - plotAllRecordedData(); - } - else { - gyroscopeViewFragments.clear(); - rootView.findViewById(R.id.gyroscope_x_axis_fragment).setVisibility(View.INVISIBLE); - rootView.findViewById(R.id.gyroscope_y_axis_fragment).setVisibility(View.INVISIBLE); - rootView.findViewById(R.id.gyroscope_z_axis_fragment).setVisibility(View.INVISIBLE); - noSensorText.setText(getResources().getString(R.string.no_data_recorded_gyro)); - noSensorText.setAllCaps(true); - gyroLinearLayout.addView(noSensorText); - } + recordedGyroArray = new ArrayList<>(); + resetInstrumentData(); + plotAllRecordedData(); + } else if (!gyroSensor.isRecording) { updateGraphs(); initiateGyroSensor(); @@ -150,8 +140,7 @@ public void onDestroyView() { } if (sensorManager != null) { sensorManager.unregisterListener(gyroScopeSensorEventListener); - } - else { + } else { gyroLinearLayout.removeView(noSensorText); } } @@ -484,13 +473,26 @@ private void resetInstrumentData() { private void initiateGyroSensor() { resetInstrumentData(); sensorManager = (SensorManager) getContext().getSystemService(SENSOR_SERVICE); - sensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE); - if (sensor == null) { - Toast.makeText(getContext(), getResources().getString(R.string.no_gyroscope_sensor), Toast.LENGTH_LONG).show(); + if (sensorManager == null) { + noSensorLayoutUpdate(); } else { - sensorManager.registerListener(gyroScopeSensorEventListener, - sensor, SensorManager.SENSOR_DELAY_FASTEST); + sensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE); + if (sensor == null) { + Toast.makeText(getContext(), getResources().getString(R.string.no_gyroscope_sensor), Toast.LENGTH_LONG).show(); + } else { + sensorManager.registerListener(gyroScopeSensorEventListener, + sensor, SensorManager.SENSOR_DELAY_FASTEST); + } } + } + private void noSensorLayoutUpdate() { + gyroscopeViewFragments.clear(); + rootView.findViewById(R.id.gyroscope_x_axis_fragment).setVisibility(View.GONE); + rootView.findViewById(R.id.gyroscope_y_axis_fragment).setVisibility(View.GONE); + rootView.findViewById(R.id.gyroscope_z_axis_fragment).setVisibility(View.GONE); + noSensorText.setText(getResources().getString(R.string.no_data_recorded_gyro)); + noSensorText.setAllCaps(true); + gyroLinearLayout.addView(noSensorText); } } diff --git a/app/src/main/java/io/pslab/fragment/GyroscopeSettingsFragment.java b/app/src/main/java/io/pslab/fragment/GyroscopeSettingsFragment.java index 6b49a194d..32c908ede 100644 --- a/app/src/main/java/io/pslab/fragment/GyroscopeSettingsFragment.java +++ b/app/src/main/java/io/pslab/fragment/GyroscopeSettingsFragment.java @@ -15,9 +15,9 @@ public class GyroscopeSettingsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { public static final String KEY_INCLUDE_LOCATION = "include_location_sensor_data"; - public static final String KEY_UPDATE_PERIOD = "setting_lux_update_period"; - public static final String KEY_HIGH_LIMIT = "setting_lux_high_limit"; - public static final String KEY_GYROSCOPE_SENSOR_GAIN = "setting_lux_sensor_gain"; + public static final String KEY_UPDATE_PERIOD = "setting_gyro_update_period"; + public static final String KEY_HIGH_LIMIT = "setting_gyro_high_limit"; + public static final String KEY_GYROSCOPE_SENSOR_GAIN = "setting_gyro_sensor_gain"; private PSLabPermission psLabPermission; diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 858d96729..384ff5315 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -607,6 +607,7 @@ Please provide time interval at which data will be updated (100 ms to 2000 ms) setting_baro_update_period setting_lux_update_period + setting_gyro_update_period setting_accelerometer_update_period 1.10 1 @@ -619,10 +620,12 @@ Entered High Limit is not within the limits! setting_baro_high_limit setting_lux_high_limit + setting_gyro_high_limit setting_accelerometer_high_limit setting_lux_sensor_type No file was selected setting_lux_sensor_gain + setting_gyro_sensor_gain setting_accelerometer_sensor_gain Please set gain of the sensor Sensor Gain