mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 14:20:55 +00:00
Bug 2979 - Editing of Values in Race Summary
This commit is contained in:
1 parent
ad5ab35194
commit
e479961880
6 files changed
+62
-7
No files matched your search
@@ -59,7 +59,8 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="?create"
|
||||
android:visibility="visible"/>
|
||||
android:visibility="invisible"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/race_start_time"
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
android:background="?sap_gray_black_30">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/picker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
@@ -26,18 +27,26 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"/>
|
||||
|
||||
<NumberPicker
|
||||
android:id="@+id/second_picker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
</LinearLayout>
|
||||
|
||||
<Button
|
||||
android:id="@+id/set_date_time"
|
||||
style="?attr/buttonSolidSmall"
|
||||
style="?attr/buttonSolidXSmall"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_below="@+id/picker"
|
||||
android:layout_margin="@dimen/default_margin_twice"
|
||||
android:maxWidth="200dp"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="@string/race_set_time"/>
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
<attr name="white_invert" format="color"/>
|
||||
|
||||
<!-- custom references (e.g. styles) -->
|
||||
<attr name="buttonSolidXSmall" format="reference"/>
|
||||
<attr name="buttonSolidSmall" format="reference"/>
|
||||
<attr name="buttonSolidNormal" format="reference"/>
|
||||
<attr name="textXXSmall" format="reference"/>
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
<item name="white_invert">@color/constant_black</item>
|
||||
|
||||
<!-- styles -->
|
||||
<item name="buttonSolidXSmall">@style/AppTheme.Dark.Button.XSmall</item>
|
||||
<item name="buttonSolidSmall">@style/AppTheme.Dark.Button.Small</item>
|
||||
<item name="buttonSolidNormal">@style/AppTheme.Dark.Button.Normal</item>
|
||||
<item name="textXXSmall">@style/AppTheme.Dark.Text.XXSmall</item>
|
||||
@@ -115,6 +116,10 @@
|
||||
<item name="android:textColorHint">?sap_light_gray</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Dark.Button.XSmall">
|
||||
<item name="android:textSize">@dimen/textSize_18</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Dark.Button.Small">
|
||||
<item name="android:textSize">@dimen/textSize_22</item>
|
||||
</style>
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
<item name="white_invert">@color/constant_white</item>
|
||||
|
||||
<!-- styles -->
|
||||
<item name="buttonSolidXSmall">@style/AppTheme.Light.Button.XSmall</item>
|
||||
<item name="buttonSolidSmall">@style/AppTheme.Light.Button.Small</item>
|
||||
<item name="buttonSolidNormal">@style/AppTheme.Light.Button.Normal</item>
|
||||
<item name="textXXSmall">@style/AppTheme.Light.Text.XXSmall</item>
|
||||
@@ -118,6 +119,10 @@
|
||||
<item name="android:textColorHint">?sap_light_gray</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Light.Button.XSmall">
|
||||
<item name="android:textSize">@dimen/textSize_18</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.Light.Button.Small">
|
||||
<item name="android:textSize">@dimen/textSize_22</item>
|
||||
</style>
|
||||
|
||||
+36
-2
@@ -31,6 +31,7 @@ public class RaceTimeChangeFragment extends BaseFragment implements View.OnClick
|
||||
|
||||
private NumberPicker mDatePicker;
|
||||
private TimePicker mTimePicker;
|
||||
private NumberPicker mSecondPicker;
|
||||
|
||||
public static RaceTimeChangeFragment newInstance(int mode) {
|
||||
RaceTimeChangeFragment fragment = new RaceTimeChangeFragment();
|
||||
@@ -57,7 +58,7 @@ public class RaceTimeChangeFragment extends BaseFragment implements View.OnClick
|
||||
return;
|
||||
}
|
||||
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
TextView headerText = (TextView) layout.findViewById(R.id.header_headline);
|
||||
if (headerText != null) {
|
||||
switch (getArguments().getInt(START_MODE, 0)) {
|
||||
@@ -94,6 +95,39 @@ public class RaceTimeChangeFragment extends BaseFragment implements View.OnClick
|
||||
mTimePicker.setCurrentMinute(calendar.get(Calendar.MINUTE));
|
||||
}
|
||||
|
||||
mSecondPicker = (NumberPicker) layout.findViewById(R.id.second_picker);
|
||||
if (mSecondPicker != null) {
|
||||
ThemeHelper.setPickerTextColor(getActivity(), mTimePicker, ThemeHelper.getColor(getActivity(), R.attr.white));
|
||||
mSecondPicker.setVisibility(View.VISIBLE);
|
||||
mSecondPicker.setMinValue(0);
|
||||
mSecondPicker.setMaxValue(59);
|
||||
mSecondPicker.setValue(calendar.get(Calendar.SECOND));
|
||||
mSecondPicker.setFormatter(new NumberPicker.Formatter() {
|
||||
@Override
|
||||
public String format(int i) {
|
||||
return String.format("%02d", i);
|
||||
}
|
||||
});
|
||||
mSecondPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
|
||||
@Override
|
||||
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
|
||||
if (mTimePicker != null) {
|
||||
Calendar pickerTime = (Calendar) calendar.clone();
|
||||
pickerTime.set(Calendar.HOUR_OF_DAY, mTimePicker.getCurrentHour());
|
||||
pickerTime.set(Calendar.MINUTE, mTimePicker.getCurrentMinute());
|
||||
if (oldVal == 0 && newVal == 59) {
|
||||
pickerTime.add(Calendar.MINUTE, -1);
|
||||
}
|
||||
if (oldVal == 59 && newVal == 0) {
|
||||
pickerTime.add(Calendar.MINUTE, 1);
|
||||
}
|
||||
mTimePicker.setCurrentHour(pickerTime.get(Calendar.HOUR_OF_DAY));
|
||||
mTimePicker.setCurrentMinute(pickerTime.get(Calendar.MINUTE));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
View setTime = layout.findViewById(R.id.set_date_time);
|
||||
if (setTime != null) {
|
||||
setTime.setOnClickListener(this);
|
||||
@@ -143,7 +177,7 @@ public class RaceTimeChangeFragment extends BaseFragment implements View.OnClick
|
||||
calendar.add(Calendar.DAY_OF_MONTH, mDatePicker.getValue() + PAST_DAYS);
|
||||
calendar.set(Calendar.HOUR_OF_DAY, mTimePicker.getCurrentHour());
|
||||
calendar.set(Calendar.MINUTE, mTimePicker.getCurrentMinute());
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
calendar.set(Calendar.SECOND, mSecondPicker.getValue());
|
||||
calendar.set(Calendar.MILLISECOND, 0);
|
||||
return new MillisecondsTimePoint(calendar.getTime());
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user