mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-26 23:46:36 +00:00
add warning sign to the be visible as ofter as necessary
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item android:drawable="@drawable/ic_warning_yellow_36dp" />
|
||||
|
||||
</selector>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<item android:drawable="@drawable/ic_warning_yellow_24dp" />
|
||||
|
||||
</selector>
|
||||
@@ -125,5 +125,13 @@
|
||||
android:layout_height="match_parent"
|
||||
android:background="?attr/black"
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/warning_sign"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="4dp"
|
||||
android:src="@drawable/ic_warning_yellow"
|
||||
android:visibility="gone" />
|
||||
</RelativeLayout>
|
||||
</merge>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/finished_tracking"
|
||||
android:textAppearance="?attr/textPanelHeader"
|
||||
android:textSize="@dimen/textSize_18"/>
|
||||
android:textSize="@dimen/textSize_18" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/list_lock"
|
||||
@@ -48,4 +48,14 @@
|
||||
android:text="@string/finished_edit"
|
||||
android:textAppearance="?attr/textPanelCaption" />
|
||||
</RelativeLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/warning_sign"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_margin="4dp"
|
||||
android:src="@drawable/ic_warning_yellow"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
</merge>
|
||||
@@ -1,8 +1,8 @@
|
||||
<?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="@dimen/navigation_drawer_cell_height">
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/navigation_drawer_cell_height">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/panel_right"
|
||||
@@ -24,7 +24,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:textAppearance="?attr/textXLarge"
|
||||
tools:text="13:36"/>
|
||||
tools:text="13:36" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/race_started"
|
||||
@@ -32,7 +32,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="@string/race_started"
|
||||
android:textAppearance="?attr/textXSmall"/>
|
||||
android:textAppearance="?attr/textXSmall" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/race_finished"
|
||||
@@ -40,7 +40,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="@string/race_finished"
|
||||
android:textAppearance="?attr/textXSmall"/>
|
||||
android:textAppearance="?attr/textXSmall" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
@@ -51,7 +51,7 @@
|
||||
android:text="@string/race_unscheduled"
|
||||
android:textColor="?attr/sap_light_gray"
|
||||
android:textSize="@dimen/textSize_18"
|
||||
android:visibility="gone"/>
|
||||
android:visibility="gone" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/update_badge"
|
||||
@@ -62,7 +62,17 @@
|
||||
android:scaleType="matrix"
|
||||
android:src="@drawable/updated"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/warning_sign"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:visibility="gone"
|
||||
android:layout_margin="2dp"
|
||||
android:src="@drawable/ic_warning_yellow" />
|
||||
</RelativeLayout>
|
||||
|
||||
<RelativeLayout
|
||||
@@ -76,7 +86,7 @@
|
||||
android:id="@+id/race_marker"
|
||||
android:layout_width="@dimen/obesity_line"
|
||||
android:layout_height="match_parent"
|
||||
android:src="?attr/marker_race"/>
|
||||
android:src="?attr/marker_race" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/additional_info"
|
||||
@@ -93,7 +103,7 @@
|
||||
android:layout_margin="5dp"
|
||||
android:src="?attr/link_24dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
tools:visibility="visible" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/race_flag"
|
||||
@@ -110,7 +120,7 @@
|
||||
android:layout_height="25dp"
|
||||
android:layout_gravity="center"
|
||||
android:scaleType="centerInside"
|
||||
tools:src="@drawable/flag_alpha_64dp"/>
|
||||
tools:src="@drawable/flag_alpha_64dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/flag_timer"
|
||||
@@ -119,7 +129,7 @@
|
||||
android:layout_gravity="center"
|
||||
android:drawableLeft="?attr/arrow_down"
|
||||
android:textAppearance="?attr/textXSmall"
|
||||
tools:text="01:12"/>
|
||||
tools:text="01:12" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -141,7 +151,7 @@
|
||||
android:ellipsize="middle"
|
||||
android:maxLines="1"
|
||||
android:textAppearance="?attr/textNormal"
|
||||
tools:text="Race 3"/>
|
||||
tools:text="Race 3" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/depends_on"
|
||||
@@ -152,7 +162,7 @@
|
||||
android:textAppearance="?attr/textXSmall"
|
||||
android:visibility="gone"
|
||||
tools:text="5 minutes after ABC"
|
||||
tools:visibility="visible"/>
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -164,11 +174,11 @@
|
||||
android:background="?attr/factor_background"
|
||||
android:textAppearance="?attr/textXSmall"
|
||||
android:textColor="?attr/white_invert"
|
||||
tools:text="x 3.5"/>
|
||||
tools:text="x 3.5" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/thin_line"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:background="?attr/black"/>
|
||||
android:background="?attr/black" />
|
||||
</RelativeLayout>
|
||||
@@ -1,9 +1,9 @@
|
||||
<?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"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.sap.sailing.racecommittee.app.ui.layouts.TimePanelHeaderLayout
|
||||
android:id="@+id/race_content_header"
|
||||
@@ -33,14 +33,14 @@
|
||||
android:singleLine="true"
|
||||
android:textColor="?attr/white"
|
||||
android:textSize="@dimen/panel_button_header_size"
|
||||
tools:text="@string/time"/>
|
||||
tools:text="@string/time" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/time_marker"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/thin_line"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:src="?attr/marker"/>
|
||||
android:src="?attr/marker" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
@@ -65,7 +65,7 @@
|
||||
android:layout_toRightOf="@+id/linked_locked_area"
|
||||
android:textColor="?attr/white"
|
||||
android:textSize="@dimen/panel_button_caption_size"
|
||||
tools:text="@string/time_start"/>
|
||||
tools:text="@string/time_start" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linked_locked_area"
|
||||
@@ -81,7 +81,7 @@
|
||||
android:layout_height="@dimen/side_button_lockSize"
|
||||
android:src="?attr/lock_outline"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/linked_race"
|
||||
@@ -90,7 +90,7 @@
|
||||
android:layout_gravity="center_vertical"
|
||||
android:src="?attr/link_24dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
android:textSize="@dimen/panel_button_caption_size"
|
||||
android:visibility="invisible"
|
||||
tools:text="@string/time"
|
||||
tools:visibility="visible"/>
|
||||
tools:visibility="visible" />
|
||||
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
@@ -132,7 +132,8 @@
|
||||
app:captionPosition="bottom"
|
||||
app:imageSize="48dp"
|
||||
app:linePosition="left"
|
||||
tools:visibility="visible"/>
|
||||
app:warningSignPosition="topRight"
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
</com.sap.sailing.racecommittee.app.ui.layouts.TimePanelHeaderLayout>
|
||||
</RelativeLayout>
|
||||
@@ -1,9 +1,9 @@
|
||||
<?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"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.sap.sailing.racecommittee.app.ui.layouts.TimePanelHeaderLayout
|
||||
android:id="@+id/race_content_header"
|
||||
@@ -29,14 +29,14 @@
|
||||
android:gravity="center"
|
||||
android:textColor="?attr/white"
|
||||
android:textSize="@dimen/textSize_40"
|
||||
tools:text="@string/time"/>
|
||||
tools:text="@string/time" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/time_marker"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/thin_line"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:src="?attr/marker"/>
|
||||
android:src="?attr/marker" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="wrap_content"
|
||||
@@ -59,7 +59,7 @@
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_toRightOf="@+id/linked_locked_area"
|
||||
android:textAppearance="?attr/textSmall"
|
||||
tools:text="@string/time_start"/>
|
||||
tools:text="@string/time_start" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linked_locked_area"
|
||||
@@ -75,7 +75,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:src="?attr/lock_outline"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/linked_race"
|
||||
@@ -84,7 +84,7 @@
|
||||
android:layout_gravity="center_vertical"
|
||||
android:src="?attr/link_24dp"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"/>
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
android:textAppearance="?attr/textSmall"
|
||||
android:visibility="invisible"
|
||||
tools:text="@string/time"
|
||||
tools:visibility="visible"/>
|
||||
tools:visibility="visible" />
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
@@ -124,7 +124,8 @@
|
||||
app:captionPosition="bottom"
|
||||
app:imageSize="64dp"
|
||||
app:linePosition="left"
|
||||
tools:visibility="visible"/>
|
||||
app:warningSignPosition="topRight"
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
</com.sap.sailing.racecommittee.app.ui.layouts.TimePanelHeaderLayout>
|
||||
</RelativeLayout>
|
||||
@@ -32,9 +32,17 @@
|
||||
<enum name="bottom" value="1" />
|
||||
</attr>
|
||||
|
||||
<attr name="imageSize" format="reference|dimension"/>
|
||||
<attr name="imageSize" format="reference|dimension" />
|
||||
|
||||
<attr name="showLock" format="boolean" />
|
||||
|
||||
<attr name="warningSignPosition" format="enum">
|
||||
<enum name="none" value="-1" />
|
||||
<enum name="topLeft" value="0" />
|
||||
<enum name="topRight" value="1" />
|
||||
<enum name="bottomRight" value="2" />
|
||||
<enum name="bottomLeft" value="3" />
|
||||
</attr>
|
||||
</declare-styleable>
|
||||
|
||||
</resources>
|
||||
+10
@@ -14,6 +14,7 @@ import com.sap.sailing.android.shared.logging.ExLog;
|
||||
import com.sap.sailing.android.shared.util.BitmapHelper;
|
||||
import com.sap.sailing.android.shared.util.BroadcastManager;
|
||||
import com.sap.sailing.android.shared.util.ViewHelper;
|
||||
import com.sap.sailing.domain.abstractlog.race.CompetitorResults;
|
||||
import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.StartTimeFinderResult;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.RaceState;
|
||||
@@ -193,6 +194,10 @@ public class ManagedRaceListAdapter extends ArrayAdapter<RaceListDataType> imple
|
||||
holder.race_name.setText(RaceHelper.getReverseRaceFleetName(race.getRace()));
|
||||
RaceState state = race.getRace().getState();
|
||||
if (state != null) {
|
||||
CompetitorResults results = state.getConfirmedFinishPositioningList();
|
||||
if (results != null) {
|
||||
holder.warning_sign.setVisibility(results.hasConflicts() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
if (state.getStartTime() != null) {
|
||||
int startRes = R.string.race_started;
|
||||
if (state.getFinishedTime() == null) {
|
||||
@@ -390,6 +395,9 @@ public class ManagedRaceListAdapter extends ArrayAdapter<RaceListDataType> imple
|
||||
if (holder.explicit_factor != null) {
|
||||
holder.explicit_factor.setVisibility(View.GONE);
|
||||
}
|
||||
if (holder.warning_sign != null) {
|
||||
holder.warning_sign.setVisibility(View.GONE);
|
||||
}
|
||||
holder.setMarker(0);
|
||||
}
|
||||
|
||||
@@ -513,6 +521,7 @@ public class ManagedRaceListAdapter extends ArrayAdapter<RaceListDataType> imple
|
||||
/* package */ ImageView has_dependent_races;
|
||||
/* package */ TextView depends_on;
|
||||
/* package */ TextView explicit_factor;
|
||||
/* package */ ImageView warning_sign;
|
||||
|
||||
/* package */ void findViews(View layout) {
|
||||
panel_left = ViewHelper.get(layout, R.id.panel_left);
|
||||
@@ -534,6 +543,7 @@ public class ManagedRaceListAdapter extends ArrayAdapter<RaceListDataType> imple
|
||||
has_dependent_races = ViewHelper.get(layout, R.id.has_dependent_races);
|
||||
depends_on = ViewHelper.get(layout, R.id.depends_on);
|
||||
explicit_factor = ViewHelper.get(layout, R.id.explicit_factor);
|
||||
warning_sign = ViewHelper.get(layout, R.id.warning_sign);
|
||||
}
|
||||
|
||||
/* package */ void showFlag(LayerDrawable flag, Drawable arrow, String timer) {
|
||||
|
||||
+21
-9
@@ -1,5 +1,13 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.fragments.panels;
|
||||
|
||||
import com.sap.sailing.android.shared.logging.ExLog;
|
||||
import com.sap.sailing.android.shared.util.ViewHelper;
|
||||
import com.sap.sailing.domain.abstractlog.race.CompetitorResults;
|
||||
import com.sap.sailing.racecommittee.app.AppConstants;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.PhotoListFragment;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.TrackingListFragment;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
@@ -12,15 +20,9 @@ import android.support.v4.content.LocalBroadcastManager;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.RelativeLayout;
|
||||
|
||||
import com.sap.sailing.android.shared.logging.ExLog;
|
||||
import com.sap.sailing.android.shared.util.ViewHelper;
|
||||
import com.sap.sailing.racecommittee.app.AppConstants;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.PhotoListFragment;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.TrackingListFragment;
|
||||
|
||||
public class FinishedButtonFragment extends BasePanelFragment {
|
||||
|
||||
private final static String TAG = FinishedButtonFragment.class.getName();
|
||||
@@ -32,6 +34,7 @@ public class FinishedButtonFragment extends BasePanelFragment {
|
||||
private View mPhotoLock;
|
||||
private RelativeLayout mList;
|
||||
private View mListLock;
|
||||
private ImageView mWarning;
|
||||
|
||||
public FinishedButtonFragment() {
|
||||
mReceiver = new IntentReceiver();
|
||||
@@ -78,6 +81,8 @@ public class FinishedButtonFragment extends BasePanelFragment {
|
||||
}
|
||||
mListLock = ViewHelper.get(layout, R.id.list_lock);
|
||||
|
||||
mWarning = ViewHelper.get(layout, R.id.warning_sign);
|
||||
|
||||
return layout;
|
||||
}
|
||||
|
||||
@@ -94,6 +99,11 @@ public class FinishedButtonFragment extends BasePanelFragment {
|
||||
|
||||
if (!preferences.getRacingProcedureIsResultEntryEnabled(getRaceState().getRacingProcedure().getType())) {
|
||||
mList.setVisibility(View.GONE);
|
||||
} else {
|
||||
CompetitorResults results = getRaceState().getConfirmedFinishPositioningList();
|
||||
if (results != null) {
|
||||
mWarning.setVisibility(results.hasConflicts() ? View.VISIBLE : View.GONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,7 +168,8 @@ public class FinishedButtonFragment extends BasePanelFragment {
|
||||
break;
|
||||
|
||||
case LEVEL_TOGGLED:
|
||||
replaceFragment(PhotoListFragment.newInstance(getRecentArguments()), getFrameId(getActivity(), R.id.finished_edit, R.id.finished_content, true));
|
||||
replaceFragment(PhotoListFragment
|
||||
.newInstance(getRecentArguments()), getFrameId(getActivity(), R.id.finished_edit, R.id.finished_content, true));
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -181,7 +192,8 @@ public class FinishedButtonFragment extends BasePanelFragment {
|
||||
break;
|
||||
|
||||
case LEVEL_TOGGLED:
|
||||
replaceFragment(TrackingListFragment.newInstance(getRecentArguments(), 0), getFrameId(getActivity(), R.id.finished_edit, R.id.finished_content, true));
|
||||
replaceFragment(TrackingListFragment
|
||||
.newInstance(getRecentArguments(), 0), getFrameId(getActivity(), R.id.finished_edit, R.id.finished_content, true));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
+26
-1
@@ -6,6 +6,7 @@ import java.text.SimpleDateFormat;
|
||||
|
||||
import com.sap.sailing.android.shared.logging.ExLog;
|
||||
import com.sap.sailing.android.shared.util.ViewHelper;
|
||||
import com.sap.sailing.domain.abstractlog.race.CompetitorResults;
|
||||
import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.StartTimeFinderResult;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.ReadonlyRaceState;
|
||||
@@ -105,10 +106,11 @@ public class TimePanelFragment extends BasePanelFragment {
|
||||
public void onActivityCreated(Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
|
||||
if (preferences.getRacingProcedureIsResultEntryEnabled(getRace().getState().getRacingProcedure().getType())) {
|
||||
if (preferences.getRacingProcedureIsResultEntryEnabled(getRaceState().getRacingProcedure().getType())) {
|
||||
mClickListener = new CompetitorPanelClick();
|
||||
mCompetitorList.setListener(mClickListener);
|
||||
mCompetitorList.setVisibility(View.VISIBLE);
|
||||
checkWarnings(getRaceState());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -249,6 +251,15 @@ public class TimePanelFragment extends BasePanelFragment {
|
||||
}
|
||||
}
|
||||
|
||||
private void checkWarnings(ReadonlyRaceState state) {
|
||||
CompetitorResults results = state.getConfirmedFinishPositioningList();
|
||||
if (results != null) {
|
||||
mCompetitorList.showWarningSign(results.hasConflicts());
|
||||
} else {
|
||||
mCompetitorList.showWarningSign(false);
|
||||
}
|
||||
}
|
||||
|
||||
private class RaceStateChangedListener extends BaseRaceStateChangedListener {
|
||||
|
||||
@Override
|
||||
@@ -267,6 +278,20 @@ public class TimePanelFragment extends BasePanelFragment {
|
||||
|
||||
mLinkedRace = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinishingPositioningsChanged(ReadonlyRaceState state) {
|
||||
super.onFinishingPositioningsChanged(state);
|
||||
|
||||
checkWarnings(state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinishingPositionsConfirmed(ReadonlyRaceState state) {
|
||||
super.onFinishingPositionsConfirmed(state);
|
||||
|
||||
checkWarnings(state);
|
||||
}
|
||||
}
|
||||
|
||||
private class RaceHeaderClick implements View.OnClickListener, DialogInterface.OnClickListener {
|
||||
|
||||
+41
-4
@@ -1,5 +1,9 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.views;
|
||||
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.utils.TouchEventListener;
|
||||
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.res.TypedArray;
|
||||
@@ -17,10 +21,6 @@ import android.widget.RelativeLayout;
|
||||
import android.widget.Switch;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.utils.TouchEventListener;
|
||||
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
|
||||
|
||||
public class PanelButton extends FrameLayout implements DialogInterface.OnClickListener {
|
||||
|
||||
public final static int LEVEL_UNKNOWN = -1;
|
||||
@@ -85,6 +85,7 @@ public class PanelButton extends FrameLayout implements DialogInterface.OnClickL
|
||||
|
||||
private ImageView mMarker;
|
||||
private View mLine;
|
||||
private ImageView mWarningSign;
|
||||
|
||||
private PanelType mType;
|
||||
private CaptionPosition mCaptionPosition;
|
||||
@@ -167,6 +168,9 @@ public class PanelButton extends FrameLayout implements DialogInterface.OnClickL
|
||||
|
||||
setLinePosition(a.getInt(R.styleable.PanelButton_linePosition, -1));
|
||||
|
||||
mWarningSign = (ImageView) findViewById(R.id.warning_sign);
|
||||
setWarningSignPosition(a.getInt(R.styleable.PanelButton_warningSignPosition, -1));
|
||||
|
||||
a.recycle();
|
||||
|
||||
setMarkerLevel(LEVEL_NORMAL);
|
||||
@@ -306,6 +310,39 @@ public class PanelButton extends FrameLayout implements DialogInterface.OnClickL
|
||||
}
|
||||
}
|
||||
|
||||
private void setWarningSignPosition(int position) {
|
||||
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(mWarningSign.getLayoutParams());
|
||||
switch (position) {
|
||||
case 0: // top left
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
|
||||
break;
|
||||
|
||||
case 1: // top right
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
|
||||
break;
|
||||
|
||||
case 2: // bottom right
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
|
||||
break;
|
||||
|
||||
case 3: // bottom left
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
|
||||
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
mWarningSign.setLayoutParams(params);
|
||||
}
|
||||
|
||||
public void showWarningSign(boolean show) {
|
||||
mWarningSign.setVisibility(show ? VISIBLE : GONE);
|
||||
}
|
||||
|
||||
private void hideValues() {
|
||||
if (mValue != null) {
|
||||
mValue.setVisibility(GONE);
|
||||
|
||||
Reference in New Issue
Block a user