mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 14:20:55 +00:00
Merge branch 'ubilabs--rcapp--bug-2979-new-proposal' into ubilabs--rcapp--develop
This commit is contained in:
commit
13a1a1bbe6
3 files changed
+39
-9
No files matched your search
@@ -40,7 +40,7 @@
|
||||
|
||||
<Button
|
||||
android:id="@+id/set_date_time"
|
||||
style="?attr/buttonSolidXSmall"
|
||||
style="?attr/buttonSolidSmall"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/picker"
|
||||
|
||||
+35
-5
@@ -26,13 +26,16 @@ public class RaceTimeChangeFragment extends BaseFragment implements View.OnClick
|
||||
public final static int FINISHING_TIME_MODE = 1;
|
||||
public final static int FINISHED_TIME_MODE = 2;
|
||||
private final static String START_MODE = "startMode";
|
||||
private static final int FUTURE_DAYS = 3;
|
||||
private static final int PAST_DAYS = -3;
|
||||
private static final int FUTURE_DAYS_DEFAULT = 3;
|
||||
private static final int PAST_DAYS_DEFAULT = -3;
|
||||
|
||||
private NumberPicker mDatePicker;
|
||||
private TimePicker mTimePicker;
|
||||
private NumberPicker mSecondPicker;
|
||||
|
||||
private int mFutureDays = FUTURE_DAYS_DEFAULT;
|
||||
private int mPastDays = PAST_DAYS_DEFAULT;
|
||||
|
||||
public static RaceTimeChangeFragment newInstance(int mode) {
|
||||
RaceTimeChangeFragment fragment = new RaceTimeChangeFragment();
|
||||
Bundle args = new Bundle();
|
||||
@@ -81,10 +84,37 @@ public class RaceTimeChangeFragment extends BaseFragment implements View.OnClick
|
||||
|
||||
mDatePicker = (NumberPicker) layout.findViewById(R.id.date_picker);
|
||||
if (mDatePicker != null) {
|
||||
Calendar start = (Calendar) calendar.clone();
|
||||
Calendar finishing = (Calendar) calendar.clone();
|
||||
Calendar finished = (Calendar) calendar.clone();
|
||||
switch (getArguments().getInt(START_MODE, 0)) {
|
||||
case START_TIME_MODE:
|
||||
finishing.setTime(getRaceState().getFinishingTime().asDate());
|
||||
mFutureDays = TimeUtils.daysBetween(finishing, calendar);
|
||||
break;
|
||||
|
||||
case FINISHING_TIME_MODE:
|
||||
start.setTime(getRaceState().getStartTime().asDate());
|
||||
mPastDays = TimeUtils.daysBetween(calendar, start);
|
||||
finished.setTime(getRaceState().getFinishedTime().asDate());
|
||||
mFutureDays = TimeUtils.daysBetween(finished, calendar);
|
||||
break;
|
||||
|
||||
case FINISHED_TIME_MODE:
|
||||
finishing.setTime(getRaceState().getFinishingTime().asDate());
|
||||
mPastDays = TimeUtils.daysBetween(finishing, calendar);
|
||||
break;
|
||||
|
||||
default:
|
||||
// use default values
|
||||
}
|
||||
ThemeHelper.setPickerTextColor(getActivity(), mDatePicker, ThemeHelper.getColor(getActivity(), R.attr.white));
|
||||
TimeUtils.initDatePicker(getActivity(), mDatePicker, calendar, PAST_DAYS, FUTURE_DAYS, false);
|
||||
mDatePicker.setValue(Math.abs(PAST_DAYS));
|
||||
TimeUtils.initDatePicker(getActivity(), mDatePicker, calendar, mPastDays, mFutureDays, false);
|
||||
mDatePicker.setValue(Math.abs(mPastDays));
|
||||
mDatePicker.setTag(calendar);
|
||||
if (mDatePicker.getMinValue() == mDatePicker.getMaxValue()) {
|
||||
mDatePicker.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
mTimePicker = (TimePicker) layout.findViewById(R.id.time_picker);
|
||||
@@ -174,7 +204,7 @@ public class RaceTimeChangeFragment extends BaseFragment implements View.OnClick
|
||||
|
||||
private TimePoint getPickerTime() {
|
||||
Calendar calendar = (Calendar) mDatePicker.getTag();
|
||||
calendar.add(Calendar.DAY_OF_MONTH, mDatePicker.getValue() + PAST_DAYS);
|
||||
calendar.add(Calendar.DAY_OF_MONTH, mDatePicker.getValue() + mPastDays);
|
||||
calendar.set(Calendar.HOUR_OF_DAY, mTimePicker.getCurrentHour());
|
||||
calendar.set(Calendar.MINUTE, mTimePicker.getCurrentMinute());
|
||||
calendar.set(Calendar.SECOND, mSecondPicker.getValue());
|
||||
|
||||
+3
-3
@@ -139,13 +139,13 @@ public class TimeUtils {
|
||||
dates.add(context.getString(R.string.tomorrow));
|
||||
calendar.add(Calendar.DAY_OF_MONTH, 3);
|
||||
} else {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
for (int i = (pastDays == 0 ? pastDays : -1); i < (futureDays < 2 ? futureDays + 1 : 2); i++) {
|
||||
dates.add(dateFormat.format(calendar.getTime()));
|
||||
calendar.add(Calendar.DAY_OF_MONTH, 1);
|
||||
}
|
||||
}
|
||||
// Future
|
||||
for (int i = 3; i <= futureDays + 1; i++) {
|
||||
for (int i = 2; i <= futureDays; i++) {
|
||||
dates.add(dateFormat.format(calendar.getTime()));
|
||||
calendar.add(Calendar.DAY_OF_MONTH, 1);
|
||||
}
|
||||
@@ -163,4 +163,4 @@ public class TimeUtils {
|
||||
datePicker.getLayoutParams().width = date.getMeasuredWidth();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user