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
57   140   19   5,7
16   112   0,33   10
10     1,9  
1    
This report was generated with an evaluation server license. Purchase Clover or configure your license.
 
  TimeCaption       Line # 11 57 19 84,3% 0.8433735
 
No Tests
 
1   
2    package pl.magot.vetch.widgets;
3   
4   
5    import android.content.*;
6    import android.view.*;
7    import android.widget.LinearLayout.LayoutParams;
8    import android.graphics.*;
9   
10   
 
11    public class TimeCaption extends View
12    {
13    //fields
14    private final static float fTextSize = 26;
15    private final static int iBorder = 4;
16   
17    //fields
18    private Paint pt = new Paint();
19    private RectF rect = new RectF();
20    private RectF rectFrame = new RectF();
21    private boolean b24HourMode = false;
22    private String sTime = "";
23    private String sTimeSign = "";
24   
25    //methods
 
26  2 toggle public TimeCaption(Context context, boolean b24HourMode, int iWidth)
27    {
28  2 super(context);
29  2 this.b24HourMode = b24HourMode;
30  2 setFocusable(false);
31  2 final int iHeight = getTotalHeight();
32  2 setLayoutParams(new LayoutParams(iWidth, iHeight));
33  2 initRectangles(iWidth, iHeight);
34    }
35   
 
36  2 toggle private void initRectangles(int iWidth, int iHeight)
37    {
38  2 rect.set(iBorder, iBorder, iWidth - iBorder, iHeight - iBorder);
39  2 rectFrame.set(rect);
40  2 rectFrame.inset(-2, -2);
41    }
42   
 
43  2 toggle private int getTotalHeight()
44    {
45  2 pt.setTextSize(fTextSize);
46  2 return iBorder + iBorder + getTextHeight() + iBorder + iBorder;
47    }
48   
 
49  52 toggle private int getTextHeight()
50    {
51  52 return (int)(-pt.ascent() + pt.descent());
52    }
53   
 
54  25 toggle @Override
55    protected void onDraw(Canvas canvas)
56    {
57  25 super.onDraw(canvas);
58   
59  25 drawBackground(canvas);
60  25 drawText(canvas);
61    }
62   
 
63  25 toggle private void drawBackground(Canvas canvas)
64    {
65  25 pt.setAntiAlias(true);
66   
67  25 pt.setColor(0xff335577);
68  25 canvas.drawRoundRect(rectFrame, 5, 5, pt);
69   
70  25 pt.setColor(0xff557799);
71  25 canvas.drawRoundRect(rect, 4, 4, pt);
72    }
73   
 
74  25 toggle private void drawText(Canvas canvas)
75    {
76  25 pt.setAntiAlias(true);
77  25 pt.setFakeBoldText(true);
78  25 pt.setTypeface(null);
79  25 pt.setTextSize(fTextSize);
80  25 pt.setUnderlineText(false);
81   
82  25 final int iSpace = 4;
83  25 final int iTimeWidth = (int)pt.measureText(sTime);
84  25 final int iTimeSignWidth = (int)pt.measureText(sTimeSign);
85  25 final int iTimeTotalWidth = iTimeWidth + (b24HourMode?0:(iSpace + iTimeSignWidth));
86   
87  25 int iTextPosY = (int)rect.bottom + (int)(-pt.ascent()) - getTextHeight();
88  25 iTextPosY -= ((int)rect.height() >> 1) - (getTextHeight() >> 1);
89   
90  25 final int iTextPosX = (int)rect.left + (((int)rect.width() >> 1) - (iTimeTotalWidth >> 1));
91   
92  25 pt.setColor(0xffffffff);
93  25 canvas.drawText(sTime, iTextPosX, iTextPosY, pt);
94   
95  25 if (!b24HourMode)
96    {
97  25 pt.setColor(0xffaaccee);
98  25 canvas.drawText(sTimeSign, iTextPosX + iTimeWidth + iSpace, iTextPosY, pt);
99    }
100    }
101   
 
102  27 toggle private String GetMinutesString(int iMinutes)
103    {
104  27 if (iMinutes > 9)
105  13 return ":" + Integer.toString(iMinutes);
106  14 return ":0" + Integer.toString(iMinutes);
107    }
108   
 
109  27 toggle private String GetUSTimeMark(int iHour)
110    {
111  27 if (iHour >= 12)
112  27 return "pm";
113  0 return "am";
114    }
115   
 
116  27 toggle public void setTime(int iHour, int iMinutes)
117    {
118  27 if ((iHour == -1) || (iMinutes == -1))
119    {
120  0 sTime = "";
121  0 sTimeSign = "";
122    } else {
123  27 if (b24HourMode)
124    {
125  0 sTime = Integer.toString(iHour) + GetMinutesString(iMinutes);
126  0 sTimeSign = "";
127    } else {
128  27 int iDisplayHour = iHour;
129  27 if (iDisplayHour == 0)
130  0 iDisplayHour = 12;
131  27 if (iDisplayHour > 12)
132  27 iDisplayHour -= 12;
133  27 sTime = Integer.toString(iDisplayHour) + GetMinutesString(iMinutes);
134  27 sTimeSign = GetUSTimeMark(iHour);
135    }
136    }
137  27 this.invalidate();
138    }
139   
140    }