From 26577cbfcd9a173280a9a8e282ca8208944fa1ce Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Fri, 9 Dec 2016 10:23:33 +0100 Subject: [PATCH] RCApp specific TimeUtils --- .../android/shared/util/TimeUtils.java | 44 +------------- .../fragments/raceinfo/MoreFlagsFragment.java | 2 +- .../raceinfo/RaceTimeChangeFragment.java | 2 +- .../racecommittee/app/utils/TimeUtils.java | 57 +++++++++++++++++++ 4 files changed, 60 insertions(+), 45 deletions(-) create mode 100644 mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/utils/TimeUtils.java diff --git a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/shared/util/TimeUtils.java b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/shared/util/TimeUtils.java index d36921a6dd6..d1ba5ce36ff 100755 --- a/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/shared/util/TimeUtils.java +++ b/mobile/com.sap.sailing.android.shared/src/com/sap/sailing/android/shared/util/TimeUtils.java @@ -22,7 +22,7 @@ import com.sap.sse.common.impl.MillisecondsTimePoint; public class TimeUtils { - private TimeUtils() { + protected TimeUtils() { // only static methods } @@ -201,48 +201,6 @@ public class TimeUtils { } } - public static void initTimePickerWithSeconds(Context context, final Calendar time, @Nullable final TimePicker timePicker, @Nullable NumberPicker secondPicker) { - int textColor = ThemeHelper.getColor(context, R.attr.white); - int dividerColor = ThemeHelper.getColor(context, R.attr.sap_yellow_1); - if (timePicker != null) { - ViewHelper.disableSave(timePicker); - ThemeHelper.setPickerColor(context, timePicker, textColor, dividerColor); - timePicker.setIs24HourView(true); - timePicker.setCurrentHour(time.get(Calendar.HOUR_OF_DAY)); - } - if (secondPicker != null) { - ViewHelper.disableSave(secondPicker); - ThemeHelper.setPickerColor(context, secondPicker, textColor, dividerColor); - secondPicker.setMinValue(0); - secondPicker.setMaxValue(59); - secondPicker.setFormatter(new NumberPicker.Formatter() { - @Override - public String format(int value) { - return String.format(Locale.US, "%02d", value); - } - }); - secondPicker.setValue(time.get(Calendar.SECOND)); - secondPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { - @Override - public void onValueChange(NumberPicker picker, int oldVal, int newVal) { - if (timePicker != null) { - Calendar pickerTime = (Calendar) time.clone(); - pickerTime.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour()); - pickerTime.set(Calendar.MINUTE, timePicker.getCurrentMinute()); - if (oldVal == 0 && newVal == 59) { - pickerTime.add(Calendar.MINUTE, -1); - } - if (oldVal == 59 && newVal == 0) { - pickerTime.add(Calendar.MINUTE, 1); - } - timePicker.setCurrentHour(pickerTime.get(Calendar.HOUR_OF_DAY)); - timePicker.setCurrentMinute(pickerTime.get(Calendar.MINUTE)); - } - } - }); - } - } - public static ArrayList getDates(Context context, TimePoint start, TimePoint end) { ArrayList dates = new ArrayList<>(); SimpleDateFormat simpleFormat = new SimpleDateFormat(context.getString(R.string.date_short), Locale.US); diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/MoreFlagsFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/MoreFlagsFragment.java index 29dd4e4410f..2947cf4cff8 100755 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/MoreFlagsFragment.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/MoreFlagsFragment.java @@ -15,7 +15,6 @@ import android.widget.TimePicker; import android.widget.Toast; import com.sap.sailing.android.shared.util.AppUtils; -import com.sap.sailing.android.shared.util.TimeUtils; import com.sap.sailing.android.shared.util.ViewHelper; import com.sap.sailing.domain.common.racelog.Flags; import com.sap.sailing.domain.common.racelog.RaceLogRaceStatus; @@ -26,6 +25,7 @@ import com.sap.sailing.racecommittee.app.ui.adapters.MoreFlagsAdapter; import com.sap.sailing.racecommittee.app.ui.adapters.MoreFlagsAdapter.MoreFlag; import com.sap.sailing.racecommittee.app.ui.adapters.MoreFlagsAdapter.MoreFlagItemClick; import com.sap.sailing.racecommittee.app.ui.utils.FlagsResources; +import com.sap.sailing.racecommittee.app.utils.TimeUtils; import com.sap.sse.common.TimePoint; import com.sap.sse.common.impl.MillisecondsTimePoint; diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/RaceTimeChangeFragment.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/RaceTimeChangeFragment.java index e97cbcd0165..77c2afe6195 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/RaceTimeChangeFragment.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/raceinfo/RaceTimeChangeFragment.java @@ -15,13 +15,13 @@ import android.widget.TimePicker; import android.widget.Toast; import com.sap.sailing.android.shared.util.BroadcastManager; -import com.sap.sailing.android.shared.util.TimeUtils; import com.sap.sailing.android.shared.util.ViewHelper; import com.sap.sailing.racecommittee.app.AppConstants; import com.sap.sailing.racecommittee.app.R; import com.sap.sailing.racecommittee.app.domain.impl.Result; import com.sap.sailing.racecommittee.app.ui.layouts.HeaderLayout; import com.sap.sailing.racecommittee.app.utils.ThemeHelper; +import com.sap.sailing.racecommittee.app.utils.TimeUtils; import com.sap.sse.common.TimePoint; import com.sap.sse.common.impl.MillisecondsTimePoint; diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/utils/TimeUtils.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/utils/TimeUtils.java new file mode 100644 index 00000000000..c297c4cfdb6 --- /dev/null +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/utils/TimeUtils.java @@ -0,0 +1,57 @@ +package com.sap.sailing.racecommittee.app.utils; + +import java.util.Calendar; +import java.util.Locale; + +import android.content.Context; +import android.support.annotation.Nullable; +import android.widget.NumberPicker; +import android.widget.TimePicker; + +import com.sap.sailing.android.shared.util.ViewHelper; +import com.sap.sailing.racecommittee.app.R; + +public class TimeUtils extends com.sap.sailing.android.shared.util.TimeUtils { + + public static void initTimePickerWithSeconds(Context context, final Calendar time, @Nullable final TimePicker timePicker, @Nullable NumberPicker secondPicker) { + int textColor = ThemeHelper.getColor(context, R.attr.white); + int dividerColor = ThemeHelper.getColor(context, R.attr.sap_yellow_1); + if (timePicker != null) { + ViewHelper.disableSave(timePicker); + ThemeHelper.setPickerColor(context, timePicker, textColor, dividerColor); + timePicker.setIs24HourView(true); + timePicker.setCurrentHour(time.get(Calendar.HOUR_OF_DAY)); + } + if (secondPicker != null) { + ViewHelper.disableSave(secondPicker); + ThemeHelper.setPickerColor(context, secondPicker, textColor, dividerColor); + secondPicker.setMinValue(0); + secondPicker.setMaxValue(59); + secondPicker.setFormatter(new NumberPicker.Formatter() { + @Override + public String format(int value) { + return String.format(Locale.US, "%02d", value); + } + }); + secondPicker.setValue(time.get(Calendar.SECOND)); + secondPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker picker, int oldVal, int newVal) { + if (timePicker != null) { + Calendar pickerTime = (Calendar) time.clone(); + pickerTime.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour()); + pickerTime.set(Calendar.MINUTE, timePicker.getCurrentMinute()); + if (oldVal == 0 && newVal == 59) { + pickerTime.add(Calendar.MINUTE, -1); + } + if (oldVal == 59 && newVal == 0) { + pickerTime.add(Calendar.MINUTE, 1); + } + timePicker.setCurrentHour(pickerTime.get(Calendar.HOUR_OF_DAY)); + timePicker.setCurrentMinute(pickerTime.get(Calendar.MINUTE)); + } + } + }); + } + } +}