Bug 2979 - Editing of Values in Race Summary

This commit is contained in:
Peter Siegmund committed 2015-06-21 14:31:01 +02:00
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>
@@ -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());
}