Newer
Older
package com.example.stimulusStrategy;
import android.app.Service;
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.os.IBinder;
import android.support.annotation.Nullable;
import android.widget.Toast;
import com.example.pharmacy.frontEnd.R;
/**
* Created by pharmacy on 13/02/2018.
*/
public class StepCounter extends Service implements SensorEventListener {
private Sensor stepCounter;
private float stepCount;
private float prevStepCount = 0;

Peter Joseph De Jonckheere CESM2014
committed
private int minutes;
private SensorManager mSensorManager;
@Override
public int onStartCommand(Intent intent, int flags, int startId){
mSensorManager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE);
stepCounter = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
mSensorManager.registerListener(this, stepCounter, 60000000);

Peter Joseph De Jonckheere CESM2014
committed
SharedPreferences sharedPref = this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
minutes = sharedPref.getInt(getString(R.string.daily_progress), 0);
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
return START_STICKY;
}
@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();
stopSelf();
}
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int i) {
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}