Something went wrong on our end
-
Peter Joseph De Jonckheere CESM2014 authored
Further attempts to fix spinner. Narrowed error down to null pointer at setAdapter line either spinner or adapter is null but on debug inspection this doesn't appear to be the case.
Peter Joseph De Jonckheere CESM2014 authoredFurther attempts to fix spinner. Narrowed error down to null pointer at setAdapter line either spinner or adapter is null but on debug inspection this doesn't appear to be the case.
SigMotionDetect.java 2.33 KiB
package com.example.stimulusStrategy;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.hardware.TriggerEvent;
import android.hardware.TriggerEventListener;
import android.os.IBinder;
import android.support.annotation.Nullable;
import android.util.Log;
import android.widget.Toast;
import com.example.notification.Notification;
import com.example.pharmacy.frontEnd.R;
/**
* Created by pharmacy on 17/01/2018.
*/
public class SigMotionDetect extends Service implements StimulusStrategy {
private SensorManager mSensorManager;
private Sensor md;
private TriggerEventListener tel;
private AlarmManager am;
//Set up alarm manager to fire in one hour, and set up significant motion sensor to fire and call monitor which
// will then cancel the alarm and reschedule it for one hour from now. Monitor should also use step-counter? to monitor the length
// of unsedentary behaviour for progress monitoring.
@Override
public void onCreate(){
am = (AlarmManager) this.getSystemService(Context.ALARM_SERVICE);
setUpClock();
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();
}
};
}
private void setUpClock() {
Intent i = new Intent(this, Notification.class);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0);
am.set(AlarmManager.ELAPSED_REALTIME, AlarmManager.INTERVAL_HOUR, pi);
// Log.i("myTag", "Alarm SET");
}
public void monitor() {
//Use step counter sensor? to detect if movement lasted for a prolonged period of time.
Log.d("MOTION", "HUZZAH");
am.cancel(am.getNextAlarmClock().getShowIntent());
setUpClock();
mSensorManager.requestTriggerSensor(tel, md);
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}