Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
halo
packages_apps_DeskClock
Commits
325d754b
Commit
325d754b
authored
12 years ago
by
Isaac Katzenelson
Browse files
Options
Download
Email Patches
Plain Diff
Fix formatting of shared laps info
Bug: 8555992 Change-Id: I1d211ace1db81f32e42dfe1e25637dc27251a9fa
parent
fd8fbad2
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
54 additions
and
26 deletions
+54
-26
res/values/strings.xml
res/values/strings.xml
+22
-3
src/com/android/deskclock/stopwatch/Stopwatches.java
src/com/android/deskclock/stopwatch/Stopwatches.java
+32
-23
No files found.
res/values/strings.xml
View file @
325d754b
...
...
@@ -364,8 +364,7 @@
<string
name=
"sw_share_laps"
>
Lap times:
</string>
<!-- Label to enumerate the number of laps in the notification the user has counted -->
<string
name=
"sw_notification_lap_number"
>
Lap
<xliff:g
id=
"number"
>
%d
</xliff:g></string>
<!-- Formatted stopwatch time
[CHAR LIMIT=1] for each abbreviation as in hours_label, etc. -->
<!-- Formatted stopwatch time -->
<string-array
name=
"stopwatch_format_set"
translatable=
"false"
>
<item>
<!-- <10 minutes - example "1 02.03" -->
<xliff:g
id=
"M"
>
%2$d
</xliff:g>
‎
<xliff:g
id=
"S"
>
%3$02d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g><xliff:g
id=
"D"
>
%4$02d
</xliff:g>
...
...
@@ -382,7 +381,27 @@
<item>
<!-- <1000 hours - example "123 04 05.06" -->
<xliff:g
id=
"H"
>
%1$03d
</xliff:g>
‎
<xliff:g
id=
"M"
>
%2$02d
</xliff:g>
‎
<xliff:g
id=
"S"
>
%3$02d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g><xliff:g
id=
"D"
>
%4$02d
</xliff:g>
</item>
</string-array>
</string-array>
<!-- Formatted stopwatch time for laps shared using the share button -->
<string-array
name=
"shared_laps_format_set"
translatable=
"false"
>
<item>
<!-- <10 minutes - example "1 02.03" -->
<xliff:g
id=
"lap"
>
%6$d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g>
‎
<xliff:g
id=
"M"
>
%2$d
</xliff:g>
‎
<xliff:g
id=
"S"
>
%3$02d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g><xliff:g
id=
"D"
>
%4$02d
</xliff:g>
</item>
<item>
<!-- <1 hour - example "12 03.04" -->
<xliff:g
id=
"lap"
>
%6$d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g>
‎
<xliff:g
id=
"M"
>
%2$02d
</xliff:g>
‎
<xliff:g
id=
"S"
>
%3$02d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g><xliff:g
id=
"D"
>
%4$02d
</xliff:g>
</item>
<item>
<!-- <10 hours - example "1 02 03.04" -->
<xliff:g
id=
"lap"
>
%6$d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g>
‎
<xliff:g
id=
"H"
>
%1$d
</xliff:g>
‎
<xliff:g
id=
"M"
>
%2$02d
</xliff:g>
‎
<xliff:g
id=
"S"
>
%3$02d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g><xliff:g
id=
"D"
>
%4$02d
</xliff:g>
</item>
<item>
<!-- <100 hours - example "12 03 04.05" -->
<xliff:g
id=
"lap"
>
%6$d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g>
‎
<xliff:g
id=
"H"
>
%1$02d
</xliff:g>
‎
<xliff:g
id=
"M"
>
%2$02d
</xliff:g>
‎
<xliff:g
id=
"S"
>
%3$02d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g><xliff:g
id=
"D"
>
%4$02d
</xliff:g>
</item>
<item>
<!-- <1000 hours - example "123 04 05.06" -->
<xliff:g
id=
"lap"
>
%6$d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g>
‎
<xliff:g
id=
"H"
>
%1$03d
</xliff:g>
‎
<xliff:g
id=
"M"
>
%2$02d
</xliff:g>
‎
<xliff:g
id=
"S"
>
%3$02d
</xliff:g><xliff:g
id=
"decimal_separator"
>
%5$c
</xliff:g><xliff:g
id=
"D"
>
%4$02d
</xliff:g>
</item>
</string-array>
<!-- Label to enumerate the number of laps the user has counted -->
<string-array
name=
"sw_lap_number_set"
translatable=
"false"
>
<item>
#
<xliff:g
id=
"number"
>
%d
</xliff:g></item>
...
...
This diff is collapsed.
Click to expand it.
src/com/android/deskclock/stopwatch/Stopwatches.java
View file @
325d754b
...
...
@@ -49,6 +49,9 @@ public class Stopwatches {
public
static
final
int
STOPWATCH_STOPPED
=
2
;
public
static
final
int
MAX_LAPS
=
99
;
public
static
final
int
NO_LAP_NUMBER
=
-
1
;
private
static
String
[]
mFormats
=
null
;
public
static
String
getShareTitle
(
Context
context
)
{
String
[]
mLabels
=
context
.
getResources
().
getStringArray
(
R
.
array
.
sw_share_strings
);
...
...
@@ -56,30 +59,43 @@ public class Stopwatches {
}
public
static
String
buildShareResults
(
Context
context
,
String
time
,
long
[]
laps
)
{
String
results
=
context
.
getString
(
R
.
string
.
sw_share_main
,
time
+
"\n"
);
StringBuilder
b
=
new
StringBuilder
(
context
.
getString
(
R
.
string
.
sw_share_main
,
time
));
b
.
append
(
"\n"
);
int
lapsNum
=
laps
==
null
?
0
:
laps
.
length
;
if
(
lapsNum
==
0
)
{
return
results
;
return
b
.
toString
()
;
}
results
+=
context
.
getString
(
R
.
string
.
sw_share_laps
)
+
"\n"
;
b
.
append
(
context
.
getString
(
R
.
string
.
sw_share_laps
));
b
.
append
(
"\n"
);
for
(
int
i
=
1
;
i
<=
lapsNum
;
i
++)
{
results
+=
String
.
format
(
"%d. %s\n"
,
i
,
getTimeText
(
laps
[
lapsNum
-
i
]));
b
.
append
(
getTimeText
(
context
,
laps
[
lapsNum
-
i
],
i
));
b
.
append
(
"\n"
);
}
return
results
;
return
b
.
toString
()
;
}
public
static
String
buildShareResults
(
Context
context
,
long
time
,
long
[]
laps
)
{
return
buildShareResults
(
context
,
getTimeText
(
time
),
laps
);
return
buildShareResults
(
context
,
getTimeText
(
context
,
time
,
NO_LAP_NUMBER
),
laps
);
}
/***
* Sets the string of the time running on the stopwatch up to hundred of a second accuracy
* @param time - in hundreds of a second since the stopwatch started
*/
public
static
String
getTimeText
(
long
time
)
{
public
static
String
getTimeText
(
Context
context
,
long
time
,
int
lap
)
{
if
(
time
<
0
)
{
time
=
0
;
}
if
(
lap
!=
NO_LAP_NUMBER
)
{
mFormats
=
context
.
getResources
().
getStringArray
(
R
.
array
.
shared_laps_format_set
);
}
else
{
mFormats
=
context
.
getResources
().
getStringArray
(
R
.
array
.
stopwatch_format_set
);
}
char
decimalSeparator
=
DecimalFormatSymbols
.
getInstance
().
getDecimalSeparator
();
int
formatIndex
=
0
;
long
hundreds
,
seconds
,
minutes
,
hours
;
seconds
=
time
/
1000
;
hundreds
=
(
time
-
seconds
*
1000
)
/
10
;
...
...
@@ -87,25 +103,19 @@ public class Stopwatches {
seconds
=
seconds
-
minutes
*
60
;
hours
=
minutes
/
60
;
minutes
=
minutes
-
hours
*
60
;
if
(
hours
>
99
)
{
hours
=
0
;
}
// TODO: must build to account for localization
String
timeStr
;
if
(
hours
>=
10
)
{
timeStr
=
String
.
format
(
"%02dh %02dm %02ds .%02d"
,
hours
,
minutes
,
seconds
,
hundreds
);
if
(
hours
>=
100
)
{
formatIndex
=
4
;
}
else
if
(
hours
>=
10
)
{
formatIndex
=
3
;
}
else
if
(
hours
>
0
)
{
timeStr
=
String
.
format
(
"%01dh %02dm %02ds .%02d"
,
hours
,
minutes
,
seconds
,
hundreds
);
formatIndex
=
2
;
}
else
if
(
minutes
>=
10
)
{
timeStr
=
String
.
format
(
"%02dm %02ds .%02d"
,
minutes
,
seconds
,
hundreds
);
formatIndex
=
1
;
}
else
{
timeStr
=
String
.
format
(
"%02dm %02ds .%02d"
,
minutes
,
seconds
,
hundreds
);
formatIndex
=
0
;
}
return
timeStr
;
return
String
.
format
(
mFormats
[
formatIndex
],
hours
,
minutes
,
seconds
,
hundreds
,
decimalSeparator
,
lap
);
}
/***
...
...
@@ -127,5 +137,4 @@ public class Stopwatches {
String
timeStr
=
String
.
format
(
format
,
hours
,
minutes
,
seconds
,
hundreds
,
decimalSeparator
);
return
timeStr
;
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment