1 |
|
|
2 |
|
package pl.magot.vetch.ancal.reminder; |
3 |
|
|
4 |
|
|
5 |
|
import java.util.Calendar; |
6 |
|
import pl.magot.vetch.ancal.CommonActivity; |
7 |
|
import pl.magot.vetch.ancal.Prefs; |
8 |
|
import pl.magot.vetch.ancal.Utils; |
9 |
|
import pl.magot.vetch.ancal.database.Database; |
10 |
|
import android.app.Service; |
11 |
|
import android.content.Context; |
12 |
|
import android.content.Intent; |
13 |
|
import android.os.*; |
14 |
|
|
15 |
|
|
|
|
| 87% |
Uncovered Elements: 6 (46) |
Complexity: 12 |
Complexity Density: 0,41 |
|
16 |
|
public class AlarmService extends Service |
17 |
|
{ |
18 |
|
|
|
|
| 77,3% |
Uncovered Elements: 5 (22) |
Complexity: 7 |
Complexity Density: 0,7 |
|
19 |
|
protected class AlarmPrefs extends Prefs |
20 |
|
{ |
21 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
22 |
1
|
public AlarmPrefs(Context ctx)... |
23 |
|
{ |
24 |
1
|
super(ctx); |
25 |
|
} |
|
|
| 73,7% |
Uncovered Elements: 5 (19) |
Complexity: 6 |
Complexity Density: 0,67 |
|
26 |
1
|
protected void GetServicePrefs(Bundle arguments)... |
27 |
|
{ |
28 |
1
|
if (arguments != null) |
29 |
|
{ |
30 |
1
|
if (arguments.containsKey("b24HourMode")) |
31 |
1
|
b24HourMode = arguments.getBoolean("b24HourMode"); |
32 |
1
|
if (arguments.containsKey("iFirstDayOfWeek")) |
33 |
1
|
iFirstDayOfWeek = arguments.getInt("iFirstDayOfWeek"); |
34 |
1
|
if (arguments.containsKey("iSnoozeCount")) |
35 |
1
|
iSnoozeCount = arguments.getInt("iSnoozeCount"); |
36 |
1
|
if (arguments.containsKey("iSnoozeMinutesOverdue")) |
37 |
1
|
iSnoozeMinutesOverdue = arguments.getInt("iSnoozeMinutesOverdue"); |
38 |
|
} |
39 |
|
} |
40 |
|
} |
41 |
|
|
42 |
|
|
43 |
|
protected static final int GET_PID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION; |
44 |
|
|
45 |
|
|
46 |
|
private Utils utils = null; |
47 |
|
private AlarmPrefs prefs = null; |
48 |
|
private Database db = null; |
49 |
|
private AlarmDataView dataView = null; |
50 |
|
private AlarmReminder reminder = null; |
51 |
|
|
52 |
|
|
53 |
|
private Calendar dateToday = Calendar.getInstance(); |
54 |
|
private Handler handlerUpdateDate = new Handler(); |
55 |
|
private final static int iHandlerUpdateTime = 1000 * 3; |
56 |
|
private int iUpdateDate_minute = 0; |
57 |
|
|
58 |
|
|
59 |
|
|
60 |
|
|
61 |
|
|
62 |
|
|
63 |
|
|
64 |
|
|
65 |
|
|
66 |
|
|
67 |
|
|
68 |
|
|
69 |
|
|
70 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 1 |
Complexity Density: 0,14 |
|
71 |
1
|
@Override... |
72 |
|
public void onCreate() |
73 |
|
{ |
74 |
|
|
75 |
1
|
db = new Database(this); |
76 |
1
|
utils = new Utils(this); |
77 |
1
|
prefs = new AlarmPrefs(this); |
78 |
|
|
79 |
1
|
dataView = new AlarmDataView(this, db, prefs, utils); |
80 |
1
|
reminder = new AlarmReminder(this, prefs, utils); |
81 |
|
|
82 |
|
|
83 |
1
|
handlerUpdateDate.removeCallbacks(handlerUpdateDateTask); |
84 |
1
|
handlerUpdateDate.postDelayed(handlerUpdateDateTask, iHandlerUpdateTime); |
85 |
|
} |
86 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (12) |
Complexity: 4 |
Complexity Density: 0,67 |
|
87 |
25
|
@Override... |
88 |
|
public void onStart(Intent intent, int startId) |
89 |
|
{ |
90 |
25
|
Bundle args = intent.getExtras(); |
91 |
25
|
if (args != null) |
92 |
|
{ |
93 |
|
|
94 |
24
|
if (args.containsKey(CommonActivity.bundleTableUpdated)) |
95 |
|
{ |
96 |
23
|
RefreshAlarmData(); |
97 |
|
} |
98 |
|
|
99 |
24
|
if (args.containsKey(CommonActivity.bundleOptionsUpdated)) |
100 |
|
{ |
101 |
|
|
102 |
1
|
prefs.GetServicePrefs(args); |
103 |
|
} |
104 |
|
} |
105 |
|
} |
106 |
|
|
|
|
| 0% |
Uncovered Elements: 2 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
|
107 |
0
|
@Override... |
108 |
|
public void onDestroy() |
109 |
|
{ |
110 |
|
|
111 |
0
|
reminder.RemoveNotify(); |
112 |
0
|
handlerUpdateDate.removeCallbacks(handlerUpdateDateTask); |
113 |
|
} |
114 |
|
|
115 |
|
|
116 |
|
|
117 |
|
|
118 |
|
|
119 |
|
|
120 |
|
|
121 |
|
|
122 |
|
|
|
|
| 100% |
Uncovered Elements: 0 (2) |
Complexity: 1 |
Complexity Density: 0,5 |
|
123 |
118
|
public synchronized void UpdateTodayDate()... |
124 |
|
{ |
125 |
118
|
dateToday.setTimeInMillis(System.currentTimeMillis()); |
126 |
118
|
dateToday.setFirstDayOfWeek(prefs.iFirstDayOfWeek); |
127 |
|
} |
128 |
|
|
129 |
|
private Runnable handlerUpdateDateTask = new Runnable() |
130 |
|
{ |
|
|
| 100% |
Uncovered Elements: 0 (7) |
Complexity: 2 |
Complexity Density: 0,4 |
|
131 |
118
|
public void run()... |
132 |
|
{ |
133 |
118
|
try |
134 |
|
{ |
135 |
118
|
UpdateTodayDate(); |
136 |
|
|
137 |
118
|
if (iUpdateDate_minute != dateToday.get(Calendar.MINUTE)) |
138 |
|
{ |
139 |
7
|
RefreshAlarmData(); |
140 |
|
} |
141 |
|
} finally { |
142 |
118
|
handlerUpdateDate.postDelayed(this, iHandlerUpdateTime); |
143 |
|
} |
144 |
|
} |
145 |
|
}; |
146 |
|
|
|
|
| 87,5% |
Uncovered Elements: 1 (8) |
Complexity: 2 |
Complexity Density: 0,33 |
|
147 |
30
|
private synchronized void RefreshAlarmData()... |
148 |
|
{ |
149 |
30
|
iUpdateDate_minute = dateToday.get(Calendar.MINUTE); |
150 |
30
|
if (dataView.CollectAlarmItems()) |
151 |
|
{ |
152 |
30
|
reminder.Clear(); |
153 |
30
|
reminder.AddAlarmData(dataView.GetApptsData()); |
154 |
30
|
reminder.AddAlarmData(dataView.GetTasksData()); |
155 |
30
|
reminder.ShowNotification(); |
156 |
|
} |
157 |
|
} |
158 |
|
|
|
|
| 0% |
Uncovered Elements: 1 (1) |
Complexity: 1 |
Complexity Density: 1 |
|
159 |
0
|
@Override... |
160 |
|
public IBinder onBind(Intent intent) |
161 |
|
{ |
162 |
|
|
163 |
0
|
return null; |
164 |
|
} |
165 |
|
|
166 |
|
} |
167 |
|
|