@Override public void onCreate() { LoginScreen.appendLog(TAG, "[SERVICE] onCreate"); super.onCreate(); // Load settings mSettings = PreferenceManager.getDefaultSharedPreferences(this); mPedometerSettings = new PedometerSettings(mSettings); mState = getSharedPreferences("state", 0); mUtils = Utils.getInstance(); mUtils.setService(this); acquireWakeLock(); // Start detecting mStepDetector = new StepDetector(); mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); registerDetector(); // Register our receiver for the ACTION_SCREEN_OFF action. This will make our receiver // code be called whenever the phone enters standby mode. IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF); registerReceiver(mReceiver, filter); mStepDisplayer = new StepDisplayer(mPedometerSettings, mUtils); mStepDisplayer.setSteps(mSteps = mState.getInt("steps", 0)); mStepDisplayer.addListener(mStepListener); mStepDetector.addStepListener(mStepDisplayer); mPaceNotifier = new PaceNotifier(mPedometerSettings, mUtils); mPaceNotifier.setPace(mPace = mState.getInt("pace", 0)); mPaceNotifier.addListener(mPaceListener); mStepDetector.addStepListener(mPaceNotifier); mDistanceNotifier = new DistanceNotifier(mDistanceListener, mPedometerSettings, mUtils); mDistanceNotifier.setDistance(mDistance = mState.getFloat("distance", 0)); mStepDetector.addStepListener(mDistanceNotifier); mSpeedNotifier = new SpeedNotifier(mSpeedListener, mPedometerSettings, mUtils); mSpeedNotifier.setSpeed(mSpeed = mState.getFloat("speed", 0)); mPaceNotifier.addListener(mSpeedNotifier); mCaloriesNotifier = new CaloriesNotifier(mCaloriesListener, mPedometerSettings, mUtils); mCaloriesNotifier.setCalories(mCalories = mState.getFloat("calories", 0)); mStepDetector.addStepListener(mCaloriesNotifier); // Start voice reloadSettings(); // Tell the user we started. // Toast.makeText(this, "we started pedometer service bruh", Toast.LENGTH_SHORT).show(); }
/** This is called every INTERVAL_MS ms from the TimerTask. */ protected synchronized void updateData() { // Get current time for time stamps long now_ms = System.currentTimeMillis(); st.onTimerElapsed(now_ms, detector.getLastAcc(), new double[] {lastComp}); // Check if a step is detected upon data if (detector.checkForStep()) { // Call algorithm for navigation/updating position st.onStepDetected(now_ms, lastComp); } }
public void reloadSettings() { mSettings = PreferenceManager.getDefaultSharedPreferences(this); if (mStepDetector != null) { mStepDetector.setSensitivity(Float.valueOf(mSettings.getString("sensitivity", "10"))); } if (mStepDisplayer != null) mStepDisplayer.reloadSettings(); if (mPaceNotifier != null) mPaceNotifier.reloadSettings(); if (mDistanceNotifier != null) mDistanceNotifier.reloadSettings(); if (mSpeedNotifier != null) mSpeedNotifier.reloadSettings(); if (mCaloriesNotifier != null) mCaloriesNotifier.reloadSettings(); }
@Override public void onSensorChanged(SensorEvent event) { switch (event.sensor.getType()) { case Sensor.TYPE_ACCELEROMETER: st.onAccelerometerDataReceived( System.currentTimeMillis(), event.values[0], event.values[1], event.values[2]); // just update the oldest z value detector.addSensorValues(System.currentTimeMillis(), event.values); break; default: } // switch (event.sensor.getType()) }
/** * @param stepTimeoutMs * @uml.property name="step_timeout_ms" */ public void setStep_timeout_ms(int stepTimeoutMs) { detector.setStepTimeoutMS(200); }
/** * @param peak * @uml.property name="peak" */ public void setPeak(double peak) { detector.setPeak(peak); }
/** * @param a * @uml.property name="a" */ public void setA(double a) { detector.setA(a); }
/** * @return * @uml.property name="step_timeout_ms" */ public int getStep_timeout_ms() { return detector.getStepTimeoutMS(); }
/** * @return * @uml.property name="peak" */ public double getPeak() { return detector.getPeak(); }
/** * @return * @uml.property name="a" */ public double getA() { return detector.getA(); }