package com.dinhcv.lifelogpedometer.model; import com.dinhcv.lifelogpedometer.model.database.entities.m_step; import com.dinhcv.lifelogpedometer.model.structure.StepInfo; import com.dinhcv.lifelogpedometer.utils.Debug; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; public class StepModel { private StepInfo entity2StepInfo(m_step e) { StepInfo p = new StepInfo(); p.setId(e.id); p.setStep( e.step); p.setDate( new Date(e.date *1000)); return p; } public List getStepList(){ List steps = m_step.find( m_step.class, null, null, null, null, null ); if (steps != null){ Debug.normal("Step Info list Size is: "+steps.size()); }else { Debug.warn("Step Info list is null..."); } if (steps.size() >1 ){ Debug.warn("Found %d Step of List", steps.size()); } //convert to IInfo List stepInfos = new ArrayList<>(); for (int i = 0; i " + fromDate.getTime()/1000 + " AND time_out < "+ toDate.getTime()/1000; List steps = m_step.find(m_step.class, whereStr, null, null, null, null); if (steps == null) { Debug.normal("Step is null"); return null; } StepInfo stepInfo = entity2StepInfo(steps.get(0)); Debug.normal("Login Success"); return stepInfo; } public StepInfo getStepOnMonth(Date date){ Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.HOUR_OF_DAY, 0); calendar.add(Calendar.MINUTE, 0); Date fromDate = calendar.getTime(); Calendar calendar1 = Calendar.getInstance(); calendar1.setTime(date); calendar1.add(Calendar.HOUR_OF_DAY, 23); calendar1.add(Calendar.MINUTE, 59); Date toDate = calendar1.getTime(); String whereStr = "date > " + fromDate.getTime()/1000 + " AND time_out < "+ toDate.getTime()/1000; List steps = m_step.find(m_step.class, whereStr, null, null, null, null); if (steps == null) { Debug.normal("Step is null"); return null; } StepInfo stepInfo = entity2StepInfo(steps.get(0)); Debug.normal("Login Success"); return stepInfo; } public boolean saveStepDate(StepInfo stepInfo){ m_step step = m_step.findById(m_step.class, stepInfo.getId(), "id"); if (step == null) { Debug.normal("User is null. And create new user"); step = new m_step(); } step.step = stepInfo.getStep(); step.date = stepInfo.getDate().getTime() /1000; long t = step.save(); if (t < 0){ Debug.error("Error. Can not save step"); return false; } Debug.normal("Success. Save step success"); return true; } public boolean deleteStep(int uid){ String whereStr = "id = ?"; int status = m_step.delete(m_step.class, whereStr, new String[] {String.valueOf(uid)}); if (status < 0) { Debug.error("Error. Can delete step"); return false; } Debug.normal("Delete step success"); return true; } }