DataViewItem.java :  » UnTagged » stuassistant » com » stuassistant » mycalendar » dataview » Android Open Source

Android Open Source » UnTagged » stuassistant 
stuassistant » com » stuassistant » mycalendar » dataview » DataViewItem.java

package com.stuassistant.mycalendar.dataview;


import java.util.Calendar;

import com.stuassistant.mycalendar.agenda.AgendaView;


public class DataViewItem
{
  
  public long lID = -1;
  public String sSubject = "";
  
  private long lStartDate = 0;
  private int iHour = 0;
  private int iMinute = 0;
  
  public long lRepeatEndOnDate = 0;
  public long lDueDate = 0;
  
  public int iDurationInMinutes = 0;
  public boolean bAlarm = false;
  public boolean bDone = false;
  public boolean bAllDay = false;
  public long lPriority = -1;
  public int iRepeatType = 0;
  public int iRepeatEvery = 1;    
  public int viewMode = AgendaView.viewMode.NONE;
  
  private long lRepeatDaysBitMask = 0;    
  
  
  public void Clear()
  {
    lRepeatDaysBitMask = 0;
  }
  
  public boolean IsRepeat()
  {
    return (iRepeatType > 0);
  }
  
  public boolean UseRepeatEndOnDate()
  {
    return (lRepeatEndOnDate > 0);      
  }
  
  public boolean UseDueDate()
  {
    return (lDueDate > 0);
  }
  
  public void SetStartDate(Calendar calUtilDate, long lStartDate)
  {
    this.lStartDate = lStartDate;
    calUtilDate.setTimeInMillis(this.lStartDate);
    iHour = calUtilDate.get(Calendar.HOUR_OF_DAY);  
    iMinute = calUtilDate.get(Calendar.MINUTE);
  }
  
  public long GetStartDateAsLong()
  {
    return lStartDate;
  }
  
  public int GetStartHour()
  {
    if (bAllDay)
      return 0;
    return iHour;
  }

  public int GetStartMinute()
  {
    if (bAllDay)
      return 0;
    return iMinute;
  }

  public int GetDuration()
  {
    return iDurationInMinutes;
  }
  
  public long GetPriority()
  {
    return lPriority;
  }
  
  public void SetVisibleDay(int iDay)
  {
    lRepeatDaysBitMask |= 0x01L << iDay; 
  }
  
  public boolean GetVisibleDay(int iDay)
  {
    long bitMask = 0x01L << iDay;
    return ((lRepeatDaysBitMask & bitMask) != 0);
  }
  
  public long GetVisibleDays()
  {
    return lRepeatDaysBitMask; 
  }
  
  
  public long GetTimeDataAsBitMask(int iDay)
  {
    if (GetVisibleDay(iDay))
    {
      int iHour = GetStartHour();      
      long bitHour = 0x01L << iHour;      
      return bitHour;
    }
    return 0;
  }
  
  public int GetOverdueDays()
  {
    long bitMask = 0x01L;
    for (int iDayOffset = 0; iDayOffset < 7; iDayOffset++)
    {
      if ((lRepeatDaysBitMask & bitMask) == bitMask)
        return iDayOffset;
      bitMask <<= 1;
    }
    return 0;
  }
  
  public int GetTimeKey()
  {
    return (GetStartHour() * 100) + GetStartMinute();
  }
  
  public boolean TimeOverdue(int iCurrTimeKey)
  {
    final int iOverdueDays = GetOverdueDays();
    
    if (iOverdueDays == 0)
    {
      if (iCurrTimeKey >= GetTimeKey())
        return true;
    }
    
    if (iOverdueDays > 0)
      return true;
    
    return false;
  }
  
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.