Clover Coverage Report - AnCal Coverage Report
Coverage timestamp: gio dic 18 2014 12:18:42 EST
../../../../../img/srcFileCovDistChart9.png 40% of files have more coverage
119   319   48   5,41
48   247   0,4   22
22     2,18  
1    
This report was generated with an evaluation server license. Purchase Clover or configure your license.
 
  ActivityTask       Line # 20 119 48 87,8% 0.87830687
 
No Tests
 
1   
2    package pl.magot.vetch.ancal.activities;
3   
4   
5    import java.util.*;
6    import pl.magot.vetch.widgets.*;
7    import pl.magot.vetch.ancal.AnCalDateUtils;
8    import pl.magot.vetch.ancal.CommonActivity;
9    import pl.magot.vetch.ancal.R;
10    import pl.magot.vetch.ancal.database.DataRowTask;
11    import pl.magot.vetch.ancal.database.DataTable;
12    import pl.magot.vetch.widgets.DateWidget;
13    import android.content.Intent;
14    import android.os.Bundle;
15    import android.view.*;
16    import android.widget.*;
17   
18   
19    //New task activity
 
20    public class ActivityTask extends CommonActivity
21    {
22    //private fields
23    private Calendar dateDue = null;
24    private DataRowTask dataRow = null;
25    private DataTable dataTable = null;
26    private int iTaskPriority = 2;
27   
28    //views
29    private TouchEdit edSubject = null;
30    private CheckBox chkDone = null;
31    private CheckBox chkAlarm = null;
32    private Button btnDueDate = null;
33    private ImageButton btnDelete = null;
34    private ImageButton btnSave = null;
35   
36    //priority views
37    private Button btnTaskPriorityLow = null;
38    private Button btnTaskPriorityDefault = null;
39    private Button btnTaskPriorityHigh = null;
40   
41    //methods
 
42  7 toggle @Override
43    public void onCreate(Bundle icicle)
44    {
45  7 super.onCreate(icicle);
46  7 setContentView(R.layout.task);
47   
48    //initialize objects
49  7 dataRow = new DataRowTask(userdb);
50  7 dataTable = new DataTable(dataRow);
51   
52    //check startup mode and open data
53  7 if (GetStartMode() == StartMode.EDIT)
54  3 if (!OpenDataForEdit(dataTable))
55  0 finish();
56   
57    //initialize views
58  7 InitViews();
59  7 InitState();
60    }
61   
 
62  7 toggle @Override
63    public void onStart()
64    {
65  7 super.onStart();
66   
67    }
68   
 
69  9 toggle @Override
70    public void onResume()
71    {
72  9 super.onResume();
73   
74    }
75   
 
76  9 toggle @Override
77    public void onPause()
78    {
79  9 super.onPause();
80   
81    }
82   
 
83  7 toggle private void InitViews()
84    {
85  7 edSubject = (TouchEdit)findViewById(R.id.edTaskSubject);
86  7 edSubject.setOnOpenKeyboard(new TouchEdit.OnOpenKeyboard()
87    {
 
88  0 toggle public void OnOpenKeyboardEvent()
89    {
90  0 KeyboardWidget.Open(ActivityTask.this, edSubject.getText().toString());
91    }
92    });
93   
94  7 chkDone = (CheckBox)findViewById(R.id.chkTaskDone);
95   
96  7 chkAlarm = (CheckBox)findViewById(R.id.chkTaskAlarm);
97  7 btnDueDate = (Button)findViewById(R.id.btnTaskDueDate);
98   
99  7 btnSave = (ImageButton)findViewById(R.id.btnTaskSave);
100  7 btnSave.setOnClickListener(new View.OnClickListener() {
 
101  6 toggle public void onClick(View v) {
102  6 SaveData();
103    }
104    });
105   
106  7 btnDelete = (ImageButton)findViewById(R.id.btnTaskDelete);
107  7 btnDelete.setOnClickListener(new View.OnClickListener() {
 
108  1 toggle public void onClick(View v) {
109  1 DeleteData();
110    }
111    });
112   
113  7 btnDueDate.setOnClickListener(new View.OnClickListener() {
 
114  2 toggle public void onClick(View v) {
115   
116  2 DateWidget.Open(ActivityTask.this, true, dateDue, prefs.iFirstDayOfWeek);
117   
118    }
119    });
120   
121    //priority
122  7 btnTaskPriorityLow = (Button)findViewById(R.id.btnTaskPriorityLow);
123  7 btnTaskPriorityLow.setOnClickListener(new View.OnClickListener() {
 
124  1 toggle public void onClick(View v) {
125  1 SetPriority(3);
126    }
127    });
128  7 btnTaskPriorityDefault = (Button)findViewById(R.id.btnTaskPriorityDefault);
129  7 btnTaskPriorityDefault.setOnClickListener(new View.OnClickListener() {
 
130  1 toggle public void onClick(View v) {
131  1 SetPriority(2);
132    }
133    });
134  7 btnTaskPriorityHigh = (Button)findViewById(R.id.btnTaskPriorityHigh);
135  7 btnTaskPriorityHigh.setOnClickListener(new View.OnClickListener() {
 
136  3 toggle public void onClick(View v) {
137  3 SetPriority(1);
138    }
139    });
140   
141    }
142   
 
143  12 toggle public void SetPriority(int iPriority)
144    {
145    //update global value
146  12 this.iTaskPriority = iPriority;
147    //enable buttons
148  12 btnTaskPriorityHigh.setEnabled((iPriority != 1));
149  12 btnTaskPriorityDefault.setEnabled((iPriority != 2));
150  12 btnTaskPriorityLow.setEnabled((iPriority != 3));
151  12 Button btn = null;
152  12 if (iPriority == 1)
153  6 btn = btnTaskPriorityHigh;
154    // 1: Daily
155  12 if (iPriority == 2)
156  5 btn = btnTaskPriorityDefault;
157    // 2: Weekly
158  12 if (iPriority == 3)
159  1 btn = btnTaskPriorityLow;
160    //set focus
161  12 if ((btn != null) && (!btn.isFocused()))
162  12 btn.requestFocus();
163    }
164   
 
165  7 toggle private void InitState()
166    {
167    //title
168  7 String sSubTitle = utils.GetResStr(R.string.titleDefaultAppointment);
169   
170  7 dateDue = Calendar.getInstance();
171   
172    //INSERT MODE
173  7 if (GetStartMode() == StartMode.NEW)
174    {
175  4 dateDue.setTimeInMillis(0);
176  4 sSubTitle = utils.GetResStr(R.string.titleNewTask);
177  4 btnDelete.setVisibility(View.INVISIBLE);
178  4 chkDone.setChecked(false);
179  4 chkDone.setVisibility(View.GONE);
180  4 SetPriority(2);
181  4 chkAlarm.setChecked(false);
182    }
183   
184    //EDIT MODE
185  7 if (GetStartMode() == StartMode.EDIT)
186    {
187  3 dateDue.setTimeInMillis(dataRow.GetDueDate().getTimeInMillis());
188  3 sSubTitle = utils.GetResStr(R.string.titleEditTask);
189  3 edSubject.setText(dataRow.GetSubject());
190  3 btnDelete.setVisibility(View.VISIBLE);
191  3 chkDone.setChecked(dataRow.GetDone());
192  3 chkDone.setVisibility(View.VISIBLE);
193  3 SetPriority(dataRow.GetPriority());
194  3 chkAlarm.setChecked(dataRow.GetAlarm());
195    }
196   
197  7 restoreStateFromFreezeIfRequired();
198   
199  7 SetActivityTitle(sSubTitle);
200  7 UpdateDueDateView();
201   
202    //set focus to subject
203  7 edSubject.requestFocus();
204  7 if (GetStartMode() == StartMode.EDIT)
205  3 edSubject.setSelection(edSubject.length());
206    }
207   
 
208  9 toggle private void UpdateDueDateView()
209    {
210  9 if (dateDue.getTimeInMillis() != 0)
211    {
212  4 btnDueDate.setText(AnCalDateUtils.formatMediumDate(this, dateDue));
213    } else {
214  5 btnDueDate.setText(utils.GetResStr(R.string.labNoDate));
215    }
216    }
217   
 
218  6 toggle public void SaveData()
219    {
220  6 if (dateDue.getTimeInMillis() != 0)
221  3 if (DateBeforeNow(dateDue))
222  0 return;
223   
224  6 dataRow.SetSubject(edSubject.getText().toString());
225  6 dataRow.SetDone(chkDone.isChecked());
226  6 dataRow.SetPriority(this.iTaskPriority);
227  6 dataRow.SetAlarm(chkAlarm.isChecked());
228   
229  6 if (dateDue.getTimeInMillis() != 0)
230    {
231  3 dataRow.SetDueDate(dateDue);
232    } else {
233  3 dataRow.SetDueDate(null);
234    }
235   
236  6 if (SaveDataToTable(dataTable))
237  6 CloseActivity(dataTable);
238    }
239   
 
240  1 toggle public void DeleteData()
241    {
242  1 if (DeleteDataFromTable(dataTable))
243  1 CloseActivity(dataTable);
244    }
245   
 
246  3 toggle @Override
247    public void SaveDateValuesBeforeChange(Bundle data)
248    {
249  3 super.SaveDateValuesBeforeChange(data);
250  3 if (GetStartMode() == StartMode.EDIT)
251    {
252  3 if (dataRow.UsingDueDate())
253  2 data.putLong("dateDue", dataRow.GetDueDate().getTimeInMillis());
254    }
255    }
256   
 
257  6 toggle @Override
258    public boolean DateValuesChanged(Bundle data)
259    {
260  6 super.DateValuesChanged(data);
261  6 if (GetStartMode() == StartMode.EDIT)
262    {
263  2 if (dataRow.UsingDueDate())
264  1 if (dateDue.getTimeInMillis() != data.getLong("dateDue"))
265  0 return true;
266    }
267  6 return false;
268    }
269   
 
270  2 toggle @Override
271    protected void onActivityResult(int requestCode, int resultCode, Intent data)
272    {
273  2 super.onActivityResult(requestCode, resultCode, data);
274   
275  2 Bundle extras = CommonActivity.getIntentExtras(data);
276  2 if (extras != null)
277    {
278   
279    //check for date widget edit request code
280  2 if (requestCode == DateWidget.SELECT_DATE_REQUEST)
281    {
282  2 final long lDate = DateWidget.GetSelectedDateOnActivityResult(requestCode, resultCode, extras, dateDue);
283  2 if (lDate != -1)
284    {
285  2 UpdateDueDateView();
286    }
287    }
288   
289    //get KeyboardWidget result
290  2 if ((requestCode == KeyboardWidget.EDIT_TEXT_REQUEST) && (resultCode == RESULT_OK))
291    {
292  0 String sText = KeyboardWidget.GetTextOnActivityResult(requestCode, resultCode, extras);
293  0 edSubject.setText(sText);
294    }
295   
296    }
297    }
298   
 
299  2 toggle @Override
300    protected void onSaveInstanceState(Bundle outState)
301    {
302  2 super.onSaveInstanceState(outState);
303    //save controls state
304  2 outState.putString("subject", edSubject.getText().toString());
305  2 outState.putBoolean("alarm", chkAlarm.isChecked());
306  2 outState.putInt("priority", this.iTaskPriority);
307  2 outState.putLong("dateDue", dateDue.getTimeInMillis());
308    }
309   
 
310  0 toggle @Override
311    protected void restoreStateFromFreeze()
312    {
313  0 edSubject.setText(freeze.getString("subject"));
314  0 chkAlarm.setChecked(freeze.getBoolean("alarm"));
315  0 SetPriority(freeze.getInt("priority"));
316  0 dateDue.setTimeInMillis(freeze.getLong("dateDue"));
317    }
318   
319    }