mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-09 22:01:02 +00:00
removed unused Fragment
This commit is contained in:
1 parent
0c11dfc6f0
commit
09c6f88f9f
1 file changed
-445
-445
@@ -1,445 +0,0 @@
|
||||
package com.sap.sailing.racecommittee.app.ui.fragments.panels;
|
||||
|
||||
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.AppUtils;
|
||||
import com.sap.sailing.android.shared.util.ViewHelper;
|
||||
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.RacingProcedure;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.ReadonlyRacingProcedure;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.gate.GateStartRacingProcedure;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.impl.BaseRacingProcedureChangedListener;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.rrs26.RRS26RacingProcedure;
|
||||
import com.sap.sailing.domain.abstractlog.race.state.racingprocedure.swc.SWCRacingProcedure;
|
||||
import com.sap.sailing.racecommittee.app.AppConstants;
|
||||
import com.sap.sailing.racecommittee.app.R;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.GateStartPathFinderFragment;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.GateStartTimingFragment;
|
||||
import com.sap.sailing.racecommittee.app.ui.fragments.raceinfo.LineStartModeFragment;
|
||||
import com.sap.sailing.racecommittee.app.ui.utils.FlagsResources;
|
||||
import com.sap.sailing.racecommittee.app.utils.RaceHelper;
|
||||
|
||||
public class MorePanelFragment extends BasePanelFragment {
|
||||
|
||||
private RaceStateChangedListener mStateListener;
|
||||
private RaceProcedureChangedListener mProcedureListener;
|
||||
private IntentReceiver mReceiver;
|
||||
|
||||
// Start Mode Toggle
|
||||
private View mStartMode;
|
||||
private View mStartModeLock;
|
||||
private ImageView mStartModeFlag;
|
||||
private View mStartModeLayer;
|
||||
|
||||
// Gate Start PathFinder
|
||||
private View mGatePathfinder;
|
||||
private View mGatePathfinderLock;
|
||||
private TextView mGatePathfinderValue;
|
||||
private View mGatePathfinderLayer;
|
||||
|
||||
// Gate Start Timing
|
||||
private View mGateTiming;
|
||||
private View mGateTimingLock;
|
||||
private TextView mGateTimingValue;
|
||||
private View mGateTimingLayer;
|
||||
|
||||
public MorePanelFragment() {
|
||||
mReceiver = new IntentReceiver();
|
||||
}
|
||||
|
||||
public static MorePanelFragment newInstance(Bundle args) {
|
||||
MorePanelFragment fragment = new MorePanelFragment();
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View layout = inflater.inflate(R.layout.race_panel_more, container, false);
|
||||
|
||||
mStateListener = new RaceStateChangedListener();
|
||||
mProcedureListener = new RaceProcedureChangedListener();
|
||||
|
||||
mStartMode = ViewHelper.get(layout, R.id.start_mode);
|
||||
if (mStartMode != null) {
|
||||
mStartMode.setOnClickListener(new StartModeClick());
|
||||
}
|
||||
mStartModeLock = ViewHelper.get(layout, R.id.start_mode_lock);
|
||||
mStartModeFlag = ViewHelper.get(layout, R.id.start_mode_flag);
|
||||
mStartModeLayer = ViewHelper.get(layout, R.id.start_mode_layer);
|
||||
|
||||
mGatePathfinder = ViewHelper.get(layout, R.id.gate_pathfinder);
|
||||
if (mGatePathfinder != null) {
|
||||
mGatePathfinder.setOnClickListener(new PathfinderClick());
|
||||
}
|
||||
mGatePathfinderLock = ViewHelper.get(layout, R.id.gate_pathfinder_lock);
|
||||
mGatePathfinderValue = ViewHelper.get(layout, R.id.gate_pathfinder_value);
|
||||
mGatePathfinderLayer = ViewHelper.get(layout, R.id.gate_pathfinder_layer);
|
||||
|
||||
mGateTiming = ViewHelper.get(layout, R.id.gate_timing);
|
||||
if (mGateTiming != null) {
|
||||
mGateTiming.setOnClickListener(new TimingClick());
|
||||
}
|
||||
mGateTimingLock = ViewHelper.get(layout, R.id.gate_timing_lock);
|
||||
mGateTimingValue = ViewHelper.get(layout, R.id.gate_timing_value);
|
||||
mGateTimingLayer = ViewHelper.get(layout, R.id.gate_timing_layer);
|
||||
|
||||
View view = ViewHelper.get(layout, R.id.top_line);
|
||||
if (view != null && AppUtils.with(getActivity()).isPort()) {
|
||||
view.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
return layout;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
|
||||
refreshPanel();
|
||||
checkStatus();
|
||||
|
||||
getRaceState().addChangedListener(mStateListener);
|
||||
getRaceState().getRacingProcedure().addChangedListener(mProcedureListener);
|
||||
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(AppConstants.INTENT_ACTION_TOGGLE);
|
||||
filter.addAction(AppConstants.INTENT_ACTION_CLEAR_TOGGLE);
|
||||
LocalBroadcastManager.getInstance(getActivity()).registerReceiver(mReceiver, filter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
|
||||
getRaceState().removeChangedListener(mStateListener);
|
||||
getRaceState().getRacingProcedure().removeChangedListener(mProcedureListener);
|
||||
|
||||
LocalBroadcastManager.getInstance(getActivity()).unregisterReceiver(mReceiver);
|
||||
}
|
||||
|
||||
private void refreshPanel() {
|
||||
RacingProcedure procedure = getRaceState().getRacingProcedure();
|
||||
if (procedure instanceof RRS26RacingProcedure) {
|
||||
RRS26RacingProcedure typedProcedure = getRaceState().getTypedRacingProcedure();
|
||||
if (mStartMode != null && mStartModeFlag != null) {
|
||||
mStartMode.setVisibility(View.VISIBLE);
|
||||
mStartModeFlag.setImageDrawable(FlagsResources
|
||||
.getFlagDrawable(getActivity(), typedProcedure.getStartModeFlag().name(), getResources().getInteger(R.integer.flag_size)));
|
||||
}
|
||||
}
|
||||
if (procedure instanceof SWCRacingProcedure) {
|
||||
SWCRacingProcedure typedProcedure = getRaceState().getTypedRacingProcedure();
|
||||
if (mStartMode != null && mStartModeFlag != null) {
|
||||
mStartMode.setVisibility(View.VISIBLE);
|
||||
mStartModeFlag.setImageDrawable(FlagsResources
|
||||
.getFlagDrawable(getActivity(), typedProcedure.getStartModeFlag().name(), getResources().getInteger(R.integer.flag_size)));
|
||||
}
|
||||
}
|
||||
|
||||
if (procedure instanceof GateStartRacingProcedure) {
|
||||
GateStartRacingProcedure typedProcedure = getRaceState().getTypedRacingProcedure();
|
||||
if (mGatePathfinder != null && mGatePathfinderValue != null) {
|
||||
mGatePathfinder.setVisibility(View.VISIBLE);
|
||||
mGatePathfinderValue.setText(typedProcedure.getPathfinder());
|
||||
}
|
||||
|
||||
if (mGateTiming != null && mGateTimingValue != null) {
|
||||
mGateTiming.setVisibility(View.VISIBLE);
|
||||
mGateTimingValue.setText(RaceHelper.getGateTiming(getActivity(), typedProcedure, getRace().getRaceGroup()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void checkStatus() {
|
||||
switch (getRace().getStatus()) {
|
||||
case UNSCHEDULED:
|
||||
changeVisibility(mStartModeLock, mStartModeLayer, View.GONE);
|
||||
changeVisibility(mGatePathfinderLock, mGatePathfinderLayer, View.GONE);
|
||||
changeVisibility(mGateTimingLock, mGateTimingLayer, View.GONE);
|
||||
break;
|
||||
|
||||
case PRESCHEDULED:
|
||||
changeVisibility(mStartModeLock, mStartModeLayer, View.GONE);
|
||||
changeVisibility(mGatePathfinderLock, mGatePathfinderLayer, View.GONE);
|
||||
changeVisibility(mGateTimingLock, mGateTimingLayer, View.GONE);
|
||||
break;
|
||||
|
||||
case SCHEDULED:
|
||||
changeVisibility(mStartModeLock, mStartModeLayer, View.GONE);
|
||||
changeVisibility(mGatePathfinderLock, mGatePathfinderLayer, View.GONE);
|
||||
changeVisibility(mGateTimingLock, mGateTimingLayer, View.GONE);
|
||||
break;
|
||||
|
||||
case STARTPHASE:
|
||||
changeVisibility(mStartModeLock, mStartModeLayer, View.VISIBLE);
|
||||
changeVisibility(mGatePathfinderLock, mGatePathfinderLayer, View.VISIBLE);
|
||||
changeVisibility(mGateTimingLock, mGateTimingLayer, View.VISIBLE);
|
||||
break;
|
||||
|
||||
case RUNNING:
|
||||
changeVisibility(mStartModeLock, mStartModeLayer, View.VISIBLE);
|
||||
changeVisibility(mGatePathfinderLock, mGatePathfinderLayer, View.VISIBLE);
|
||||
changeVisibility(mGateTimingLock, mGateTimingLayer, View.VISIBLE);
|
||||
|
||||
uncheckMarker(mStartMode);
|
||||
break;
|
||||
|
||||
case FINISHING:
|
||||
changeVisibility(mStartModeLock, mStartModeLayer, View.VISIBLE);
|
||||
changeVisibility(mGatePathfinderLock, mGatePathfinderLayer, View.VISIBLE);
|
||||
changeVisibility(mGateTimingLock, mGateTimingLayer, View.VISIBLE);
|
||||
|
||||
uncheckMarker(mStartMode);
|
||||
break;
|
||||
|
||||
case FINISHED:
|
||||
changeVisibility(mStartModeLock, mStartModeLayer, View.GONE);
|
||||
changeVisibility(mGatePathfinderLock, mGatePathfinderLayer, View.GONE);
|
||||
changeVisibility(mGateTimingLock, mGateTimingLayer, View.GONE);
|
||||
|
||||
uncheckMarker(mStartMode);
|
||||
break;
|
||||
|
||||
default:
|
||||
changeVisibility(mStartModeLock, mStartModeLayer, View.VISIBLE);
|
||||
changeVisibility(mGatePathfinderLock, mGatePathfinderLayer, View.VISIBLE);
|
||||
changeVisibility(mGateTimingLock, mGateTimingLayer, View.VISIBLE);
|
||||
|
||||
uncheckMarker(mStartMode);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void uncheckMarker(View view) {
|
||||
if (isAdded() && view != null) {
|
||||
if (!AppUtils.with(getActivity()).is10inch()) {
|
||||
if (!view.equals(mStartMode)) {
|
||||
setMarkerLevel(mStartMode, R.id.start_mode_marker, LEVEL_NORMAL);
|
||||
}
|
||||
if (!view.equals(mGatePathfinder)) {
|
||||
setMarkerLevel(mGatePathfinder, R.id.gate_pathfinder_marker, LEVEL_NORMAL);
|
||||
}
|
||||
if (!view.equals(mGateTiming)) {
|
||||
setMarkerLevel(mGateTiming, R.id.gate_timing_marker, LEVEL_NORMAL);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class RaceStateChangedListener extends BaseRaceStateChangedListener {
|
||||
|
||||
private View mView;
|
||||
|
||||
public RaceStateChangedListener() {
|
||||
mView = new View(getActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRacingProcedureChanged(ReadonlyRaceState state) {
|
||||
super.onRacingProcedureChanged(state);
|
||||
|
||||
refreshPanel();
|
||||
uncheckMarker(mView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCourseDesignChanged(ReadonlyRaceState state) {
|
||||
super.onCourseDesignChanged(state);
|
||||
|
||||
refreshPanel();
|
||||
uncheckMarker(mView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWindFixChanged(ReadonlyRaceState state) {
|
||||
super.onWindFixChanged(state);
|
||||
|
||||
refreshPanel();
|
||||
uncheckMarker(mView);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStatusChanged(ReadonlyRaceState state) {
|
||||
super.onStatusChanged(state);
|
||||
|
||||
checkStatus();
|
||||
uncheckMarker(mView);
|
||||
}
|
||||
}
|
||||
|
||||
private class RaceProcedureChangedListener extends BaseRacingProcedureChangedListener {
|
||||
|
||||
private View mView;
|
||||
|
||||
public RaceProcedureChangedListener() {
|
||||
mView = new View(getActivity());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActiveFlagsChanged(ReadonlyRacingProcedure racingProcedure) {
|
||||
super.onActiveFlagsChanged(racingProcedure);
|
||||
|
||||
refreshPanel();
|
||||
uncheckMarker(mView);
|
||||
}
|
||||
}
|
||||
|
||||
private class StartModeClick implements View.OnClickListener, DialogInterface.OnClickListener {
|
||||
|
||||
private final String TAG = StartModeClick.class.getName();
|
||||
private final View container = mStartMode;
|
||||
private final int markerId = R.id.start_mode_marker;
|
||||
|
||||
public void onClick(View v) {
|
||||
if (mStartModeLock != null) {
|
||||
if (mStartModeLock.getVisibility() == View.VISIBLE && isNormal(container, markerId)) {
|
||||
showChangeDialog(this);
|
||||
} else {
|
||||
toggleFragment();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
toggleFragment();
|
||||
}
|
||||
|
||||
private void toggleFragment() {
|
||||
sendIntent(AppConstants.INTENT_ACTION_TOGGLE, AppConstants.INTENT_ACTION_EXTRA, AppConstants.INTENT_ACTION_TOGGLE_PROCEDURE_MORE_MODE);
|
||||
switch (toggleMarker(container, markerId)) {
|
||||
case LEVEL_NORMAL:
|
||||
sendIntent(AppConstants.INTENT_ACTION_SHOW_MAIN_CONTENT);
|
||||
break;
|
||||
|
||||
case LEVEL_TOGGLED:
|
||||
replaceFragment(LineStartModeFragment.newInstance(LineStartModeFragment.START_MODE_PLANNED));
|
||||
break;
|
||||
|
||||
default:
|
||||
ExLog.i(getActivity(), TAG, "Unknown return value");
|
||||
}
|
||||
disableToggle(container, markerId);
|
||||
}
|
||||
}
|
||||
|
||||
private class PathfinderClick implements View.OnClickListener, DialogInterface.OnClickListener {
|
||||
|
||||
private final String TAG = PathfinderClick.class.getName();
|
||||
private final View container = mGatePathfinder;
|
||||
private final int markerId = R.id.gate_pathfinder_marker;
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mGatePathfinderLock != null) {
|
||||
if (mGatePathfinderLock.getVisibility() == View.VISIBLE && isNormal(container, markerId)) {
|
||||
showChangeDialog(this);
|
||||
} else {
|
||||
toggleFragment();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
toggleFragment();
|
||||
}
|
||||
|
||||
private void toggleFragment() {
|
||||
sendIntent(AppConstants.INTENT_ACTION_TOGGLE, AppConstants.INTENT_ACTION_EXTRA, AppConstants.INTENT_ACTION_TOGGLE_PROCEDURE_MORE_PATHFINDER);
|
||||
switch (toggleMarker(container, markerId)) {
|
||||
case LEVEL_NORMAL:
|
||||
sendIntent(AppConstants.INTENT_ACTION_SHOW_MAIN_CONTENT);
|
||||
break;
|
||||
|
||||
case LEVEL_TOGGLED:
|
||||
replaceFragment(GateStartPathFinderFragment.newInstance(GateStartPathFinderFragment.START_MODE_PLANNED));
|
||||
break;
|
||||
|
||||
default:
|
||||
ExLog.i(getActivity(), TAG, "Unknown return value");
|
||||
}
|
||||
disableToggle(container, markerId);
|
||||
}
|
||||
}
|
||||
|
||||
private class TimingClick implements View.OnClickListener, DialogInterface.OnClickListener {
|
||||
|
||||
private final String TAG = TimingClick.class.getName();
|
||||
private final View container = mGateTiming;
|
||||
private final int markerId = R.id.gate_timing_marker;
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (mGateTimingLock != null) {
|
||||
if (mGateTimingLock.getVisibility() == View.VISIBLE && isNormal(container, markerId)) {
|
||||
showChangeDialog(this);
|
||||
} else {
|
||||
toggleFragment();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
toggleFragment();
|
||||
}
|
||||
|
||||
private void toggleFragment() {
|
||||
sendIntent(AppConstants.INTENT_ACTION_TOGGLE, AppConstants.INTENT_ACTION_EXTRA, AppConstants.INTENT_ACTION_TOGGLE_PROCEDURE_MORE_TIMING);
|
||||
switch (toggleMarker(container, markerId)) {
|
||||
case LEVEL_NORMAL:
|
||||
sendIntent(AppConstants.INTENT_ACTION_SHOW_MAIN_CONTENT);
|
||||
break;
|
||||
|
||||
case LEVEL_TOGGLED:
|
||||
replaceFragment(GateStartTimingFragment.newInstance(GateStartTimingFragment.START_MODE_PLANNED));
|
||||
break;
|
||||
|
||||
default:
|
||||
ExLog.i(getActivity(), TAG, "Unknown return value");
|
||||
}
|
||||
disableToggle(container, markerId);
|
||||
}
|
||||
}
|
||||
|
||||
private class IntentReceiver extends BroadcastReceiver {
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String action = intent.getAction();
|
||||
if (AppConstants.INTENT_ACTION_CLEAR_TOGGLE.equals(action)) {
|
||||
uncheckMarker(new View(context));
|
||||
}
|
||||
|
||||
if (AppConstants.INTENT_ACTION_TOGGLE.equals(action)) {
|
||||
if (intent.getExtras() != null) {
|
||||
String data = intent.getExtras().getString(AppConstants.INTENT_ACTION_EXTRA);
|
||||
if (AppConstants.INTENT_ACTION_TOGGLE_PROCEDURE_MORE_MODE.equals(data)) {
|
||||
uncheckMarker(mStartMode);
|
||||
} else if (AppConstants.INTENT_ACTION_TOGGLE_PROCEDURE_MORE_PATHFINDER.equals(data)) {
|
||||
uncheckMarker(mGatePathfinder);
|
||||
} else if (AppConstants.INTENT_ACTION_TOGGLE_PROCEDURE_MORE_TIMING.equals(data)) {
|
||||
uncheckMarker(mGateTiming);
|
||||
} else {
|
||||
uncheckMarker(new View(context));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user