Clover Coverage Report - AnCal Coverage Report
Coverage timestamp: gio dic 18 2014 12:18:42 EST
../../../../../img/srcFileCovDistChart6.png 88% of files have more coverage
81   213   31   11,57
42   164   0,38   2,33
7     4,43  
3    
This report was generated with an evaluation server license. Purchase Clover or configure your license.
 
  AlarmDataView       Line # 13 45 16 92,6% 0.9264706
  AlarmDataView.ApptsItemsComparator       Line # 16 23 10 20% 0.2
  AlarmDataView.TasksItemsComparator       Line # 64 13 5 27,3% 0.27272728
 
No Tests
 
1   
2    package pl.magot.vetch.ancal.reminder;
3   
4   
5    import java.util.*;
6    import android.content.Context;
7    import pl.magot.vetch.ancal.Utils;
8    import pl.magot.vetch.ancal.database.*;
9    import pl.magot.vetch.ancal.dataview.*;
10    import pl.magot.vetch.ancal.agenda.*;
11   
12   
 
13    public class AlarmDataView
14    {
15    //Comparator type for appointments
 
16    public class ApptsItemsComparator implements Comparator<AlarmDataViewItem>
17    {
 
18  2 toggle public int compare(AlarmDataViewItem item1, AlarmDataViewItem item2)
19    {
20  2 if (item1.IsOverdue() || item2.IsOverdue())
21    {
22    //overdue items for sorting
23  0 if (item1.GetOverdueDays() < item2.GetOverdueDays())
24  0 return 1;
25  0 if (item1.GetOverdueDays() > item2.GetOverdueDays())
26  0 return -1;
27   
28  0 if (item1.GetOverdueDays() == item2.GetOverdueDays())
29    {
30  0 String s1 = item1.sSubject;
31  0 String s2 = item2.sSubject;
32  0 return s1.compareTo(s2);
33    }
34   
35  0 return 0;
36    } else {
37    //today items for sorting
38  2 if (item1.TimeAsSeconds() == item2.TimeAsSeconds())
39    {
40  2 String s1 = item1.sSubject;
41  2 String s2 = item2.sSubject;
42  2 return s1.compareTo(s2);
43    } else {
44   
45  0 if (item1.TimeAsSeconds() > item2.TimeAsSeconds())
46  0 return 1;
47  0 if (item1.TimeAsSeconds() < item2.TimeAsSeconds())
48  0 return -1;
49   
50  0 if (item1.TimeAsSeconds() == item2.TimeAsSeconds())
51    {
52  0 String s1 = item1.sSubject;
53  0 String s2 = item2.sSubject;
54  0 return s1.compareTo(s2);
55    }
56    }
57   
58    }
59  0 return 0;
60    }
61    };
62   
63    //Comparator type for tasks
 
64    public class TasksItemsComparator implements Comparator<AlarmDataViewItem>
65    {
 
66  2 toggle public int compare(AlarmDataViewItem item1, AlarmDataViewItem item2)
67    {
68  2 if (item1.lPriority == item2.lPriority)
69    {
70  2 String s1 = item1.sSubject;
71  2 String s2 = item2.sSubject;
72  2 return s1.compareTo(s2);
73    } else {
74   
75  0 if (item1.lPriority > item2.lPriority)
76  0 return 1;
77  0 if (item1.lPriority < item2.lPriority)
78  0 return -1;
79   
80  0 if (item1.lPriority == item2.lPriority)
81    {
82  0 String s1 = item1.sSubject;
83  0 String s2 = item2.sSubject;
84  0 return s1.compareTo(s2);
85    }
86    }
87  0 return 0;
88    }
89    };
90   
91   
92    //fields
93    protected ArrayList<AlarmDataViewItem> alarmItemsAppts = new ArrayList<AlarmDataViewItem>();
94    protected ArrayList<AlarmDataViewItem> alarmItemsTasks = new ArrayList<AlarmDataViewItem>();
95    private ApptsItemsComparator fnApptsItemsCmp = null;
96    private TasksItemsComparator fnTasksItemsCmp = null;
97   
98    //fields
99    protected Context ctx = null;
100    protected Database db = null;
101    protected Utils utils = null;
102    protected AlarmService.AlarmPrefs prefs = null;
103   
104    //fields
105    private DataViewAppointment dataViewAppt = null;
106    private DataViewTask dataViewTask = null;
107   
108    //fields
109    private final AgendaViewType agendaViewType = AgendaViewType.TODAY_ALARM;
110    private Calendar calStartDate = Calendar.getInstance();
111    private AlarmsManager alarmsManager = null;
112   
113    //methods
 
114  1 toggle public AlarmDataView(Context ctx, Database db, AlarmService.AlarmPrefs prefs, Utils utils)
115    {
116  1 this.ctx = ctx;
117  1 this.db = db;
118  1 this.prefs = prefs;
119  1 this.utils = utils;
120   
121    //create alarsm manager instance
122  1 alarmsManager = new AlarmsManager(this.db, this.prefs);
123   
124  1 this.fnApptsItemsCmp = new ApptsItemsComparator();
125  1 this.fnTasksItemsCmp = new TasksItemsComparator();
126   
127  1 dataViewAppt = new DataViewAppointment(db, prefs);
128  1 dataViewTask = new DataViewTask(db, prefs);
129    }
130   
 
131  30 toggle private boolean ReloadData()
132    {
133  30 if (db.DatabaseReady())
134    {
135  30 dataViewAppt.ReloadTable();
136  30 dataViewTask.ReloadTable();
137   
138  30 dataViewAppt.FilterData(calStartDate, agendaViewType);
139  30 dataViewTask.FilterData(calStartDate, agendaViewType);
140   
141  30 return true;
142    }
143   
144  0 return false;
145    }
146   
 
147  30 toggle public boolean CollectAlarmItems()
148    {
149  30 calStartDate.setTimeInMillis(System.currentTimeMillis());
150   
151  30 final int iHour = calStartDate.get(Calendar.HOUR_OF_DAY);
152  30 final int iMinute = calStartDate.get(Calendar.MINUTE);
153  30 final int iCurrTimeKey = (iHour * 100) + iMinute;
154   
155  30 alarmItemsAppts.clear();
156  30 alarmItemsTasks.clear();
157   
158  30 if (ReloadData())
159    {
160   
161    //collect appointments
162  113 for (int i = 0; i < dataViewAppt.GetRowsCountTotal(); i++)
163    {
164  83 DataViewItem row = dataViewAppt.GetRow(i, agendaViewType);
165  83 if ((row != null) && (row.bAlarm))
166    {
167  23 if (row.TimeOverdue(iCurrTimeKey))
168    {
169  15 if (alarmsManager.CanShowAlarmToday(AlarmDataViewItem.iOrderAppts, row.lID, row.IsRepeat()))
170    {
171  9 AlarmDataViewItem item = new AlarmDataViewItem(row.lID, row.sSubject, AlarmDataViewItem.iOrderAppts, row.bAlarm);
172  9 item.SetRepeatDays(row.GetVisibleDays());
173  9 item.Set(row.GetStartHour(), row.GetStartMinute(), row.GetDuration());
174  9 alarmItemsAppts.add(item);
175    }
176    }
177    }
178    }
179   
180    //collect tasks
181  70 for (int i = 0; i < dataViewTask.GetRowsCountTotal(); i++)
182    {
183  40 DataViewItem row = dataViewTask.GetRow(i, agendaViewType);
184  40 if ((row != null) && (row.bAlarm))
185    {
186  6 if (alarmsManager.CanShowAlarmToday(AlarmDataViewItem.iOrderTasks, row.lID, row.IsRepeat()))
187    {
188  6 AlarmDataViewItem item = new AlarmDataViewItem(row.lID, row.sSubject, AlarmDataViewItem.iOrderTasks, row.bAlarm);
189  6 item.Set(row.GetPriority());
190  6 alarmItemsTasks.add(item);
191    }
192    }
193    }
194   
195  30 Collections.sort(alarmItemsAppts, fnApptsItemsCmp);
196  30 Collections.sort(alarmItemsTasks, fnTasksItemsCmp);
197   
198  30 return true;
199    }
200  0 return false;
201    }
202   
 
203  30 toggle public ArrayList<AlarmDataViewItem> GetApptsData()
204    {
205  30 return alarmItemsAppts;
206    }
207   
 
208  30 toggle public ArrayList<AlarmDataViewItem> GetTasksData()
209    {
210  30 return alarmItemsTasks;
211    }
212   
213    }