mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-30 15:57:11 +00:00
# more formatting
This commit is contained in:
1 parent
7fcee6437c
commit
76120cc31a
1 file changed
+127
-130
+127
-130
@@ -23,147 +23,144 @@ import com.sap.sailing.racecommittee.app.utils.TickListener;
|
||||
import com.sap.sailing.racecommittee.app.utils.TickSingleton;
|
||||
|
||||
public class SetTimeRaceFragment extends RaceFragment implements TickListener {
|
||||
|
||||
public static SetTimeRaceFragment create(ManagedRace race) {
|
||||
SetTimeRaceFragment fragment = new SetTimeRaceFragment();
|
||||
fragment.setArguments(createArguments(race));
|
||||
return fragment;
|
||||
}
|
||||
|
||||
protected boolean isReset;
|
||||
|
||||
protected TimePicker startTimePicker;
|
||||
protected Button setStartTimeButton;
|
||||
protected TextView countdownView;
|
||||
protected ImageButton abortRaceButton;
|
||||
|
||||
protected Date scheduledTime;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
return inflater.inflate(R.layout.race_reset_time, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
|
||||
isReset = getArguments().getBoolean(AppConstants.RESET_TIME_FRAGMENT_IS_RESET);
|
||||
public static SetTimeRaceFragment create(ManagedRace race) {
|
||||
SetTimeRaceFragment fragment = new SetTimeRaceFragment();
|
||||
fragment.setArguments(createArguments(race));
|
||||
return fragment;
|
||||
}
|
||||
|
||||
startTimePicker = (TimePicker) getView().findViewById(R.id.timePicker);
|
||||
setStartTimeButton = (Button) getView().findViewById(R.id.btnRescheduleTime);
|
||||
countdownView = (TextView) getView().findViewById(R.id.time_below_picker);
|
||||
abortRaceButton = (ImageButton) getView().findViewById(R.id.resetTimeAPButton);
|
||||
|
||||
startTimePicker.setIs24HourView(true);
|
||||
startTimePicker.setOnClickListener(new OnClickListener() {
|
||||
public void onClick(View view) {
|
||||
refreshDifferenceTime();
|
||||
}
|
||||
});
|
||||
setStartTimeButton.setText(isReset ? R.string.reset_time : R.string.set_time);
|
||||
setStartTimeButton.setOnClickListener(new OnClickListener() {
|
||||
public void onClick(View view) {
|
||||
setStartTime();
|
||||
}
|
||||
});
|
||||
|
||||
/// TODO: click-listener for abort button
|
||||
|
||||
refreshTimePickerTime();
|
||||
}
|
||||
protected boolean isReset;
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
TickSingleton.INSTANCE.registerListener(this);
|
||||
}
|
||||
protected TimePicker startTimePicker;
|
||||
protected Button setStartTimeButton;
|
||||
protected TextView countdownView;
|
||||
protected ImageButton abortRaceButton;
|
||||
|
||||
@Override
|
||||
public void onStop() {
|
||||
TickSingleton.INSTANCE.unregisterListener(this);
|
||||
super.onStop();
|
||||
}
|
||||
protected Date scheduledTime;
|
||||
|
||||
public void notifyTick() {
|
||||
refreshDifferenceTime();
|
||||
}
|
||||
|
||||
private void refreshTimePickerTime() {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.add(Calendar.MINUTE, AppConstants.DefaultStartTimeMinuteOffset);
|
||||
int hour = calendar.get(Calendar.HOUR_OF_DAY);
|
||||
int minute = calendar.get(Calendar.MINUTE);
|
||||
startTimePicker.setCurrentHour(hour);
|
||||
startTimePicker.setCurrentMinute(minute);
|
||||
refreshDifferenceTime();;
|
||||
}
|
||||
|
||||
private void refreshDifferenceTime() {
|
||||
// This method might be called by the ticker before initialization happens...
|
||||
if (startTimePicker == null || countdownView == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
/// TODO: Why is this method synchronized?
|
||||
synchronized (this) {
|
||||
int hourOfDay = startTimePicker.getCurrentHour();
|
||||
int minute = startTimePicker.getCurrentMinute();
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
return inflater.inflate(R.layout.race_reset_time, container, false);
|
||||
}
|
||||
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(System.currentTimeMillis());
|
||||
Date nowDate = calendar.getTime();
|
||||
@Override
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
|
||||
Date pickedDate = (Date) nowDate.clone();
|
||||
pickedDate.setHours(hourOfDay);
|
||||
pickedDate.setMinutes(minute);
|
||||
pickedDate.setSeconds(0);
|
||||
isReset = getArguments().getBoolean(AppConstants.RESET_TIME_FRAGMENT_IS_RESET);
|
||||
|
||||
long nowTime = nowDate.getTime();
|
||||
long pickedTime = pickedDate.getTime();
|
||||
long diffTime = pickedTime - nowTime;
|
||||
if (diffTime >= 0 && diffTime > 12 * 60 * 60 * 1000) {
|
||||
diffTime -= (24 * 60 * 60 * 1000);
|
||||
} else if (diffTime < 0 && diffTime < -(12 * 60 * 60 * 1000)) {
|
||||
diffTime += (24 * 60 * 60 * 1000);
|
||||
}
|
||||
startTimePicker = (TimePicker) getView().findViewById(R.id.timePicker);
|
||||
setStartTimeButton = (Button) getView().findViewById(R.id.btnRescheduleTime);
|
||||
countdownView = (TextView) getView().findViewById(R.id.time_below_picker);
|
||||
abortRaceButton = (ImageButton) getView().findViewById(R.id.resetTimeAPButton);
|
||||
|
||||
long diffHours = diffTime / 1000 / 60 / 60;
|
||||
long diffMins = (diffTime / 1000 / 60) % 60;
|
||||
long diffSecs = (diffTime / 1000) % 60;
|
||||
startTimePicker.setIs24HourView(true);
|
||||
startTimePicker.setOnClickListener(new OnClickListener() {
|
||||
public void onClick(View view) {
|
||||
refreshDifferenceTime();
|
||||
}
|
||||
});
|
||||
setStartTimeButton.setText(isReset ? R.string.reset_time : R.string.set_time);
|
||||
setStartTimeButton.setOnClickListener(new OnClickListener() {
|
||||
public void onClick(View view) {
|
||||
setStartTime();
|
||||
}
|
||||
});
|
||||
|
||||
String minusInd = (diffHours < 0 || diffMins < 0 || diffSecs < 0 ? "-" : "");
|
||||
// / TODO: click-listener for abort button
|
||||
|
||||
countdownView.setText(getString(R.string.time_until_start) + ": "
|
||||
+ minusInd + Math.abs(diffHours) + "h "
|
||||
+ Math.abs(diffMins) + "min " + Math.abs(diffSecs) + "sec");
|
||||
}
|
||||
}
|
||||
|
||||
protected void setStartTime() {
|
||||
if (isReset) {
|
||||
ExLog.i(ExLog.RACE_RESET_TIME, getRace().getId().toString(), getActivity());
|
||||
} else {
|
||||
ExLog.i(ExLog.RACE_SET_TIME, getRace().getId().toString(), getActivity());
|
||||
}
|
||||
|
||||
Calendar newStartTime = Calendar.getInstance();
|
||||
newStartTime.set(Calendar.HOUR_OF_DAY, startTimePicker.getCurrentHour());
|
||||
newStartTime.set(Calendar.MINUTE, startTimePicker.getCurrentMinute());
|
||||
newStartTime.set(Calendar.SECOND, 0);
|
||||
newStartTime.set(Calendar.MILLISECOND, 0);
|
||||
|
||||
setStartTime(newStartTime.getTime());
|
||||
|
||||
// TODO: start course designer activity!
|
||||
}
|
||||
refreshTimePickerTime();
|
||||
}
|
||||
|
||||
|
||||
private void setStartTime(Date newStartTime) {
|
||||
getRace().getState().setStartTime(
|
||||
new MillisecondsTimePoint(new Date()),
|
||||
new MillisecondsTimePoint(newStartTime));
|
||||
}
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
TickSingleton.INSTANCE.registerListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStop() {
|
||||
TickSingleton.INSTANCE.unregisterListener(this);
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
public void notifyTick() {
|
||||
refreshDifferenceTime();
|
||||
}
|
||||
|
||||
private void refreshTimePickerTime() {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.add(Calendar.MINUTE, AppConstants.DefaultStartTimeMinuteOffset);
|
||||
int hour = calendar.get(Calendar.HOUR_OF_DAY);
|
||||
int minute = calendar.get(Calendar.MINUTE);
|
||||
startTimePicker.setCurrentHour(hour);
|
||||
startTimePicker.setCurrentMinute(minute);
|
||||
refreshDifferenceTime();
|
||||
;
|
||||
}
|
||||
|
||||
private void refreshDifferenceTime() {
|
||||
// This method might be called by the ticker before initialization happens...
|
||||
if (startTimePicker == null || countdownView == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
// / TODO: Why is this method synchronized?
|
||||
synchronized (this) {
|
||||
int hourOfDay = startTimePicker.getCurrentHour();
|
||||
int minute = startTimePicker.getCurrentMinute();
|
||||
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTimeInMillis(System.currentTimeMillis());
|
||||
Date nowDate = calendar.getTime();
|
||||
|
||||
Date pickedDate = (Date) nowDate.clone();
|
||||
pickedDate.setHours(hourOfDay);
|
||||
pickedDate.setMinutes(minute);
|
||||
pickedDate.setSeconds(0);
|
||||
|
||||
long nowTime = nowDate.getTime();
|
||||
long pickedTime = pickedDate.getTime();
|
||||
long diffTime = pickedTime - nowTime;
|
||||
if (diffTime >= 0 && diffTime > 12 * 60 * 60 * 1000) {
|
||||
diffTime -= (24 * 60 * 60 * 1000);
|
||||
} else if (diffTime < 0 && diffTime < -(12 * 60 * 60 * 1000)) {
|
||||
diffTime += (24 * 60 * 60 * 1000);
|
||||
}
|
||||
|
||||
long diffHours = diffTime / 1000 / 60 / 60;
|
||||
long diffMins = (diffTime / 1000 / 60) % 60;
|
||||
long diffSecs = (diffTime / 1000) % 60;
|
||||
|
||||
String minusInd = (diffHours < 0 || diffMins < 0 || diffSecs < 0 ? "-" : "");
|
||||
|
||||
countdownView.setText(getString(R.string.time_until_start) + ": " + minusInd + Math.abs(diffHours) + "h "
|
||||
+ Math.abs(diffMins) + "min " + Math.abs(diffSecs) + "sec");
|
||||
}
|
||||
}
|
||||
|
||||
protected void setStartTime() {
|
||||
if (isReset) {
|
||||
ExLog.i(ExLog.RACE_RESET_TIME, getRace().getId().toString(), getActivity());
|
||||
} else {
|
||||
ExLog.i(ExLog.RACE_SET_TIME, getRace().getId().toString(), getActivity());
|
||||
}
|
||||
|
||||
Calendar newStartTime = Calendar.getInstance();
|
||||
newStartTime.set(Calendar.HOUR_OF_DAY, startTimePicker.getCurrentHour());
|
||||
newStartTime.set(Calendar.MINUTE, startTimePicker.getCurrentMinute());
|
||||
newStartTime.set(Calendar.SECOND, 0);
|
||||
newStartTime.set(Calendar.MILLISECOND, 0);
|
||||
|
||||
setStartTime(newStartTime.getTime());
|
||||
|
||||
// TODO: start course designer activity!
|
||||
}
|
||||
|
||||
private void setStartTime(Date newStartTime) {
|
||||
getRace().getState().setStartTime(new MillisecondsTimePoint(new Date()),
|
||||
new MillisecondsTimePoint(newStartTime));
|
||||
}
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user