ShutdownRecevier.java 1.24 KB
package com.dinhcv.lifelogpedometer.feature;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

import com.dinhcv.lifelogpedometer.model.Shareprefer.Setting;
import com.dinhcv.lifelogpedometer.utils.Utils;


public class ShutdownRecevier extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        context.startService(new Intent(context, SensorListener.class));

        Setting.setPedometerCorrectShutdown(context, true);

        Database db = Database.getInstance(context);
        // if it's already a new day, add the temp. steps to the last one
        if (db.getSteps(Utils.getToday()) == Integer.MIN_VALUE) {
            int steps = db.getCurrentSteps();
            int pauseDifference = steps - Setting.getPedometerPauseCount(context, steps);
            db.insertNewDay(Utils.getToday(), steps - pauseDifference);
            if (pauseDifference > 0) {
                // update pauseCount for the new day
                Setting.setPedometerPauseCount(context, steps);
            }
        } else {
            db.addToLastEntry(db.getCurrentSteps());
        }
        // current steps will be reset on boot
        db.close();
    }

}