Skip to content
Snippets Groups Projects
Commit b9580545 authored by Peter Joseph De Jonckheere CESM2014's avatar Peter Joseph De Jonckheere CESM2014
Browse files

Further modified sig motion detect to hopefully a working state.

parent 2b64f270
No related branches found
No related tags found
No related merge requests found
......@@ -39,6 +39,7 @@ public class MainActivity extends AppCompatActivity {
SharedPreferences shared = this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
ProgressBar progress = (ProgressBar) findViewById(R.id.progressBar);
progress.setMax((shared.getInt(getString(R.string.daily_goal_set), R.integer.daily_goal_minutes)));
progress.setProgress(shared.getInt(getString(R.string.daily_progress), 0));
}
private void setUpStimulus(){
......
......@@ -95,5 +95,6 @@ public class NotificationClicked extends AppCompatActivity {
SharedPreferences shared = this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
ProgressBar progress = (ProgressBar) findViewById(R.id.progressBar);
progress.setMax((shared.getInt(getString(R.string.daily_goal_set), R.integer.daily_goal_minutes)));
progress.setProgress(shared.getInt(getString(R.string.daily_progress), 0));
}
}
......@@ -11,6 +11,9 @@ import android.hardware.SensorManager;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.util.Log;
import android.widget.Toast;
import com.example.pharmacy.frontEnd.R;
/**
......@@ -26,7 +29,7 @@ public class Accelerometer extends Service implements StimulusStrategy, SensorEv
@Override
public void onCreate(){
mSensorManager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE);
accl = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), 60000);
//Parameters to be set here such as delay etc.
//Does data streaming/listening need to be set up? If so here
}
......@@ -37,8 +40,9 @@ public class Accelerometer extends Service implements StimulusStrategy, SensorEv
}*/
public void monitor() {
Log.d("MOTION", "HUZZAH");
Toast saved = Toast.makeText(this, R.string.motion,Toast.LENGTH_LONG);
saved.show();
mSensorManager.unregisterListener(this);
Intent i = new Intent(this, Notification.class);
this.sendBroadcast(i);
}
......
......@@ -4,12 +4,17 @@ import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.app.job.JobInfo;
import android.app.job.JobParameters;
import android.app.job.JobScheduler;
import android.app.job.JobService;
import android.app.job.JobWorkItem;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.hardware.TriggerEvent;
import android.hardware.TriggerEventListener;
......@@ -46,13 +51,14 @@ public class SigMotionDetect extends Service implements StimulusStrategy {
mSensorManager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE);
//Need to test if this produces null to avoid NULLPOINTEREXCEPTION
md = mSensorManager.getDefaultSensor(Sensor.TYPE_SIGNIFICANT_MOTION);
tel = new TriggerEventListener() {
@Override
public void onTrigger(TriggerEvent triggerEvent) {
monitor();
}
};
mSensorManager.requestTriggerSensor(tel, md);
}
private void setUpClock() {
......@@ -67,7 +73,8 @@ public class SigMotionDetect extends Service implements StimulusStrategy {
//Anything over 60 steps per minute counts as a minute of activity.
//Check every minute until the change is less than this.
//Then register to daily progress for number of minutes > 60.
Log.d("MOTION", "HUZZAH");
Toast saved = Toast.makeText(this, R.string.motion,Toast.LENGTH_LONG);
saved.show();
am.cancel(am.getNextAlarmClock().getShowIntent());
stepCounter();
setUpClock();
......@@ -75,14 +82,55 @@ public class SigMotionDetect extends Service implements StimulusStrategy {
}
private void stepCounter(){
Sensor sc = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
//Use job scheduler to check once every minute while change > 60.
JobScheduler jobs = (JobScheduler) this.getSystemService(Context.JOB_SCHEDULER_SERVICE);
JobInfo.Builder builder = new JobInfo.Builder(R.integer.step_job ,new ComponentName(this, this.getClass()));
//
// builder.setPeriodic();
// jobs.schedule();
Intent intent = new Intent(this, StepCounter.class);
startActivity(intent);
}
private class StepCounter extends Service implements SensorEventListener{
private Sensor stepCounter;
private float stepCount;
private float prevStepCount = 0;
private int minutes = 0;
public void onCreate(){
stepCounter = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
mSensorManager.registerListener(this, stepCounter, 60000000);
}
@Override
public void onSensorChanged(SensorEvent event) {
if (prevStepCount == 0) {
prevStepCount = event.values[0];
} else {
stepCount = event.values[0];
if(stepCount - 60 > prevStepCount){
minutes++;
prevStepCount = stepCount;
Toast saved = Toast.makeText(this, R.string.minute_progress,Toast.LENGTH_LONG);
saved.show();
} else {
mSensorManager.unregisterListener(this);
SharedPreferences sharedPref = this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.daily_progress), minutes);
editor.commit();
}
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
@Nullable
......
......@@ -16,4 +16,8 @@
<string name="spinner_opt">Every 15 Minutes</string>
<string name="settings_saved">Settings saved!</string>
<string name="preference_file_key">com.example.sedbehav.not</string>
<string name="daily_progress">Daily Progress</string>
<string name="motion">Motion Detected</string>
<string name="minute_progress">One Minute of Progress Made</string>
</resources>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment