Utils for calculating sleep time : Time « Date Type « Android






Utils for calculating sleep time

  
//package eu.sweetlygeek.sleepytime;

import java.util.Calendar;
import java.util.Date;
import java.util.Set;
import java.util.TreeSet;

/**
 * Utils for calculating sleep time
 * 
 * @author bishiboosh
 * 
 */
class SleepUtils {

  /** Date param for extra */
  public static final String DATE_PARAM = "date";
  /** Choice param for extra */
  public static final String CHOICE_PARAM = "choice";

  private SleepUtils() {
  }

  /**
   * Get times to wake. We add 14 minutes to fall asleep, and calculate the
   * sleep cycles.
   * 
   * @return list of times when to get up
   */
  public static Set<Date> getWakingTimes() {
    return getWakingTime(new Date());
  }

  /**
   * Get times to wake. We add 14 minutes to fall asleep, and calculate the
   * sleep cycles.
   * 
   * @param sleepTime
   *            bed time
   * 
   * @return list of times when to get up
   */
  public static Set<Date> getWakingTime(Date sleepTime) {
    Calendar fallAsleep = Calendar.getInstance();
    fallAsleep.setTime(sleepTime);
    fallAsleep.add(Calendar.MINUTE, 14);
    Set<Date> result = new TreeSet<Date>();
    for (int i = 1; i <= 6; i++) {
      fallAsleep.add(Calendar.MINUTE, 90);
      result.add(fallAsleep.getTime());
    }
    return result;
  }

  /**
   * Get sleeping times corresponding to a local time
   * 
   * @param wakingTime
   *            time to wake up !
   * @return list of times one should go to bed to
   */
  public static Set<Date> getSleepingTimes(Date wakingTime) {
    Set<Date> result = new TreeSet<Date>();
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(wakingTime);
    calendar.add(Calendar.MINUTE, -14);
    calendar.add(Calendar.MINUTE, -(2 * 90));
    for (int i = 3; i <= 6; i++) {
      calendar.add(Calendar.MINUTE, -90);
      result.add(calendar.getTime());
    }
    return result;
  }

}

   
    
  








Related examples in the same category

1.Timer task
2.Using Timer to do repeat task
3.Get Time String From Milliseconds
4.Returns the current time since 1970, UTC, in seconds.
5.Returns the current time since 1970, UTC, in milliseconds.
6.Converts time from a long to a string in a format set by the user in the phone's settings.
7.Returns the current time since 1970, local time zone, in milliseconds.
8.time From Local Millis
9.Given a number, round up to the nearest power of ten times 1, 2, or 5. The argument must be strictly positive.
10.Thread based Timer
11.Create Timestamp
12.Timestamp to Local time in long
13.Timestamp to UTC
14.Get Current Time
15.Get Elapsed Time Minutes Seconds String
16.Get Time String
17.Get Moscow Time
18.Returns the time represented by the time String.
19.int To String Time Format
20.millis To Seconds To Time Str
21.Convert time in seconds to a string in 00:00:00
22.remaining Time To Human Readable Form
23.Get a readable string displaying the time
24.Return the time in ms into format MM:SS
25.Get Time Difference
26.TimeSpan class
27.Calculate how many days the first time is expired than second time.
28.Checks if the first parameter is after the second parameter in time.
29.Checks if the first parameter is before the second parameter in time.
30.GMT (UTC) Time Converter