single gate start path finder fragment

This commit is contained in:
Peter Siegmund
2015-09-01 17:13:03 +02:00
parent bc97f0a385
commit 90592906c7
20 changed files with 467 additions and 132 deletions
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="@dimen/selector_header_height"
android:background="?sap_gray">
<LinearLayout
android:id="@+id/header_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:orientation="horizontal">
<ImageView
android:id="@+id/header_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="?chevron_left_24dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gate_start_pathfinder"
android:textAppearance="?textNormal"/>
</LinearLayout>
</RelativeLayout>
<View
android:id="@+id/line_top"
android:layout_width="match_parent"
android:layout_height="@dimen/thick_line"
android:layout_below="@id/header"
android:background="?black"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/line_top"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?sap_gray_black_30">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_margin="@dimen/default_margin_twice">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/label_area"
android:orientation="horizontal">
<com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:floatLabelTextAppearance="?floatLabel"
app:floatLabelPaddingLeft="9dp">
<EditText
android:id="@+id/pathfinder_nat"
style="?editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/gate_start_nationality"
android:inputType="textCapCharacters"
android:textAppearance="?textNormal"
android:textColor="?white"/>
</com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout>
<com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:floatLabelTextAppearance="?floatLabel"
app:floatLabelPaddingLeft="9dp">
<EditText
android:id="@+id/pathfinder_num"
style="?editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/gate_start_number"
android:inputType="number"
android:textAppearance="?textNormal"
android:textColor="?white"/>
</com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1">
<Button
android:id="@+id/set_path_finder"
style="?attr/buttonSolidSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:enabled="false"
android:text="@string/gate_start_set_pathfinder"/>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
@@ -0,0 +1,169 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="@dimen/selector_header_height"
android:background="?sap_gray">
<LinearLayout
android:id="@+id/header_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:orientation="horizontal">
<ImageView
android:id="@+id/header_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="?chevron_left_24dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gate_start_timing"
android:textAppearance="?textNormal"/>
</LinearLayout>
</RelativeLayout>
<View
android:id="@+id/line_top"
android:layout_width="match_parent"
android:layout_height="@dimen/thick_line"
android:layout_below="@id/header"
android:background="?black"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/line_top"
android:background="?sap_gray_black_30">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:text="@string/time_launch"
android:textAppearance="?textSmall"/>
<NumberPicker
android:id="@+id/time_launch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="@dimen/default_margin_twice"
android:layout_marginTop="@dimen/default_margin_twice"
android:scaleX="@integer/picker_scale"
android:scaleY="@integer/picker_scale"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/addition_golf_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="@dimen/default_margin_twice"
android:text="+"
android:textAppearance="?textXLarge"/>
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:text="@string/time_golf"
android:textAppearance="?textSmall"/>
<NumberPicker
android:id="@+id/time_golf"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="@dimen/default_margin_twice"
android:layout_marginTop="@dimen/default_margin_twice"
android:scaleX="@integer/picker_scale"
android:scaleY="@integer/picker_scale"/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="@dimen/default_margin_twice"
android:text="="
android:textAppearance="?textXLarge"/>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/time_total"
android:textAppearance="?textSmall"/>
<TextView
android:id="@+id/total_time_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textAppearance="?textXLarge"
tools:text="12"/>
</RelativeLayout>
</LinearLayout>
<Button
android:id="@+id/set_gate_time"
style="?attr/buttonSolidNormal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="@dimen/default_margin_twice"
android:text="@string/gate_start_set"/>
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
@@ -10,8 +10,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginLeft="@dimen/side_padding"
android:orientation="horizontal">
<ImageView
@@ -25,13 +24,13 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/course"
android:textAppearance="?textNormal"/>
android:textAppearance="?textHeader"/>
</LinearLayout>
<View
android:id="@+id/line_top"
android:layout_width="match_parent"
android:layout_height="@dimen/thick_line"
android:layout_height="@dimen/unscheduled_header_line"
android:layout_alignParentBottom="true"
android:background="?black"/>
</RelativeLayout>
@@ -28,13 +28,13 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/start_mode"
android:textAppearance="?textNormal"/>
android:textAppearance="?textHeader"/>
</LinearLayout>
<View
android:id="@+id/line_top"
android:layout_width="match_parent"
android:layout_height="@dimen/thick_line"
android:layout_height="@dimen/unscheduled_header_line"
android:layout_alignParentBottom="true"
android:background="?black"/>
</RelativeLayout>
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/header"
@@ -28,14 +29,13 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/start_procedure"
android:textAppearance="?textNormal"
android:textSize="@dimen/textSize_20"/>
android:textAppearance="?textHeader"/>
</LinearLayout>
<View
android:id="@+id/line_top"
android:layout_width="match_parent"
android:layout_height="@dimen/thick_line"
android:layout_height="@dimen/unscheduled_header_line"
android:layout_alignParentBottom="true"
android:background="?black"/>
</RelativeLayout>
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?sap_gray_black_30">
<RelativeLayout
android:id="@+id/header"
@@ -15,8 +17,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginLeft="@dimen/side_padding"
android:orientation="horizontal">
<ImageView
@@ -29,96 +30,95 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/gate_start_pathfinder"
android:textAppearance="?textNormal"/>
android:textAppearance="?textHeader"/>
</LinearLayout>
</RelativeLayout>
<View
android:id="@+id/line_top"
android:layout_width="match_parent"
android:layout_height="@dimen/thick_line"
android:layout_height="@dimen/unscheduled_header_line"
android:layout_below="@id/header"
android:background="?black"/>
<LinearLayout
<RelativeLayout
android:id="@+id/path_finder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center_vertical">
<Button
android:id="@+id/set_path_finder"
style="?attr/buttonSolidSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_margin="@dimen/unscheduled_confirm_button_margin"
android:enabled="false"
android:text="@string/gate_start_set_pathfinder"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/line_top"
android:orientation="vertical">
android:layout_above="@id/path_finder"
android:layout_below="@id/line_top">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?sap_gray_black_30">
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_margin="@dimen/default_margin_twice">
<RelativeLayout
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_margin="@dimen/default_margin_twice">
android:layout_below="@id/label_area"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
<com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_below="@id/label_area"
android:orientation="horizontal">
android:layout_weight="1"
app:floatLabelPaddingLeft="9dp"
app:floatLabelTextAppearance="?floatLabel">
<com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:floatLabelTextAppearance="?floatLabel"
app:floatLabelPaddingLeft="9dp">
<EditText
android:id="@+id/pathfinder_nat"
style="?editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/gate_start_nationality"
android:inputType="textCapCharacters"
android:textAppearance="?textNormal"
android:textColor="?white"/>
</com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout>
<com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:floatLabelTextAppearance="?floatLabel"
app:floatLabelPaddingLeft="9dp">
<EditText
android:id="@+id/pathfinder_num"
style="?editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/gate_start_number"
android:inputType="number"
android:textAppearance="?textNormal"
android:textColor="?white"/>
</com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout>
<RelativeLayout
android:layout_width="0dp"
<EditText
android:id="@+id/pathfinder_nat"
style="?editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1">
android:hint="@string/gate_start_nationality"
android:inputType="textCapCharacters"
android:textAppearance="?textNormal"
android:textColor="?white"/>
</com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout>
<Button
android:id="@+id/set_path_finder"
style="?attr/buttonSolidSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:enabled="false"
android:text="@string/gate_start_set_pathfinder"/>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
<com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
app:floatLabelPaddingLeft="9dp"
app:floatLabelTextAppearance="?floatLabel">
<EditText
android:id="@+id/pathfinder_num"
style="?editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:hint="@string/gate_start_number"
android:inputType="number"
android:textAppearance="?textNormal"
android:textColor="?white"/>
</com.sap.sailing.racecommittee.app.ui.views.FloatLabelLayout>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
@@ -16,8 +16,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/default_margin"
android:layout_marginStart="@dimen/default_margin"
android:layout_marginLeft="@dimen/side_padding"
android:orientation="horizontal">
<ImageView
@@ -31,14 +30,14 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gate_start_timing"
android:textAppearance="?textNormal"/>
android:textAppearance="?textHeader"/>
</LinearLayout>
</RelativeLayout>
<View
android:id="@+id/line_top"
android:layout_width="match_parent"
android:layout_height="@dimen/thick_line"
android:layout_height="@dimen/unscheduled_header_line"
android:layout_below="@id/header"
android:background="?black"/>
@@ -60,6 +60,7 @@
<dimen name="login_text_size">@dimen/textSize_26</dimen>
<!-- unscheduled -->
<dimen name="unscheduled_header_line">@dimen/thick_line</dimen>
<dimen name="unscheduled_confirm_button_margin">@dimen/default_margin_twice</dimen>
<dimen name="unscheduled_padding_dependend_race_item">@dimen/default_padding_half</dimen>
<dimen name="unscheduled_spinner_width">470dp</dimen>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme.Dark.Text.Header" parent="AppTheme.Dark.Text.Normal"/>
</resources>
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme.Light.Text.Header" parent="AppTheme.Light.Text.Normal"/>
</resources>
@@ -30,6 +30,8 @@
<attr name="textLarge" format="reference"/>
<attr name="textXLarge" format="reference"/>
<attr name="textHeader" format="reference"/>
<attr name="textPanelHeader" format="reference"/>
<attr name="textPanelCaption" format="reference"/>
<attr name="editText" format="reference"/>
@@ -77,6 +77,7 @@
<dimen name="login_text_size">@dimen/textSize_20</dimen>
<!-- unscheduled -->
<dimen name="unscheduled_header_line">@dimen/thin_line</dimen>
<dimen name="unscheduled_confirm_button_margin">@dimen/default_margin</dimen>
<dimen name="unscheduled_padding_dependend_race_item">6dp</dimen>
<dimen name="unscheduled_spinner_width">240dp</dimen>
@@ -45,6 +45,7 @@
<item name="textLarge">@style/AppTheme.Dark.Text.Large</item>
<item name="textXLarge">@style/AppTheme.Dark.Text.XLarge</item>
<item name="textHeader">@style/AppTheme.Dark.Text.Header</item>
<item name="textPanelCaption">@style/AppTheme.Dark.Text.PanelCaption</item>
<item name="textPanelHeader">@style/AppTheme.Dark.Text.PanelHeader</item>
<item name="floatLabel">@style/AppTheme.Dark.Text.FloatLabel</item>
@@ -176,6 +177,10 @@
<item name="android:textSize">@dimen/textSize_40</item>
</style>
<style name="AppTheme.Dark.Text.Header" parent="AppTheme.Dark.Text.Normal">
<item name="android:textSize">@dimen/textSize_20</item>
</style>
<style name="AppTheme.Dark.Text.PanelHeader">
<item name="android:textColor">?sap_light_gray</item>
<item name="android:textSize">@dimen/panel_button_header_size</item>
@@ -54,6 +54,7 @@
<item name="textLarge">@style/AppTheme.Light.Text.Large</item>
<item name="textXLarge">@style/AppTheme.Light.Text.XLarge</item>
<item name="textHeader">@style/AppTheme.Light.Text.Header</item>
<item name="textPanelCaption">@style/AppTheme.Light.Text.PanelCaption</item>
<item name="textPanelHeader">@style/AppTheme.Light.Text.PanelHeader</item>
<item name="floatLabel">@style/AppTheme.Light.Text.FloatLabel</item>
@@ -197,6 +198,10 @@
<item name="android:textSize">@dimen/textSize_40</item>
</style>
<style name="AppTheme.Light.Text.Header" parent="AppTheme.Light.Text.Normal">
<item name="android:textSize">@dimen/textSize_20</item>
</style>
<style name="AppTheme.Light.Text.PanelHeader">
<item name="android:textColor">?sap_light_gray</item>
<item name="android:textSize">@dimen/textSize_20</item>
@@ -8,7 +8,7 @@ public class MainScheduleItem {
private Drawable mDrawable;
private Runnable mRunnable;
public MainScheduleItem(String caption, Drawable drawable, String value, Runnable runnable) {
public MainScheduleItem(String caption, String value, Drawable drawable, Runnable runnable) {
mCaption = caption;
mDrawable = drawable;
mValue = value;
@@ -132,6 +132,7 @@ public class PreferenceActivity extends AppCompatActivity {
}
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private void setStatusbarColor() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
@@ -19,6 +19,7 @@ import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier;
import com.sap.sailing.domain.abstractlog.race.state.ReadonlyRaceState;
import com.sap.sailing.domain.abstractlog.race.state.impl.BaseRaceStateChangedListener;
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.gate.GateStartRacingProcedure;
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.rrs26.RRS26RacingProcedure;
import com.sap.sailing.domain.common.Wind;
import com.sap.sailing.domain.common.racelog.Flags;
@@ -149,7 +150,7 @@ public class MainScheduleFragment extends BaseFragment implements View.OnClickLi
openFragment(StartProcedureFragment.newInstance(0));
}
};
mItems.add(new MainScheduleItem(getString(R.string.start_procedure), null, mRacingProcedureType.toString(), runnableProcedure));
mItems.add(new MainScheduleItem(getString(R.string.start_procedure), mRacingProcedureType.toString(), null, runnableProcedure));
if (RacingProcedureType.RRS26.equals(mRacingProcedureType)) {
// LineStart
RRS26RacingProcedure procedure = getRaceState().getTypedRacingProcedure();
@@ -161,24 +162,27 @@ public class MainScheduleFragment extends BaseFragment implements View.OnClickLi
}
};
Drawable drawable = FlagsResources.getFlagDrawable(getActivity(), flag.name(), mFlagSize);
mItems.add(new MainScheduleItem(getString(R.string.start_mode), drawable, flag.name(), runnableMode));
mItems.add(new MainScheduleItem(getString(R.string.start_mode), flag.name(), drawable, runnableMode));
} else if (RacingProcedureType.GateStart.equals(mRacingProcedureType)) {
// GateStart
Runnable runnablePathfinder = new Runnable() {
@Override
public void run() {
openFragment(PathFinderFragment.newInstance(0));
}
};
mItems.add(new MainScheduleItem(getString(R.string.gate_start_pathfinder), null, null, runnablePathfinder));
GateStartRacingProcedure procedure = (GateStartRacingProcedure) getRaceState().getRacingProcedure();
if (procedure != null) {
Runnable runnablePathfinder = new Runnable() {
@Override
public void run() {
openFragment(PathFinderFragment.newInstance(0));
}
};
mItems.add(new MainScheduleItem(getString(R.string.gate_start_pathfinder), procedure.getPathfinder(), null, runnablePathfinder));
Runnable runnableTiming = new Runnable() {
@Override
public void run() {
openFragment(TimingFragment.newInstance(0, "", ""));
}
};
mItems.add(new MainScheduleItem(getString(R.string.gate_start_timing), null, null, runnableTiming));
Runnable runnableTiming = new Runnable() {
@Override
public void run() {
openFragment(TimingFragment.newInstance(0, "", ""));
}
};
mItems.add(new MainScheduleItem(getString(R.string.gate_start_timing), null, null, runnableTiming));
}
}
}
}
@@ -211,7 +215,7 @@ public class MainScheduleFragment extends BaseFragment implements View.OnClickLi
openFragment(StartTimeFragment.newInstance(getArguments()));
}
};
mItemStartTime = new MainScheduleItem(getString(R.string.start_time), null, mStartTimeString, runnable);
mItemStartTime = new MainScheduleItem(getString(R.string.start_time), mStartTimeString, null, runnable);
mItems.add(mItemStartTime);
}
@@ -237,11 +241,13 @@ public class MainScheduleFragment extends BaseFragment implements View.OnClickLi
}
private void startRace() {
RRS26RacingProcedure procedure = null;
RRS26RacingProcedure rrs26Procedure = null;
GateStartRacingProcedure gateStartProcedure = null;
Flags flag = null;
if (getRaceState().getRacingProcedure().getType().equals(RacingProcedureType.RRS26)) {
procedure = getRaceState().getTypedRacingProcedure();
flag = procedure.getStartModeFlag();
if (RacingProcedureType.RRS26.equals(getRaceState().getRacingProcedure().getType())) {
rrs26Procedure = getRaceState().getTypedRacingProcedure();
flag = rrs26Procedure.getStartModeFlag();
}
TimePoint now = MillisecondsTimePoint.now();
getRaceState().setRacingProcedure(now, mRacingProcedureType);
@@ -250,8 +256,8 @@ public class MainScheduleFragment extends BaseFragment implements View.OnClickLi
} else {
getRaceState().forceNewDependentStartTime(now, mStartTimeDiff, mRaceId);
}
if (procedure != null) {
procedure.setStartModeFlag(MillisecondsTimePoint.now(), flag);
if (rrs26Procedure != null) {
rrs26Procedure.setStartModeFlag(MillisecondsTimePoint.now(), flag);
}
}
@@ -13,6 +13,7 @@ import android.widget.EditText;
import com.sap.sailing.android.shared.util.ActivityHelper;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.gate.GateStartRacingProcedure;
import com.sap.sailing.racecommittee.app.AppConstants;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sse.common.impl.MillisecondsTimePoint;
@@ -106,10 +107,9 @@ public class PathFinderFragment extends BaseFragment {
if (mHeader != null) {
mHeader.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
replaceFragment(StartProcedureFragment.newInstance(0));
openMainScheduleFragment();
}
});
}
@@ -132,12 +132,14 @@ public class PathFinderFragment extends BaseFragment {
}
}
final GateStartRacingProcedure procedure = getRaceState().getTypedRacingProcedure();
if (mNat != null && TextUtils.isEmpty(mNat.getText())) {
mNat.setText(extractPosition(0, procedure.getPathfinder()));
}
if (mNum != null && TextUtils.isEmpty(mNum.getText())) {
mNum.setText(extractPosition(1, procedure.getPathfinder()));
final GateStartRacingProcedure procedure = (GateStartRacingProcedure) getRaceState().getRacingProcedure();
if (procedure != null) {
if (mNat != null && TextUtils.isEmpty(mNat.getText())) {
mNat.setText(extractPosition(0, procedure.getPathfinder()));
}
if (mNum != null && TextUtils.isEmpty(mNum.getText())) {
mNum.setText(extractPosition(1, procedure.getPathfinder()));
}
}
if (mButton != null) {
@@ -154,11 +156,13 @@ public class PathFinderFragment extends BaseFragment {
if (mNum != null) {
number = mNum.getText().toString();
}
procedure.setPathfinder(MillisecondsTimePoint.now(), String.format("%s%s", nation, number));
if (procedure != null) {
procedure.setPathfinder(MillisecondsTimePoint.now(), String.format("%s%s", nation, number));
}
if (getArguments() != null && getArguments().getInt(START_MODE, 0) == 0) {
replaceFragment(TimingFragment.newInstance(nation, number));
openMainScheduleFragment();
} else {
replaceFragment(TimingFragment.newInstance(1, nation, number), R.id.race_frame);
sendIntent(AppConstants.INTENT_ACTION_SHOW_MAIN_CONTENT);
}
}
});
@@ -71,13 +71,7 @@ public class StartProcedureFragment extends BaseFragment implements StartProcedu
}
}
String className;
for (RacingProcedureType procedureType : RacingProcedureType.validValues()) {
// if (procedureType.equals(RacingProcedureType.GateStart)) {
// className = GateStartFragment.class.getSimpleName();
// } else {
// className = null;
// }
startProcedure.add(new StartProcedure(procedureType, (getRaceState().getRacingProcedure().getType() == procedureType)));
}
@@ -0,0 +1,13 @@
package com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.startphase;
import android.content.Context;
import android.widget.ArrayAdapter;
import com.sap.sailing.racecommittee.app.ui.fragments.panels.BasePanelFragment;
public class CheckedItemListAdapter extends ArrayAdapter<BasePanelFragment> {
public CheckedItemListAdapter(Context context, int resource) {
super(context, resource);
}
}