mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-30 01:16:40 +00:00
RCApp: Abandon and Postpone click send data to race log
This commit is contained in:
@@ -1,16 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE xml>
|
||||
<lint>
|
||||
<!-- Reason: some images are not resolution aware (only in drawable-folder)-->
|
||||
<issue id="IconLocation" severity="ignore" />
|
||||
|
||||
<!-- Reason: App is not for the Play Store right now -->
|
||||
<issue id="ContentDescription" severity="ignore" />
|
||||
|
||||
<!--
|
||||
<!– Reason: App is not RTL (right to left) aware –>
|
||||
<!-- Reson: just ignore right now -->
|
||||
<issue id="UnusedResources" severity="ignore" />
|
||||
|
||||
<!-- Reason: App is not RTL (right to left) aware -->
|
||||
<issue id="UnusedAttribute">
|
||||
<ignore path="AndroidManifest.xml" />
|
||||
</issue>
|
||||
<issue id="RtlSymmetry" severity="ignore" />
|
||||
<issue id="RtlHardcoded" severity="ignore" />
|
||||
-->
|
||||
|
||||
<!-- Reason: Don't want to use apply() instead of commit() -->
|
||||
<issue id="CommitPrefEdits">
|
||||
@@ -31,4 +36,15 @@
|
||||
<ignore path="src/com/sap/sailing/racecommittee/app/ui/fragments/dialogs/ProtestTimeDialogFragment.java" />
|
||||
<ignore path="src/com/sap/sailing/racecommittee/app/ui/fragments/RaceInfoFragment.java" />
|
||||
</issue>
|
||||
|
||||
<!-- Reason: Not possible because of wrong image dimensions -->
|
||||
<issue id="UseCompoundDrawables">
|
||||
<ignore path="res/layout/race_panel_left.xml" />
|
||||
<ignore path="res/layout/race_panel_right.xml" />
|
||||
<ignore path="res/layout/race_schedule_mode.xml" />
|
||||
<ignore path="res/layout/race_schedule_procedure.xml" />
|
||||
<ignore path="res/layout/race_schedule_procedure_gate_start_pathfinder.xml" />
|
||||
<ignore path="res/layout/race_schedule_procedure_gate_start_timing.xml" />
|
||||
<ignore path="res/layout/race_schedule_start_time.xml" />
|
||||
</issue>
|
||||
</lint>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1000 B |
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 624 B |
@@ -6,7 +6,7 @@
|
||||
android:top="30dp">
|
||||
<bitmap
|
||||
android:gravity="top"
|
||||
android:src="@drawable/flag_ap_96dp" />
|
||||
android:src="@drawable/flag_hotel_96dp" />
|
||||
</item>
|
||||
|
||||
<item
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?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="100dp">
|
||||
|
||||
@@ -24,9 +25,9 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="13:36"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/textSize_40" />
|
||||
android:textSize="@dimen/textSize_40"
|
||||
tools:text="13:36" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/race_started"
|
||||
@@ -101,9 +102,9 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:text="01:12"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/textSize_18" />
|
||||
android:textSize="@dimen/textSize_18"
|
||||
tools:text="01:12" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
@@ -123,17 +124,17 @@
|
||||
android:id="@+id/group_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="470 - Women"
|
||||
android:textSize="@dimen/textSize_22"
|
||||
android:singleLine="true" />
|
||||
android:singleLine="true"
|
||||
tools:text="470 - Women" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/race_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Fleet Yellow - Race 3"
|
||||
android:textSize="@dimen/textSize_22"
|
||||
android:singleLine="true" />
|
||||
android:singleLine="true"
|
||||
tools:text="Fleet Yellow - Race 3" />
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
@@ -171,6 +171,13 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/course_header">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/course_icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_centerInParent="true"
|
||||
tools:src="@drawable/course_triangle_48dp" />
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
|
||||
|
||||
-14
@@ -405,20 +405,6 @@ public class RacingActivity extends SessionActivity implements RaceInfoListener,
|
||||
}).run();
|
||||
}
|
||||
|
||||
public void replaceFragment(RaceFragment fragment) {
|
||||
//FIXME new function
|
||||
// replaceFragment(fragment, R.id.sub_fragment);
|
||||
}
|
||||
|
||||
public void replaceFragment(RaceFragment fragment, int viewId) {
|
||||
raceFragment = fragment;
|
||||
|
||||
FragmentTransaction transaction = getFragmentManager().beginTransaction();
|
||||
transaction.replace(viewId, raceFragment);
|
||||
// transaction.addToBackStack(null);
|
||||
transaction.commit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSupportProgressBarIndeterminateVisibility(boolean visible) {
|
||||
super.setSupportProgressBarIndeterminateVisibility(visible);
|
||||
|
||||
+21
-24
@@ -8,6 +8,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.*;
|
||||
import com.sap.sailing.android.shared.util.ViewHolder;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -16,8 +17,8 @@ public class AbandonFlagsAdapter extends BaseFlagsAdapter {
|
||||
|
||||
public class AbandonFlag extends FlagItem {
|
||||
|
||||
public AbandonFlag(String line1, String line2, String flag) {
|
||||
super(line1, line2, flag);
|
||||
public AbandonFlag(String line1, String line2, String fileName, Flags flag) {
|
||||
super(line1, line2, fileName, flag);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,16 +26,14 @@ public class AbandonFlagsAdapter extends BaseFlagsAdapter {
|
||||
private ArrayList<AbandonFlag> mFlags;
|
||||
private AbandonFlagItemClick mListener;
|
||||
|
||||
public AbandonFlagsAdapter(Context context) {
|
||||
public AbandonFlagsAdapter(Context context, AbandonFlagItemClick listener) {
|
||||
mContext = context;
|
||||
mFlags = new ArrayList<>();
|
||||
mFlags.add(new AbandonFlag(context.getString(R.string.flag_november), context.getString(R.string.flag_november_desc), "flag_november_96dp"));
|
||||
mFlags.add(new AbandonFlag(context.getString(R.string.flag_november_hotel), context.getString(R.string.flag_november_hotel_desc), "flag_november_and_hotel"));
|
||||
mFlags.add(new AbandonFlag(context.getString(R.string.flag_november_alpha), context.getString(R.string.flag_november_alpha_desc), "flag_november_and_alpha"));
|
||||
mListener = listener;
|
||||
|
||||
if (context instanceof AbandonFlagItemClick) {
|
||||
mListener = (AbandonFlagItemClick) context;
|
||||
}
|
||||
mFlags = new ArrayList<>();
|
||||
mFlags.add(new AbandonFlag(context.getString(R.string.flag_november), context.getString(R.string.flag_november_desc), "flag_november_96dp", Flags.NONE));
|
||||
mFlags.add(new AbandonFlag(context.getString(R.string.flag_november_hotel), context.getString(R.string.flag_november_hotel_desc), "flag_november_and_hotel", Flags.HOTEL));
|
||||
mFlags.add(new AbandonFlag(context.getString(R.string.flag_november_alpha), context.getString(R.string.flag_november_alpha_desc), "flag_november_and_alpha", Flags.ALPHA));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -59,12 +58,12 @@ public class AbandonFlagsAdapter extends BaseFlagsAdapter {
|
||||
convertView = inflater.inflate(R.layout.flag_list_item, parent, false);
|
||||
}
|
||||
|
||||
final AbandonFlag flag = getItem(position);
|
||||
final AbandonFlag item = getItem(position);
|
||||
|
||||
final ImageView flagImage = ViewHolder.get(convertView, R.id.flag);
|
||||
if (flagImage != null) {
|
||||
flagImage.setVisibility(View.INVISIBLE);
|
||||
int flagResId = mContext.getResources().getIdentifier(flag.flag, "drawable", mContext.getPackageName());
|
||||
int flagResId = mContext.getResources().getIdentifier(item.file_name, "drawable", mContext.getPackageName());
|
||||
if (flagResId != 0) {
|
||||
Drawable flagDrawable = mContext.getResources().getDrawable(flagResId);
|
||||
flagImage.setImageDrawable(flagDrawable);
|
||||
@@ -75,34 +74,32 @@ public class AbandonFlagsAdapter extends BaseFlagsAdapter {
|
||||
final TextView first_line = ViewHolder.get(convertView, R.id.first_line);
|
||||
if (first_line != null) {
|
||||
first_line.setVisibility(View.GONE);
|
||||
if (!TextUtils.isEmpty(flag.first_line)) {
|
||||
if (!TextUtils.isEmpty(item.first_line)) {
|
||||
first_line.setVisibility(View.VISIBLE);
|
||||
first_line.setText(flag.first_line);
|
||||
first_line.setText(item.first_line);
|
||||
}
|
||||
}
|
||||
|
||||
final TextView second_line = ViewHolder.get(convertView, R.id.second_line);
|
||||
if (second_line != null) {
|
||||
second_line.setVisibility(View.GONE);
|
||||
if (!TextUtils.isEmpty(flag.second_line)) {
|
||||
if (!TextUtils.isEmpty(item.second_line)) {
|
||||
second_line.setVisibility(View.VISIBLE);
|
||||
second_line.setText(flag.second_line);
|
||||
second_line.setText(item.second_line);
|
||||
}
|
||||
}
|
||||
|
||||
final Button confirm = ViewHolder.get(convertView, R.id.confirm);
|
||||
if (confirm != null) {
|
||||
if (confirm != null && mListener != null) {
|
||||
confirm.setVisibility(View.GONE);
|
||||
if (flag.touched) {
|
||||
if (item.touched) {
|
||||
confirm.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
confirm.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mListener != null) {
|
||||
mListener.onClick(flag);
|
||||
}
|
||||
mListener.onClick(item.flag);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -112,8 +109,8 @@ public class AbandonFlagsAdapter extends BaseFlagsAdapter {
|
||||
layout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
for (AbandonFlag item : mFlags) {
|
||||
item.touched = item.flag.equals(flag.flag);
|
||||
for (AbandonFlag flag : mFlags) {
|
||||
flag.touched = flag.file_name.equals(item.file_name);
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
@@ -124,6 +121,6 @@ public class AbandonFlagsAdapter extends BaseFlagsAdapter {
|
||||
}
|
||||
|
||||
public interface AbandonFlagItemClick {
|
||||
void onClick(AbandonFlag flag);
|
||||
void onClick(Flags flag);
|
||||
}
|
||||
}
|
||||
|
||||
+6
-2
@@ -1,15 +1,19 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.adapters;
|
||||
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
|
||||
public abstract class FlagItem {
|
||||
|
||||
public String first_line;
|
||||
public String second_line;
|
||||
public String flag;
|
||||
public String file_name;
|
||||
public Flags flag;
|
||||
public Boolean touched = false;
|
||||
|
||||
public FlagItem(String line1, String line2, String flag) {
|
||||
public FlagItem(String line1, String line2, String fileName, Flags flag) {
|
||||
this.first_line = line1;
|
||||
this.second_line = line2;
|
||||
this.file_name = fileName;
|
||||
this.flag = flag;
|
||||
}
|
||||
}
|
||||
|
||||
+16
-20
@@ -19,8 +19,8 @@ public class MoreFlagsAdapter extends BaseFlagsAdapter {
|
||||
|
||||
public class MoreFlag extends FlagItem {
|
||||
|
||||
public MoreFlag(String line1, String line2, String flag) {
|
||||
super(line1, line2, flag);
|
||||
public MoreFlag(String line1, String line2, String fileName) {
|
||||
super(line1, line2, fileName, null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,14 +28,12 @@ public class MoreFlagsAdapter extends BaseFlagsAdapter {
|
||||
private ArrayList<MoreFlag> mFlags;
|
||||
private MoreFlagItemClick mListener;
|
||||
|
||||
public MoreFlagsAdapter(Context context) {
|
||||
public MoreFlagsAdapter(Context context, MoreFlagItemClick listener) {
|
||||
mContext = context;
|
||||
mListener = listener;
|
||||
|
||||
mFlags = new ArrayList<>();
|
||||
mFlags.add(new MoreFlag(context.getString(R.string.flag_blue), context.getString(R.string.flag_blue_desc), "flag_blue_96dp"));
|
||||
|
||||
if (context instanceof MoreFlagItemClick) {
|
||||
mListener = (MoreFlagItemClick) context;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -60,12 +58,12 @@ public class MoreFlagsAdapter extends BaseFlagsAdapter {
|
||||
convertView = inflater.inflate(R.layout.flag_list_item, parent, false);
|
||||
}
|
||||
|
||||
final MoreFlag flag = getItem(position);
|
||||
final MoreFlag item = getItem(position);
|
||||
|
||||
final ImageView flagImage = ViewHolder.get(convertView, R.id.flag);
|
||||
if (flagImage != null) {
|
||||
flagImage.setVisibility(View.INVISIBLE);
|
||||
int flagResId = mContext.getResources().getIdentifier(flag.flag, "drawable", mContext.getPackageName());
|
||||
int flagResId = mContext.getResources().getIdentifier(item.file_name, "drawable", mContext.getPackageName());
|
||||
if (flagResId != 0) {
|
||||
Drawable flagDrawable = mContext.getResources().getDrawable(flagResId);
|
||||
flagImage.setImageDrawable(flagDrawable);
|
||||
@@ -76,34 +74,32 @@ public class MoreFlagsAdapter extends BaseFlagsAdapter {
|
||||
final TextView first_line = ViewHolder.get(convertView, R.id.first_line);
|
||||
if (first_line != null) {
|
||||
first_line.setVisibility(View.GONE);
|
||||
if (!TextUtils.isEmpty(flag.first_line)) {
|
||||
if (!TextUtils.isEmpty(item.first_line)) {
|
||||
first_line.setVisibility(View.VISIBLE);
|
||||
first_line.setText(flag.first_line);
|
||||
first_line.setText(item.first_line);
|
||||
}
|
||||
}
|
||||
|
||||
final TextView second_line = ViewHolder.get(convertView, R.id.second_line);
|
||||
if (second_line != null) {
|
||||
second_line.setVisibility(View.GONE);
|
||||
if (!TextUtils.isEmpty(flag.second_line)) {
|
||||
if (!TextUtils.isEmpty(item.second_line)) {
|
||||
second_line.setVisibility(View.VISIBLE);
|
||||
second_line.setText(flag.second_line);
|
||||
second_line.setText(item.second_line);
|
||||
}
|
||||
}
|
||||
|
||||
final Button confirm = ViewHolder.get(convertView, R.id.confirm);
|
||||
if (confirm != null) {
|
||||
if (confirm != null && mListener != null) {
|
||||
confirm.setVisibility(View.GONE);
|
||||
if (flag.touched) {
|
||||
if (item.touched) {
|
||||
confirm.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
confirm.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mListener != null) {
|
||||
mListener.onClick(flag);
|
||||
}
|
||||
mListener.onClick(item);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -113,8 +109,8 @@ public class MoreFlagsAdapter extends BaseFlagsAdapter {
|
||||
layout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
for (MoreFlag item : mFlags) {
|
||||
item.touched = item.flag.equals(flag.flag);
|
||||
for (MoreFlag flag : mFlags) {
|
||||
flag.touched = flag.file_name.equals(item.file_name);
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
+21
-24
@@ -8,6 +8,7 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.*;
|
||||
import com.sap.sailing.android.shared.util.ViewHolder;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -16,8 +17,8 @@ public class PostponeFlagsAdapter extends BaseFlagsAdapter {
|
||||
|
||||
public class PostponeFlag extends FlagItem {
|
||||
|
||||
public PostponeFlag(String line1, String line2, String flag) {
|
||||
super(line1, line2, flag);
|
||||
public PostponeFlag(String line1, String line2, String fileName, Flags flag) {
|
||||
super(line1, line2, fileName, flag);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,16 +26,14 @@ public class PostponeFlagsAdapter extends BaseFlagsAdapter {
|
||||
private ArrayList<PostponeFlag> mFlags;
|
||||
private PostponeFlagItemClick mListener;
|
||||
|
||||
public PostponeFlagsAdapter(Context context) {
|
||||
public PostponeFlagsAdapter(Context context, PostponeFlagItemClick listener) {
|
||||
mContext = context;
|
||||
mFlags = new ArrayList<>();
|
||||
mFlags.add(new PostponeFlag(context.getString(R.string.flag_ap), context.getString(R.string.flag_ap_desc), "flag_ap_96dp"));
|
||||
mFlags.add(new PostponeFlag(context.getString(R.string.flag_ap_hotel), context.getString(R.string.flag_ap_hotel_desc), "flag_ap_and_hotel"));
|
||||
mFlags.add(new PostponeFlag(context.getString(R.string.flag_ap_alpha), context.getString(R.string.flag_ap_alpha_desc), "flag_ap_and_alpha"));
|
||||
mListener = listener;
|
||||
|
||||
if (context instanceof PostponeFlagItemClick) {
|
||||
mListener = (PostponeFlagItemClick) context;
|
||||
}
|
||||
mFlags = new ArrayList<>();
|
||||
mFlags.add(new PostponeFlag(context.getString(R.string.flag_ap), context.getString(R.string.flag_ap_desc), "flag_ap_96dp", Flags.NONE));
|
||||
mFlags.add(new PostponeFlag(context.getString(R.string.flag_ap_hotel), context.getString(R.string.flag_ap_hotel_desc), "flag_ap_and_hotel", Flags.HOTEL));
|
||||
mFlags.add(new PostponeFlag(context.getString(R.string.flag_ap_alpha), context.getString(R.string.flag_ap_alpha_desc), "flag_ap_and_alpha", Flags.ALPHA));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -59,12 +58,12 @@ public class PostponeFlagsAdapter extends BaseFlagsAdapter {
|
||||
convertView = inflater.inflate(R.layout.flag_list_item, parent, false);
|
||||
}
|
||||
|
||||
final PostponeFlag flag = getItem(position);
|
||||
final PostponeFlag item = getItem(position);
|
||||
|
||||
final ImageView flagImage = ViewHolder.get(convertView, R.id.flag);
|
||||
if (flagImage != null) {
|
||||
flagImage.setVisibility(View.INVISIBLE);
|
||||
int flagResId = mContext.getResources().getIdentifier(flag.flag, "drawable", mContext.getPackageName());
|
||||
int flagResId = mContext.getResources().getIdentifier(item.file_name, "drawable", mContext.getPackageName());
|
||||
if (flagResId != 0) {
|
||||
Drawable flagDrawable = mContext.getResources().getDrawable(flagResId);
|
||||
flagImage.setImageDrawable(flagDrawable);
|
||||
@@ -75,34 +74,32 @@ public class PostponeFlagsAdapter extends BaseFlagsAdapter {
|
||||
final TextView first_line = ViewHolder.get(convertView, R.id.first_line);
|
||||
if (first_line != null) {
|
||||
first_line.setVisibility(View.GONE);
|
||||
if (!TextUtils.isEmpty(flag.first_line)) {
|
||||
if (!TextUtils.isEmpty(item.first_line)) {
|
||||
first_line.setVisibility(View.VISIBLE);
|
||||
first_line.setText(flag.first_line);
|
||||
first_line.setText(item.first_line);
|
||||
}
|
||||
}
|
||||
|
||||
final TextView second_line = ViewHolder.get(convertView, R.id.second_line);
|
||||
if (second_line != null) {
|
||||
second_line.setVisibility(View.GONE);
|
||||
if (!TextUtils.isEmpty(flag.second_line)) {
|
||||
if (!TextUtils.isEmpty(item.second_line)) {
|
||||
second_line.setVisibility(View.VISIBLE);
|
||||
second_line.setText(flag.second_line);
|
||||
second_line.setText(item.second_line);
|
||||
}
|
||||
}
|
||||
|
||||
final Button confirm = ViewHolder.get(convertView, R.id.confirm);
|
||||
if (confirm != null) {
|
||||
if (confirm != null && mListener != null) {
|
||||
confirm.setVisibility(View.GONE);
|
||||
if (flag.touched) {
|
||||
if (item.touched) {
|
||||
confirm.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
confirm.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mListener != null) {
|
||||
mListener.onClick(flag);
|
||||
}
|
||||
mListener.onClick(item.flag);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -112,8 +109,8 @@ public class PostponeFlagsAdapter extends BaseFlagsAdapter {
|
||||
layout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
for (PostponeFlag item : mFlags) {
|
||||
item.touched = item.flag.equals(flag.flag);
|
||||
for (PostponeFlag flag : mFlags) {
|
||||
flag.touched = flag.file_name.equals(item.file_name);
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
@@ -124,6 +121,6 @@ public class PostponeFlagsAdapter extends BaseFlagsAdapter {
|
||||
}
|
||||
|
||||
public interface PostponeFlagItemClick {
|
||||
void onClick(PostponeFlag flag);
|
||||
void onClick(Flags flag);
|
||||
}
|
||||
}
|
||||
|
||||
+16
-19
@@ -17,8 +17,8 @@ public class RecallFlagsAdapter extends BaseFlagsAdapter {
|
||||
|
||||
public class RecallFlag extends FlagItem {
|
||||
|
||||
public RecallFlag(String line1, String line2, String flag) {
|
||||
super(line1, line2, flag);
|
||||
public RecallFlag(String line1, String line2, String fileName) {
|
||||
super(line1, line2, fileName, null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,15 +26,14 @@ public class RecallFlagsAdapter extends BaseFlagsAdapter {
|
||||
private ArrayList<RecallFlag> mFlags;
|
||||
private RecallFlagItemClick mListener;
|
||||
|
||||
public RecallFlagsAdapter(Context context) {
|
||||
public RecallFlagsAdapter(Context context, RecallFlagItemClick listener) {
|
||||
mContext = context;
|
||||
mListener = listener;
|
||||
|
||||
mFlags = new ArrayList<>();
|
||||
mFlags.add(new RecallFlag(context.getString(R.string.flag_xray), context.getString(R.string.flag_xray_desc), Flags.XRAY.name()));
|
||||
mFlags.add(new RecallFlag(context.getString(R.string.flag_first_subst), context.getString(R.string.flag_first_subst_desc), Flags.FIRSTSUBSTITUTE.name()));
|
||||
|
||||
if (context instanceof RecallFlagItemClick) {
|
||||
mListener = (RecallFlagItemClick) context;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -59,44 +58,42 @@ public class RecallFlagsAdapter extends BaseFlagsAdapter {
|
||||
convertView = inflater.inflate(R.layout.flag_list_item, parent, false);
|
||||
}
|
||||
|
||||
final RecallFlag flag = getItem(position);
|
||||
final RecallFlag item = getItem(position);
|
||||
|
||||
final ImageView flagImage = ViewHolder.get(convertView, R.id.flag);
|
||||
if (flagImage != null) {
|
||||
flagImage.setImageDrawable(FlagsResources.getFlagDrawable(mContext, flag.flag, 96));
|
||||
flagImage.setImageDrawable(FlagsResources.getFlagDrawable(mContext, item.file_name, 96));
|
||||
}
|
||||
|
||||
final TextView first_line = ViewHolder.get(convertView, R.id.first_line);
|
||||
if (first_line != null) {
|
||||
first_line.setVisibility(View.GONE);
|
||||
if (!TextUtils.isEmpty(flag.first_line)) {
|
||||
if (!TextUtils.isEmpty(item.first_line)) {
|
||||
first_line.setVisibility(View.VISIBLE);
|
||||
first_line.setText(flag.first_line);
|
||||
first_line.setText(item.first_line);
|
||||
}
|
||||
}
|
||||
|
||||
final TextView second_line = ViewHolder.get(convertView, R.id.second_line);
|
||||
if (second_line != null) {
|
||||
second_line.setVisibility(View.GONE);
|
||||
if (!TextUtils.isEmpty(flag.second_line)) {
|
||||
if (!TextUtils.isEmpty(item.second_line)) {
|
||||
second_line.setVisibility(View.VISIBLE);
|
||||
second_line.setText(flag.second_line);
|
||||
second_line.setText(item.second_line);
|
||||
}
|
||||
}
|
||||
|
||||
final Button confirm = ViewHolder.get(convertView, R.id.confirm);
|
||||
if (confirm != null) {
|
||||
if (confirm != null && mListener != null) {
|
||||
confirm.setVisibility(View.GONE);
|
||||
if (flag.touched) {
|
||||
if (item.touched) {
|
||||
confirm.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
confirm.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mListener != null) {
|
||||
mListener.onClick(flag);
|
||||
}
|
||||
mListener.onClick(item);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -106,8 +103,8 @@ public class RecallFlagsAdapter extends BaseFlagsAdapter {
|
||||
layout.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
for (RecallFlag item : mFlags) {
|
||||
item.touched = item.flag.equals(flag.flag);
|
||||
for (RecallFlag flag : mFlags) {
|
||||
flag.touched = flag.file_name.equals(item.file_name);
|
||||
}
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
+30
-7
@@ -5,13 +5,20 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ListView;
|
||||
import android.widget.Toast;
|
||||
import com.sap.sailing.android.shared.logging.ExLog;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.RaceState;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.logging.LogEvent;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.AbandonFlagsAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.AbandonFlagsAdapter.AbandonFlag;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.AbandonFlagsAdapter.AbandonFlagItemClick;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.RaceFragment;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
public class AbandonFlagsFragment extends RaceFragment implements AbandonFlagsAdapter.AbandonFlagItemClick {
|
||||
|
||||
private AbandonFlagsAdapter mAdapter;
|
||||
public class AbandonFlagsFragment extends RaceFragment implements AbandonFlagItemClick {
|
||||
|
||||
public static AbandonFlagsFragment newInstance() {
|
||||
AbandonFlagsFragment fragment = new AbandonFlagsFragment();
|
||||
@@ -24,15 +31,31 @@ public class AbandonFlagsFragment extends RaceFragment implements AbandonFlagsAd
|
||||
|
||||
ListView listView = (ListView) layout.findViewById(R.id.listView);
|
||||
if (listView != null) {
|
||||
mAdapter = new AbandonFlagsAdapter(getActivity());
|
||||
listView.setAdapter(mAdapter);
|
||||
listView.setAdapter(new AbandonFlagsAdapter(getActivity(), this));
|
||||
}
|
||||
|
||||
return layout;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(AbandonFlagsAdapter.AbandonFlag flag) {
|
||||
mAdapter.notifyDataSetChanged();
|
||||
public void onClick(Flags flag) {
|
||||
TimePoint now = MillisecondsTimePoint.now();
|
||||
RaceState state = getRaceState();
|
||||
switch (flag) {
|
||||
case AP:
|
||||
ExLog.i(getActivity(), LogEvent.RACE_CHOOSE_ABORT_ALPHA, getRace().getId().toString());
|
||||
state.setAborted(now, /* postponed */ true, flag);
|
||||
break;
|
||||
|
||||
case NOVEMBER:
|
||||
ExLog.i(getActivity(), LogEvent.RACE_CHOOSE_ABORT_HOTEL, getRace().getId().toString());
|
||||
state.setAborted(now, /* postponed */ false, flag);
|
||||
break;
|
||||
|
||||
default:
|
||||
ExLog.i(getActivity(), LogEvent.RACE_CHOOSE_ABORT_NONE, getRace().getId().toString());
|
||||
break;
|
||||
}
|
||||
state.setAdvancePass(now);
|
||||
}
|
||||
}
|
||||
|
||||
+7
-3
@@ -5,11 +5,14 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ListView;
|
||||
import android.widget.Toast;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.MoreFlagsAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.MoreFlagsAdapter.MoreFlag;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.MoreFlagsAdapter.MoreFlagItemClick;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.RaceFragment;
|
||||
|
||||
public class MoreFlagsFragment extends RaceFragment implements MoreFlagsAdapter.MoreFlagItemClick {
|
||||
public class MoreFlagsFragment extends RaceFragment implements MoreFlagItemClick {
|
||||
|
||||
private MoreFlagsAdapter mAdapter;
|
||||
|
||||
@@ -28,7 +31,7 @@ public class MoreFlagsFragment extends RaceFragment implements MoreFlagsAdapter.
|
||||
|
||||
ListView listView = (ListView) layout.findViewById(R.id.listView);
|
||||
if (listView != null) {
|
||||
mAdapter = new MoreFlagsAdapter(getActivity());
|
||||
mAdapter = new MoreFlagsAdapter(getActivity(), this);
|
||||
listView.setAdapter(mAdapter);
|
||||
}
|
||||
|
||||
@@ -36,7 +39,8 @@ public class MoreFlagsFragment extends RaceFragment implements MoreFlagsAdapter.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(MoreFlagsAdapter.MoreFlag flag) {
|
||||
public void onClick(MoreFlag flag) {
|
||||
mAdapter.notifyDataSetChanged();
|
||||
Toast.makeText(getActivity(), flag.file_name, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
+28
-7
@@ -5,13 +5,18 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ListView;
|
||||
import com.sap.sailing.android.shared.logging.ExLog;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.RaceState;
|
||||
import com.sap.sailing.domain.common.racelog.Flags;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.logging.LogEvent;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.PostponeFlagsAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.PostponeFlagsAdapter.PostponeFlagItemClick;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.RaceFragment;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
import com.sap.sse.common.impl.MillisecondsTimePoint;
|
||||
|
||||
public class PostponeFlagsFragment extends RaceFragment implements PostponeFlagsAdapter.PostponeFlagItemClick {
|
||||
|
||||
private PostponeFlagsAdapter mAdapter;
|
||||
public class PostponeFlagsFragment extends RaceFragment implements PostponeFlagItemClick {
|
||||
|
||||
public PostponeFlagsFragment() {
|
||||
|
||||
@@ -28,15 +33,31 @@ public class PostponeFlagsFragment extends RaceFragment implements PostponeFlags
|
||||
|
||||
ListView listView = (ListView) layout.findViewById(R.id.listView);
|
||||
if (listView != null) {
|
||||
mAdapter = new PostponeFlagsAdapter(getActivity());
|
||||
listView.setAdapter(mAdapter);
|
||||
listView.setAdapter(new PostponeFlagsAdapter(getActivity(), this));
|
||||
}
|
||||
|
||||
return layout;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(PostponeFlagsAdapter.PostponeFlag flag) {
|
||||
mAdapter.notifyDataSetChanged();
|
||||
public void onClick(Flags flag) {
|
||||
TimePoint now = MillisecondsTimePoint.now();
|
||||
RaceState state = getRaceState();
|
||||
switch (flag) {
|
||||
case AP:
|
||||
ExLog.i(getActivity(), LogEvent.RACE_CHOOSE_ABORT_ALPHA, getRace().getId().toString());
|
||||
state.setAborted(now, /* postponed */ true, flag);
|
||||
break;
|
||||
|
||||
case NOVEMBER:
|
||||
ExLog.i(getActivity(), LogEvent.RACE_CHOOSE_ABORT_HOTEL, getRace().getId().toString());
|
||||
state.setAborted(now, /* postponed */ false, flag);
|
||||
break;
|
||||
|
||||
default:
|
||||
ExLog.i(getActivity(), LogEvent.RACE_CHOOSE_ABORT_NONE, getRace().getId().toString());
|
||||
break;
|
||||
}
|
||||
state.setAdvancePass(now);
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -5,6 +5,7 @@ import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ListView;
|
||||
import android.widget.Toast;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.RecallFlagsAdapter;
|
||||
import com.sap.sailing.racecommittee.app.ui.adapters.RecallFlagsAdapter.RecallFlag;
|
||||
@@ -30,7 +31,7 @@ public class RecallFlagsFragment extends RaceFragment implements RecallFlagItemC
|
||||
|
||||
ListView listView = (ListView) layout.findViewById(R.id.listView);
|
||||
if (listView != null) {
|
||||
mAdapter = new RecallFlagsAdapter(getActivity());
|
||||
mAdapter = new RecallFlagsAdapter(getActivity(), this);
|
||||
listView.setAdapter(mAdapter);
|
||||
}
|
||||
|
||||
@@ -40,5 +41,6 @@ public class RecallFlagsFragment extends RaceFragment implements RecallFlagItemC
|
||||
@Override
|
||||
public void onClick(RecallFlag flag) {
|
||||
mAdapter.notifyDataSetChanged();
|
||||
Toast.makeText(getActivity(), flag.file_name, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user