mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-10 14:20:55 +00:00
Merge branch 'ubilabs--rcapp--feature--finishing-since' into ubilabs--rcapp--develop
This commit is contained in:
commit
89a4f0f051
6 files changed
+51
-27
No files matched your search
@@ -24,10 +24,19 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="@dimen/default_margin_half"
|
||||
android:layout_marginTop="@dimen/default_margin_half"
|
||||
android:text="@string/finishing_started"
|
||||
android:textAppearance="?textNormal"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/first_vessel_since"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginBottom="@dimen/default_margin_half"
|
||||
android:text="@string/finishing_started_since"
|
||||
android:textAppearance="?textNormal"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -353,7 +353,8 @@
|
||||
<string name="race_summary_wind_direction_value">aus %.0f°</string>
|
||||
<string name="race_summary_wind_speed">Durchschnittliche Windgeschwindigkeit</string>
|
||||
<string name="record_voice">Stimme aufzeichnen</string>
|
||||
<string name="finishing_started">Erstes Schiff im Ziel um #TIME#</string>
|
||||
<string name="finishing_started">Erstes Schiff im Ziel um %s</string>
|
||||
<string name="finishing_started_since">(%s)</string>
|
||||
<string name="finishing_done">Jetzt runter</string>
|
||||
<string name="finished_edit">Liste bearbeiten</string>
|
||||
<string name="finished_list">Zielliste</string>
|
||||
|
||||
@@ -370,7 +370,8 @@
|
||||
<string name="race_summary_individual_recalls">Individual Recalls</string>
|
||||
<string name="race_summary_time" translatable="false">%s min</string>
|
||||
<string name="record_voice">Record Voice</string>
|
||||
<string name="finishing_started">First vessel in finish at #TIME#</string>
|
||||
<string name="finishing_started">First vessel in finish at %s</string>
|
||||
<string name="finishing_started_since">(%s)</string>
|
||||
<string name="finishing_done">Down now</string>
|
||||
|
||||
<string name="finished_recording">Recording</string>
|
||||
|
||||
+11
-14
@@ -1,8 +1,5 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.adapters.coursedesign;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -10,17 +7,19 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.sap.sailing.domain.base.Mark;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.utils.MarkImageHelper;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CourseMarkAdapter extends RecyclerView.Adapter<CourseMarkAdapter.ViewHolder> {
|
||||
|
||||
private Context mContext;
|
||||
private List<Mark> mMarks;
|
||||
private MarkImageHelper mImageHelper;
|
||||
private MarkLongClick mListener;
|
||||
private MarkClick mListener;
|
||||
|
||||
public CourseMarkAdapter(Context context, ArrayList<Mark> marks, MarkImageHelper imageHelper) {
|
||||
mContext = context;
|
||||
@@ -52,15 +51,15 @@ public class CourseMarkAdapter extends RecyclerView.Adapter<CourseMarkAdapter.Vi
|
||||
return 0;
|
||||
}
|
||||
|
||||
public void setListener(MarkLongClick listener) {
|
||||
public void setListener(MarkClick listener) {
|
||||
mListener = listener;
|
||||
}
|
||||
|
||||
public interface MarkLongClick {
|
||||
void onItemLongClick(Mark mark);
|
||||
public interface MarkClick {
|
||||
void onItemClick(Mark mark);
|
||||
}
|
||||
|
||||
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnLongClickListener {
|
||||
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
|
||||
|
||||
public TextView textView;
|
||||
public ImageView imageView;
|
||||
@@ -68,18 +67,16 @@ public class CourseMarkAdapter extends RecyclerView.Adapter<CourseMarkAdapter.Vi
|
||||
public ViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
|
||||
itemView.setOnLongClickListener(this);
|
||||
itemView.setOnClickListener(this);
|
||||
textView = (TextView) itemView.findViewById(R.id.cell_text);
|
||||
imageView = (ImageView) itemView.findViewById(R.id.cell_image);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
public void onClick(View v) {
|
||||
if (mListener != null) {
|
||||
mListener.onItemLongClick(mMarks.get(getAdapterPosition()));
|
||||
return true;
|
||||
mListener.onItemClick(mMarks.get(getAdapterPosition()));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
-3
@@ -36,7 +36,7 @@ import com.sap.sailing.racecommittee.app.ui.adapters.coursedesign.CourseElementA
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.coursedesign.CourseElementAdapter.EventListener;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.coursedesign.CourseListDataElement;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.coursedesign.CourseMarkAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.coursedesign.CourseMarkAdapter.MarkLongClick;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.coursedesign.CourseMarkAdapter.MarkClick;
|
||||
import com.sap.sailing.racecommittee.app.ui.comparators.NaturalNamedComparator;
|
||||
import com.sap.sailing.racecommittee.app.ui.utils.ESSMarkImageHelper;
|
||||
import com.sap.sailing.racecommittee.app.utils.BitmapHelper;
|
||||
@@ -48,7 +48,7 @@ import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class CourseFragmentMarks extends CourseFragment implements MarkLongClick, ElementLongClick, EventListener {
|
||||
public class CourseFragmentMarks extends CourseFragment implements MarkClick, ElementLongClick, EventListener {
|
||||
|
||||
private RecyclerViewDragDropManager mDragDropManager;
|
||||
private RecyclerViewSwipeManager mSwipeManager;
|
||||
@@ -327,7 +327,7 @@ public class CourseFragmentMarks extends CourseFragment implements MarkLongClick
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onItemLongClick(Mark mark) {
|
||||
public void onItemClick(Mark mark) {
|
||||
if (mElements.isEmpty()) {
|
||||
addNewCourseElementToList(mark);
|
||||
} else {
|
||||
|
||||
+23
-7
@@ -1,7 +1,5 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.fragments.raceinfo;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.view.LayoutInflater;
|
||||
@@ -10,14 +8,21 @@ import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.sap.sailing.android.shared.util.ViewHolder;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.utils.FlagsResources;
|
||||
import com.sap.sailing.racecommittee.app.utils.TimeUtils;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
public class RaceFinishingFragment extends BaseFragment {
|
||||
|
||||
private SimpleDateFormat mDateFormat;
|
||||
private TextView mFinishingSince;
|
||||
|
||||
public static RaceFinishingFragment newInstance() {
|
||||
RaceFinishingFragment fragment = new RaceFinishingFragment();
|
||||
Bundle args = new Bundle();
|
||||
@@ -30,6 +35,9 @@ public class RaceFinishingFragment extends BaseFragment {
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View layout = inflater.inflate(R.layout.race_finishing, container, false);
|
||||
|
||||
mDateFormat = new SimpleDateFormat("HH:mm:ss", getResources().getConfiguration().locale);
|
||||
mFinishingSince = ViewHolder.get(layout, R.id.first_vessel_since);
|
||||
|
||||
ImageView flag = ViewHolder.get(layout, R.id.flag);
|
||||
if (flag != null) {
|
||||
flag.setImageDrawable(FlagsResources.getFlagDrawable(getActivity(), Flags.BLUE.name(), 96));
|
||||
@@ -55,11 +63,19 @@ public class RaceFinishingFragment extends BaseFragment {
|
||||
if (getView() != null) {
|
||||
TextView first_vessel = ViewHolder.get(getView(), R.id.first_vessel);
|
||||
if (first_vessel != null && getRaceState() != null && getRaceState().getFinishingTime() != null) {
|
||||
String vessel_time = getString(R.string.finishing_started);
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss", getResources().getConfiguration().locale);
|
||||
vessel_time = vessel_time.replace("#TIME#", dateFormat.format(getRaceState().getFinishingTime().asDate()));
|
||||
first_vessel.setText(vessel_time);
|
||||
first_vessel.setText(getString(R.string.finishing_started, mDateFormat.format(getRaceState().getFinishingTime().asDate())));
|
||||
}
|
||||
}
|
||||
notifyTick(MillisecondsTimePoint.now());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void notifyTick(TimePoint now) {
|
||||
super.notifyTick(now);
|
||||
|
||||
if (mFinishingSince != null) {
|
||||
String timeDiff = TimeUtils.formatDurationSince(now.minus(getRaceState().getFinishingTime().asMillis()).asMillis());
|
||||
mFinishingSince.setText(getString(R.string.finishing_started_since, timeDiff));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user