1
0
Fork 0
mirror of https://github.com/MatomoCamp/matomocamp-companion-android.git synced 2024-09-19 16:13:46 +02:00

Fixed time formatting to properly use the device's current Locale.

This commit is contained in:
Christophe Beyls 2015-12-27 19:30:43 +01:00
parent ae7ef84396
commit 24b6364a96
4 changed files with 27 additions and 26 deletions

View file

@ -1,8 +1,5 @@
package be.digitalia.fosdem.adapters; package be.digitalia.fosdem.adapters;
import java.text.DateFormat;
import java.util.Date;
import android.content.Context; import android.content.Context;
import android.database.Cursor; import android.database.Cursor;
import android.support.v4.widget.CursorAdapter; import android.support.v4.widget.CursorAdapter;
@ -14,6 +11,10 @@ import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView; import android.widget.TextView;
import java.text.DateFormat;
import java.util.Date;
import be.digitalia.fosdem.R; import be.digitalia.fosdem.R;
import be.digitalia.fosdem.db.DatabaseManager; import be.digitalia.fosdem.db.DatabaseManager;
import be.digitalia.fosdem.model.Event; import be.digitalia.fosdem.model.Event;
@ -21,9 +22,8 @@ import be.digitalia.fosdem.utils.DateUtils;
public class EventsAdapter extends CursorAdapter { public class EventsAdapter extends CursorAdapter {
private static final DateFormat TIME_DATE_FORMAT = DateUtils.getTimeDateFormat();
private final LayoutInflater inflater; private final LayoutInflater inflater;
private final DateFormat timeDateFormat;
private final int titleTextSize; private final int titleTextSize;
private final boolean showDay; private final boolean showDay;
@ -34,6 +34,7 @@ public class EventsAdapter extends CursorAdapter {
public EventsAdapter(Context context, boolean showDay) { public EventsAdapter(Context context, boolean showDay) {
super(context, null, 0); super(context, null, 0);
inflater = LayoutInflater.from(context); inflater = LayoutInflater.from(context);
timeDateFormat = DateUtils.getTimeDateFormat(context);
titleTextSize = context.getResources().getDimensionPixelSize(R.dimen.list_item_title_text_size); titleTextSize = context.getResources().getDimensionPixelSize(R.dimen.list_item_title_text_size);
this.showDay = showDay; this.showDay = showDay;
} }
@ -80,8 +81,8 @@ public class EventsAdapter extends CursorAdapter {
Date startTime = event.getStartTime(); Date startTime = event.getStartTime();
Date endTime = event.getEndTime(); Date endTime = event.getEndTime();
String startTimeString = (startTime != null) ? TIME_DATE_FORMAT.format(startTime) : "?"; String startTimeString = (startTime != null) ? timeDateFormat.format(startTime) : "?";
String endTimeString = (endTime != null) ? TIME_DATE_FORMAT.format(endTime) : "?"; String endTimeString = (endTime != null) ? timeDateFormat.format(endTime) : "?";
String details; String details;
if (showDay) { if (showDay) {
details = String.format("%1$s, %2$s ― %3$s | %4$s", event.getDay().getShortName(), startTimeString, endTimeString, event.getRoomName()); details = String.format("%1$s, %2$s ― %3$s | %4$s", event.getDay().getShortName(), startTimeString, endTimeString, event.getRoomName());

View file

@ -75,8 +75,6 @@ public class EventDetailsFragment extends Fragment {
private static final String ARG_EVENT = "event"; private static final String ARG_EVENT = "event";
private static final DateFormat TIME_DATE_FORMAT = DateUtils.getTimeDateFormat();
private Event event; private Event event;
private int personsCount = 1; private int personsCount = 1;
private Boolean isBookmarked; private Boolean isBookmarked;
@ -135,8 +133,11 @@ public class EventDetailsFragment extends Fragment {
((TextView) view.findViewById(R.id.track)).setText(event.getTrack().getName()); ((TextView) view.findViewById(R.id.track)).setText(event.getTrack().getName());
Date startTime = event.getStartTime(); Date startTime = event.getStartTime();
Date endTime = event.getEndTime(); Date endTime = event.getEndTime();
text = String.format("%1$s, %2$s ― %3$s", event.getDay().toString(), (startTime != null) ? TIME_DATE_FORMAT.format(startTime) : "?", DateFormat timeDateFormat = DateUtils.getTimeDateFormat(getActivity());
(endTime != null) ? TIME_DATE_FORMAT.format(endTime) : "?"); text = String.format("%1$s, %2$s ― %3$s",
event.getDay().toString(),
(startTime != null) ? timeDateFormat.format(startTime) : "?",
(endTime != null) ? timeDateFormat.format(endTime) : "?");
((TextView) view.findViewById(R.id.time)).setText(text); ((TextView) view.findViewById(R.id.time)).setText(text);
final String roomName = event.getRoomName(); final String roomName = event.getRoomName();
TextView roomTextView = (TextView) view.findViewById(R.id.room); TextView roomTextView = (TextView) view.findViewById(R.id.room);

View file

@ -1,7 +1,5 @@
package be.digitalia.fosdem.fragments; package be.digitalia.fosdem.fragments;
import java.text.DateFormat;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
@ -23,6 +21,9 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ListView; import android.widget.ListView;
import android.widget.TextView; import android.widget.TextView;
import java.text.DateFormat;
import be.digitalia.fosdem.R; import be.digitalia.fosdem.R;
import be.digitalia.fosdem.db.DatabaseManager; import be.digitalia.fosdem.db.DatabaseManager;
import be.digitalia.fosdem.loaders.TrackScheduleLoader; import be.digitalia.fosdem.loaders.TrackScheduleLoader;
@ -158,10 +159,10 @@ public class TrackScheduleListFragment extends SmoothListFragment implements Han
@Override @Override
public boolean handleMessage(Message msg) { public boolean handleMessage(Message msg) {
switch (msg.what) { switch (msg.what) {
case REFRESH_TIME_WHAT: case REFRESH_TIME_WHAT:
adapter.setCurrentTime(System.currentTimeMillis()); adapter.setCurrentTime(System.currentTimeMillis());
handler.sendEmptyMessageDelayed(REFRESH_TIME_WHAT, REFRESH_TIME_INTERVAL); handler.sendEmptyMessageDelayed(REFRESH_TIME_WHAT, REFRESH_TIME_INTERVAL);
return true; return true;
} }
return false; return false;
} }
@ -239,9 +240,8 @@ public class TrackScheduleListFragment extends SmoothListFragment implements Han
private static class TrackScheduleAdapter extends CursorAdapter { private static class TrackScheduleAdapter extends CursorAdapter {
private static final DateFormat TIME_DATE_FORMAT = DateUtils.getTimeDateFormat();
private final LayoutInflater inflater; private final LayoutInflater inflater;
private final DateFormat timeDateFormat;
private final int timeBackgroundColor; private final int timeBackgroundColor;
private final int timeForegroundColor; private final int timeForegroundColor;
private final int timeRunningBackgroundColor; private final int timeRunningBackgroundColor;
@ -252,6 +252,7 @@ public class TrackScheduleListFragment extends SmoothListFragment implements Han
public TrackScheduleAdapter(Context context) { public TrackScheduleAdapter(Context context) {
super(context, null, 0); super(context, null, 0);
inflater = LayoutInflater.from(context); inflater = LayoutInflater.from(context);
timeDateFormat = DateUtils.getTimeDateFormat(context);
Resources res = context.getResources(); Resources res = context.getResources();
timeBackgroundColor = res.getColor(R.color.schedule_time_background); timeBackgroundColor = res.getColor(R.color.schedule_time_background);
timeForegroundColor = res.getColor(R.color.schedule_time_foreground); timeForegroundColor = res.getColor(R.color.schedule_time_foreground);
@ -292,7 +293,7 @@ public class TrackScheduleListFragment extends SmoothListFragment implements Han
Event event = DatabaseManager.toEvent(cursor, holder.event); Event event = DatabaseManager.toEvent(cursor, holder.event);
holder.event = event; holder.event = event;
holder.time.setText(TIME_DATE_FORMAT.format(event.getStartTime())); holder.time.setText(timeDateFormat.format(event.getStartTime()));
if ((currentTime != -1L) && event.isRunningAtTime(currentTime)) { if ((currentTime != -1L) && event.isRunningAtTime(currentTime)) {
// Contrast colors for running event // Contrast colors for running event
holder.time.setBackgroundColor(timeRunningBackgroundColor); holder.time.setBackgroundColor(timeRunningBackgroundColor);

View file

@ -1,16 +1,14 @@
package be.digitalia.fosdem.utils; package be.digitalia.fosdem.utils;
import android.content.Context;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Locale;
import java.util.TimeZone; import java.util.TimeZone;
public class DateUtils { public class DateUtils {
private static final TimeZone BELGIUM_TIME_ZONE = TimeZone.getTimeZone("GMT+1"); private static final TimeZone BELGIUM_TIME_ZONE = TimeZone.getTimeZone("GMT+1");
private static final DateFormat TIME_DATE_FORMAT = withBelgiumTimeZone(SimpleDateFormat.getTimeInstance(SimpleDateFormat.SHORT, Locale.getDefault()));
public static TimeZone getBelgiumTimeZone() { public static TimeZone getBelgiumTimeZone() {
return BELGIUM_TIME_ZONE; return BELGIUM_TIME_ZONE;
} }
@ -20,7 +18,7 @@ public class DateUtils {
return format; return format;
} }
public static DateFormat getTimeDateFormat() { public static DateFormat getTimeDateFormat(Context context) {
return TIME_DATE_FORMAT; return withBelgiumTimeZone(android.text.format.DateFormat.getTimeFormat(context));
} }
} }