From 81faf895d7654322d46e1254bd9f75d915c78622 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Tue, 25 Jun 2013 10:16:27 -0700 Subject: [PATCH] Use SimpleDateFormat for time zone formatting. There's no need to do time zone formatting manually. Change-Id: Ibef222d11d04a327e9ef64ddc48322558028555d --- .../android/settings/DateTimeSettings.java | 39 +++---------------- .../settings/DateTimeSettingsSetupWizard.java | 2 - 2 files changed, 5 insertions(+), 36 deletions(-) diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java index 83adf271ffd..6c6553bd406 100644 --- a/src/com/android/settings/DateTimeSettings.java +++ b/src/com/android/settings/DateTimeSettings.java @@ -39,6 +39,7 @@ import android.text.format.DateFormat; import android.widget.DatePicker; import android.widget.TimePicker; +import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.TimeZone; @@ -372,40 +373,10 @@ public class DateTimeSettings extends SettingsPreferenceFragment } } - /* Helper routines to format timezone */ - - /* package */ static String getTimeZoneText(TimeZone tz) { - // Similar to new SimpleDateFormat("'GMT'Z, zzzz").format(new Date()), but - // we want "GMT-03:00" rather than "GMT-0300". - Date now = new Date(); - return formatOffset(new StringBuilder(), tz, now). - append(", "). - append(tz.getDisplayName(tz.inDaylightTime(now), TimeZone.LONG)).toString(); - } - - private static StringBuilder formatOffset(StringBuilder sb, TimeZone tz, Date d) { - int off = tz.getOffset(d.getTime()) / 1000 / 60; - - sb.append("GMT"); - if (off < 0) { - sb.append('-'); - off = -off; - } else { - sb.append('+'); - } - - int hours = off / 60; - int minutes = off % 60; - - sb.append((char) ('0' + hours / 10)); - sb.append((char) ('0' + hours % 10)); - - sb.append(':'); - - sb.append((char) ('0' + minutes / 10)); - sb.append((char) ('0' + minutes % 10)); - - return sb; + private static String getTimeZoneText(TimeZone tz) { + SimpleDateFormat sdf = new SimpleDateFormat("ZZZZ, zzzz"); + sdf.setTimeZone(tz); + return sdf.format(new Date()); } private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { diff --git a/src/com/android/settings/DateTimeSettingsSetupWizard.java b/src/com/android/settings/DateTimeSettingsSetupWizard.java index f4b0da5b832..bb2c6da1bcf 100644 --- a/src/com/android/settings/DateTimeSettingsSetupWizard.java +++ b/src/com/android/settings/DateTimeSettingsSetupWizard.java @@ -121,7 +121,6 @@ public class DateTimeSettingsSetupWizard extends Activity mSelectedTimeZone = tz; mTimeZoneButton = (Button)findViewById(R.id.time_zone_button); mTimeZoneButton.setText(tz.getDisplayName()); - // mTimeZoneButton.setText(DateTimeSettings.getTimeZoneText(tz)); mTimeZoneButton.setOnClickListener(this); final boolean autoDateTimeEnabled; @@ -245,7 +244,6 @@ public class DateTimeSettingsSetupWizard extends Activity if (mTimeZoneButton != null) { mTimeZoneButton.setText(tz.getDisplayName()); } - // mTimeZoneButton.setText(DateTimeSettings.getTimeZoneText(tz)); mDatePicker.updateDate(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH)); mTimePicker.setCurrentHour(now.get(Calendar.HOUR_OF_DAY));