add default penalty to phone layout

This commit is contained in:
Peter Siegmund
2017-07-13 10:43:44 +02:00
parent 2b556d272c
commit d1ae32347f
12 changed files with 195 additions and 131 deletions
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_enabled="true"
android:state_pressed="true">
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ"
android:valueFrom="4dip"
android:valueTo="8dip"
android:valueType="floatType" />
</item>
<item>
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ"
android:valueFrom="4dip"
android:valueTo="2dip"
android:valueType="floatType" />
</item>
</selector>
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z" />
</vector>
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FFFFFFFF"
android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z" />
</vector>
@@ -10,21 +10,35 @@
android:layout_marginRight="8dp"
android:orientation="horizontal">
<Button
android:id="@+id/button_penalty"
style="?attr/button"
<Spinner
android:id="@+id/spinner_penalty"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:background="@drawable/spinner_background_light"
android:spinnerMode="dropdown" />
<ImageButton
android:id="@+id/button_apply"
style="?attr/button"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center_vertical"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_weight="1"
android:text="@string/penalty" />
android:clipToPadding="false"
android:src="?attr/check_24dp_invert"
android:stateListAnimator="@animator/button_elevation" />
<Button
android:id="@+id/button_publish"
style="?attr/button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:clipToPadding="false"
android:gravity="center"
tools:text="@string/confirm" />
</LinearLayout>
@@ -36,7 +36,7 @@
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_weight="1"
android:text="Apply" />
android:text="@string/apply_button" />
<Button
android:id="@+id/button_publish"
@@ -523,6 +523,7 @@
<string name="sort_by_start">nach Abstand zur Startlinie</string>
<string name="sort_by_goal">nach getracktem Zieldurchgang</string>
<string name="apply_button">Zuordnen</string>
<string name="publish_button_empty">Veröffentlichen</string>
<string name="publish_button_other">Veröffentlichen (%d)</string>
<string name="publish_clicked">Ergebnisliste veröffentlicht</string>
@@ -2,113 +2,114 @@
<resources>
<!-- custom colors -->
<attr name="black" format="color"/>
<attr name="sap_blue_1" format="color"/>
<attr name="sap_gray" format="color"/>
<attr name="sap_gray_black_20" format="color"/>
<attr name="sap_gray_black_30" format="color"/>
<attr name="sap_gray_black_40" format="color"/>
<attr name="sap_gray_white_10" format="color"/>
<attr name="sap_gray_white_20" format="color"/>
<attr name="sap_light_gray" format="color"/>
<attr name="sap_red_1" format="color"/>
<attr name="sap_yellow_1" format="color"/>
<attr name="white" format="color"/>
<attr name="white_invert" format="color"/>
<attr name="black" format="color" />
<attr name="sap_blue_1" format="color" />
<attr name="sap_gray" format="color" />
<attr name="sap_gray_black_20" format="color" />
<attr name="sap_gray_black_30" format="color" />
<attr name="sap_gray_black_40" format="color" />
<attr name="sap_gray_white_10" format="color" />
<attr name="sap_gray_white_20" format="color" />
<attr name="sap_light_gray" format="color" />
<attr name="sap_red_1" format="color" />
<attr name="sap_yellow_1" format="color" />
<attr name="white" format="color" />
<attr name="white_invert" format="color" />
<!-- custom references (e.g. styles) -->
<attr name="button" format="reference"/>
<attr name="buttonSolidXSmall" format="reference"/>
<attr name="buttonSolidSmall" format="reference"/>
<attr name="buttonSolidNormal" format="reference"/>
<attr name="checkedItemBackground" format="reference"/>
<attr name="round" format="reference"/>
<attr name="round_transparent" format="reference"/>
<attr name="text" format="reference"/>
<attr name="textXXSmall" format="reference"/>
<attr name="textXSmall" format="reference"/>
<attr name="textSmall" format="reference"/>
<attr name="textNormal" format="reference"/>
<attr name="textLarge" format="reference"/>
<attr name="textXLarge" format="reference"/>
<attr name="button" format="reference" />
<attr name="buttonSolidXSmall" format="reference" />
<attr name="buttonSolidSmall" format="reference" />
<attr name="buttonSolidNormal" format="reference" />
<attr name="checkedItemBackground" format="reference" />
<attr name="round" format="reference" />
<attr name="round_transparent" format="reference" />
<attr name="text" format="reference" />
<attr name="textXXSmall" format="reference" />
<attr name="textXSmall" format="reference" />
<attr name="textSmall" format="reference" />
<attr name="textNormal" format="reference" />
<attr name="textLarge" format="reference" />
<attr name="textXLarge" format="reference" />
<attr name="textHeader" format="reference"/>
<attr name="textHeader" format="reference" />
<attr name="textPanelHeader" format="reference"/>
<attr name="textPanelCaption" format="reference"/>
<attr name="editText" format="reference"/>
<attr name="floatLabel" format="reference"/>
<attr name="textPanelHeader" format="reference" />
<attr name="textPanelCaption" format="reference" />
<attr name="editText" format="reference" />
<attr name="floatLabel" format="reference" />
<attr name="factor_background" format="reference"/>
<attr name="factor_background" format="reference" />
<!-- drawable -->
<attr name="add" format="reference"/>
<attr name="access_time_18dp" format="reference"/>
<attr name="access_time_24dp" format="reference"/>
<attr name="access_time_36dp" format="reference"/>
<attr name="arrow_down" format="reference"/>
<attr name="arrow_down_large" format="reference"/>
<attr name="arrow_down_normal" format="reference"/>
<attr name="arrow_drop_down_24dp" format="reference"/>
<attr name="arrow_up" format="reference"/>
<attr name="arrow_up_large" format="reference"/>
<attr name="arrow_up_normal" format="reference"/>
<attr name="button_filled_bordered" format="reference"/>
<attr name="button_next" format="reference"/>
<attr name="button_prev" format="reference"/>
<attr name="check_18dp" format="reference"/>
<attr name="chevron_left" format="reference"/>
<attr name="chevron_left_24dp" format="reference"/>
<attr name="chevron_right" format="reference"/>
<attr name="add" format="reference" />
<attr name="access_time_18dp" format="reference" />
<attr name="access_time_24dp" format="reference" />
<attr name="access_time_36dp" format="reference" />
<attr name="arrow_down" format="reference" />
<attr name="arrow_down_large" format="reference" />
<attr name="arrow_down_normal" format="reference" />
<attr name="arrow_drop_down_24dp" format="reference" />
<attr name="arrow_up" format="reference" />
<attr name="arrow_up_large" format="reference" />
<attr name="arrow_up_normal" format="reference" />
<attr name="button_filled_bordered" format="reference" />
<attr name="button_next" format="reference" />
<attr name="button_prev" format="reference" />
<attr name="check_18dp" format="reference" />
<attr name="check_24dp_invert" format="reference" />
<attr name="chevron_left" format="reference" />
<attr name="chevron_left_24dp" format="reference" />
<attr name="chevron_right" format="reference" />
<attr name="clear_24dp" format="reference" />
<attr name="create" format="reference"/>
<attr name="compass_back" format="reference"/>
<attr name="compass_needle" format="reference"/>
<attr name="competitor_list" format="reference"/>
<attr name="course_triangle_48dp" format="reference"/>
<attr name="course_triangle_64dp" format="reference"/>
<attr name="course_updown_48dp" format="reference"/>
<attr name="course_updown_64dp" format="reference"/>
<attr name="dns" format="reference"/>
<attr name="hearing" format="reference"/>
<attr name="link_24dp" format="reference"/>
<attr name="list_24dp" format="reference"/>
<attr name="list_both_24dp" format="reference"/>
<attr name="list_single_24dp" format="reference"/>
<attr name="lock_outline" format="reference"/>
<attr name="keyboard_control_36dp" format="reference"/>
<attr name="marker" format="reference"/>
<attr name="marker_race" format="reference"/>
<attr name="mic_48dp" format="reference"/>
<attr name="photo_camera" format="reference"/>
<attr name="play_arrow_36dp" format="reference"/>
<attr name="create" format="reference" />
<attr name="compass_back" format="reference" />
<attr name="compass_needle" format="reference" />
<attr name="competitor_list" format="reference" />
<attr name="course_triangle_48dp" format="reference" />
<attr name="course_triangle_64dp" format="reference" />
<attr name="course_updown_48dp" format="reference" />
<attr name="course_updown_64dp" format="reference" />
<attr name="dns" format="reference" />
<attr name="hearing" format="reference" />
<attr name="link_24dp" format="reference" />
<attr name="list_24dp" format="reference" />
<attr name="list_both_24dp" format="reference" />
<attr name="list_single_24dp" format="reference" />
<attr name="lock_outline" format="reference" />
<attr name="keyboard_control_36dp" format="reference" />
<attr name="marker" format="reference" />
<attr name="marker_race" format="reference" />
<attr name="mic_48dp" format="reference" />
<attr name="photo_camera" format="reference" />
<attr name="play_arrow_36dp" format="reference" />
<attr name="search_24dp" format="reference" />
<attr name="search_24dp_invert" format="reference"/>
<attr name="search_24dp_invert" format="reference" />
<attr name="sortby_24dp" format="reference" />
<attr name="spinner_background" format="reference"/>
<attr name="swipe_idle" format="reference"/>
<attr name="swipe_left" format="reference"/>
<attr name="swipe_right" format="reference"/>
<attr name="tab_widget" format="reference"/>
<attr name="value_next" format="reference"/>
<attr name="value_prev" format="reference"/>
<attr name="wind_on" format="reference"/>
<attr name="wind_off" format="reference"/>
<attr name="spinner_background" format="reference" />
<attr name="swipe_idle" format="reference" />
<attr name="swipe_left" format="reference" />
<attr name="swipe_right" format="reference" />
<attr name="tab_widget" format="reference" />
<attr name="value_next" format="reference" />
<attr name="value_prev" format="reference" />
<attr name="wind_on" format="reference" />
<attr name="wind_off" format="reference" />
<!-- flag drawables -->
<attr name="flag_blue_first" format="reference"/>
<attr name="flag_blue_last" format="reference"/>
<attr name="flag_blue_first" format="reference" />
<attr name="flag_blue_last" format="reference" />
<attr name="flag_ap_alpha_96dp" format="reference"/>
<attr name="flag_ap_hotel_96dp" format="reference"/>
<attr name="flag_november_alpha_96dp" format="reference"/>
<attr name="flag_november_hotel_96dp" format="reference"/>
<attr name="flag_ap_alpha_96dp" format="reference" />
<attr name="flag_ap_hotel_96dp" format="reference" />
<attr name="flag_november_alpha_96dp" format="reference" />
<attr name="flag_november_hotel_96dp" format="reference" />
<attr name="flags_abandon" format="reference"/>
<attr name="flags_blue_first" format="reference"/>
<attr name="flags_blue_last" format="reference"/>
<attr name="flags_course" format="reference"/>
<attr name="flags_postpone" format="reference"/>
<attr name="flags_recall" format="reference"/>
<attr name="flags_abandon" format="reference" />
<attr name="flags_blue_first" format="reference" />
<attr name="flags_blue_last" format="reference" />
<attr name="flags_course" format="reference" />
<attr name="flags_postpone" format="reference" />
<attr name="flags_recall" format="reference" />
</resources>
@@ -552,6 +552,7 @@
<string name="sort_by_start">by Position to Start Line</string>
<string name="sort_by_goal">by Tracked Position</string>
<string name="apply_button">Apply</string>
<string name="publish_button_empty">Publish</string>
<string name="publish_button_other">Publish (%d)</string>
<string name="publish_clicked">Results published</string>
@@ -70,6 +70,7 @@
<item name="button_next">@drawable/button_next_dark</item>
<item name="button_prev">@drawable/button_prev_dark</item>
<item name="check_18dp">@drawable/ic_check_white_18dp</item>
<item name="check_24dp_invert">@drawable/ic_check_black_24dp</item>
<item name="chevron_left_24dp">@drawable/ic_chevron_left_white_24dp</item>
<item name="clear_24dp">@drawable/ic_clear_white_24dp</item>
<item name="create">@drawable/ic_create_dark</item>
@@ -79,6 +79,7 @@
<item name="button_next">@drawable/button_next_light</item>
<item name="button_prev">@drawable/button_prev_light</item>
<item name="check_18dp">@drawable/ic_check_black_18dp</item>
<item name="check_24dp_invert">@drawable/ic_check_white_24dp</item>
<item name="chevron_left_24dp">@drawable/ic_chevron_left_black_24dp</item>
<item name="clear_24dp">@drawable/ic_clear_black_24dp</item>
<item name="create">@drawable/ic_create_light</item>
@@ -4,19 +4,6 @@ import static com.sap.sailing.domain.abstractlog.race.analyzing.impl.StartTimeFi
import java.text.SimpleDateFormat;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
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.TextView;
import com.sap.sailing.android.shared.logging.ExLog;
import com.sap.sailing.android.shared.util.ViewHelper;
import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier;
@@ -41,6 +28,19 @@ import com.sap.sse.common.TimePoint;
import com.sap.sse.common.Util;
import com.sap.sse.common.impl.MillisecondsTimePoint;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
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.TextView;
public class TimePanelFragment extends BasePanelFragment {
public final static String TOGGLED = "toggled";
@@ -232,6 +232,7 @@ public class TimePanelFragment extends BasePanelFragment {
changeVisibility(mTimeLock, null, View.VISIBLE);
break;
case FINISHED:
changeVisibility(mTimeLock, null, View.VISIBLE);
break;
@@ -147,7 +147,7 @@ public class PenaltyFragment extends BaseFragment implements PopupMenu.OnMenuIte
mPenaltyDropDown.setAdapter(mPenaltyAdapter);
mPenaltyDropDown.setOnItemSelectedListener(new StringArraySpinnerAdapter.SpinnerSelectedListener(mPenaltyAdapter));
}
Button applyButton = ViewHelper.get(layout, R.id.button_apply);
View applyButton = ViewHelper.get(layout, R.id.button_apply);
if (applyButton != null) {
applyButton.setOnClickListener(new View.OnClickListener() {
@Override
@@ -156,7 +156,7 @@ public class PenaltyFragment extends BaseFragment implements PopupMenu.OnMenuIte
}
});
}
Button penaltyButton = ViewHelper.get(layout, R.id.button_penalty);
View penaltyButton = ViewHelper.get(layout, R.id.button_penalty);
if (penaltyButton != null) {
penaltyButton.setOnClickListener(new View.OnClickListener() {
@Override
@@ -208,22 +208,27 @@ public class PenaltyFragment extends BaseFragment implements PopupMenu.OnMenuIte
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
RacingProcedure procedure = getRaceState().getRacingProcedure();
if (procedure instanceof ConfigurableStartModeFlagRacingProcedure) {
ConfigurableStartModeFlagRacingProcedure racingProcedure = getRaceState().getTypedRacingProcedure();
switch (racingProcedure.getStartModeFlag()) {
case PAPA:
mPenaltyDropDown.setSelection(mPenaltyAdapter.getPosition(MaxPointsReason.OCS.name()));
break;
case BLACK:
mPenaltyDropDown.setSelection(mPenaltyAdapter.getPosition(MaxPointsReason.BFD.name()));
break;
case UNIFORM:
mPenaltyDropDown.setSelection(mPenaltyAdapter.getPosition(MaxPointsReason.UFD.name()));
break;
default:
// nothing
break;
if (mPenaltyDropDown != null) {
RacingProcedure procedure = getRaceState().getRacingProcedure();
if (procedure instanceof ConfigurableStartModeFlagRacingProcedure) {
ConfigurableStartModeFlagRacingProcedure racingProcedure = getRaceState().getTypedRacingProcedure();
switch (racingProcedure.getStartModeFlag()) {
case PAPA:
mPenaltyDropDown.setSelection(mPenaltyAdapter.getPosition(MaxPointsReason.OCS.name()));
break;
case BLACK:
mPenaltyDropDown.setSelection(mPenaltyAdapter.getPosition(MaxPointsReason.BFD.name()));
break;
case UNIFORM:
mPenaltyDropDown.setSelection(mPenaltyAdapter.getPosition(MaxPointsReason.UFD.name()));
break;
default:
// nothing
break;
}
}
}
switch (getRaceState().getStatus()) {