OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library observatory_element; | 5 library observatory_element; |
6 | 6 |
7 import 'dart:math'; | 7 import 'dart:math'; |
8 import 'package:polymer/polymer.dart'; | 8 import 'package:polymer/polymer.dart'; |
9 | 9 |
10 /// Base class for all Observatory custom elements. | 10 /// Base class for all Observatory custom elements. |
(...skipping 20 matching lines...) Expand all Loading... |
31 while (pad > 1) { | 31 while (pad > 1) { |
32 int pow10 = pow(10, pad - 1); | 32 int pow10 = pow(10, pad - 1); |
33 if (value < pow10) { | 33 if (value < pow10) { |
34 prefix = prefix + "0"; | 34 prefix = prefix + "0"; |
35 } | 35 } |
36 pad--; | 36 pad--; |
37 } | 37 } |
38 return "${prefix}${value}"; | 38 return "${prefix}${value}"; |
39 } | 39 } |
40 | 40 |
41 String formatTime(double time) { | 41 String formatTimePrecise(double time) { |
42 if (time == null) { | 42 if (time == null) { |
43 return "-"; | 43 return "-"; |
44 } | 44 } |
45 const millisPerHour = 60 * 60 * 1000; | 45 const millisPerHour = 60 * 60 * 1000; |
46 const millisPerMinute = 60 * 1000; | 46 const millisPerMinute = 60 * 1000; |
47 const millisPerSecond = 1000; | 47 const millisPerSecond = 1000; |
48 | 48 |
49 var millis = (time * millisPerSecond).round(); | 49 var millis = (time * millisPerSecond).round(); |
50 | 50 |
51 var hours = millis ~/ millisPerHour; | 51 var hours = millis ~/ millisPerHour; |
52 millis = millis % millisPerHour; | 52 millis = millis % millisPerHour; |
53 | 53 |
54 var minutes = millis ~/ millisPerMinute; | 54 var minutes = millis ~/ millisPerMinute; |
55 millis = millis % millisPerMinute; | 55 millis = millis % millisPerMinute; |
56 | 56 |
57 var seconds = millis ~/ millisPerSecond; | 57 var seconds = millis ~/ millisPerSecond; |
58 millis = millis % millisPerSecond; | 58 millis = millis % millisPerSecond; |
59 | 59 |
60 return ("${_zeroPad(hours,2)}" | 60 return ("${_zeroPad(hours,2)}" |
61 ":${_zeroPad(minutes,2)}" | 61 ":${_zeroPad(minutes,2)}" |
62 ":${_zeroPad(seconds,2)}" | 62 ":${_zeroPad(seconds,2)}" |
63 ".${_zeroPad(millis,3)}"); | 63 ".${_zeroPad(millis,3)}"); |
64 | 64 |
65 } | 65 } |
66 | 66 |
| 67 String formatTime(double time) { |
| 68 if (time == null) { |
| 69 return "-"; |
| 70 } |
| 71 const millisPerHour = 60 * 60 * 1000; |
| 72 const millisPerMinute = 60 * 1000; |
| 73 const millisPerSecond = 1000; |
| 74 |
| 75 var millis = (time * millisPerSecond).round(); |
| 76 |
| 77 var hours = millis ~/ millisPerHour; |
| 78 millis = millis % millisPerHour; |
| 79 |
| 80 var minutes = millis ~/ millisPerMinute; |
| 81 millis = millis % millisPerMinute; |
| 82 |
| 83 var seconds = millis ~/ millisPerSecond; |
| 84 |
| 85 StringBuffer out = new StringBuffer(); |
| 86 if (hours != 0) { |
| 87 return '${hours}h ${minutes}m ${seconds}s'; |
| 88 } |
| 89 if (minutes != 0) { |
| 90 return '${minutes}m ${seconds}s'; |
| 91 } |
| 92 return '${seconds}s'; |
| 93 } |
| 94 |
67 String formatSeconds(double x) { | 95 String formatSeconds(double x) { |
68 return x.toStringAsFixed(2); | 96 return x.toStringAsFixed(2); |
69 } | 97 } |
70 | 98 |
71 | 99 |
72 String formatSize(int bytes) { | 100 String formatSize(int bytes) { |
73 const int bytesPerKB = 1024; | 101 const int bytesPerKB = 1024; |
74 const int bytesPerMB = 1024 * bytesPerKB; | 102 const int bytesPerMB = 1024 * bytesPerKB; |
75 const int bytesPerGB = 1024 * bytesPerMB; | 103 const int bytesPerGB = 1024 * bytesPerMB; |
76 const int bytesPerTB = 1024 * bytesPerGB; | 104 const int bytesPerTB = 1024 * bytesPerGB; |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 'Bool', | 169 'Bool', |
142 'String', | 170 'String', |
143 'Closure', | 171 'Closure', |
144 'Double', | 172 'Double', |
145 'Instance', | 173 'Instance', |
146 'GrowableObjectArray', | 174 'GrowableObjectArray', |
147 'Array', | 175 'Array', |
148 'Error'].contains(type)); | 176 'Error'].contains(type)); |
149 } | 177 } |
150 } | 178 } |
OLD | NEW |