From f5f75104868ce699db458ce6360f3843371e594f Mon Sep 17 00:00:00 2001 From: Bjorn Bringert Date: Tue, 23 Nov 2010 14:43:12 +0000 Subject: Fix issue #3224616: TimeUtils.formatDuration() can drop 0s. Integrated from master. Change-Id: Ie12dd25cce03c06fafb7df1335266322df43b038 --- core/java/android/util/TimeUtils.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'core/java') diff --git a/core/java/android/util/TimeUtils.java b/core/java/android/util/TimeUtils.java index 60ca384..85ce5e1 100644 --- a/core/java/android/util/TimeUtils.java +++ b/core/java/android/util/TimeUtils.java @@ -158,18 +158,17 @@ public class TimeUtils { static private int printField(char[] formatStr, int amt, char suffix, int pos, boolean always, int zeropad) { if (always || amt > 0) { + final int startPos = pos; if ((always && zeropad >= 3) || amt > 99) { int dig = amt/100; formatStr[pos] = (char)(dig + '0'); pos++; - always = true; amt -= (dig*100); } - if ((always && zeropad >= 2) || amt > 9) { + if ((always && zeropad >= 2) || amt > 9 || startPos != pos) { int dig = amt/10; formatStr[pos] = (char)(dig + '0'); pos++; - always = true; amt -= (dig*10); } formatStr[pos] = (char)(amt + '0'); -- cgit v1.1