Added url construction for individual race map

This commit is contained in:
Raimund Wege committed 2015-07-10 20:27:03 +02:00
1 parent 4301563087
commit 582fbd06b3
1 file changed
+40 -29
@@ -17,6 +17,8 @@ import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;
import com.google.android.gms.location.LocationServices;
import com.sap.sailing.android.shared.logging.ExLog;
import com.sap.sailing.domain.abstractlog.race.SimpleRaceLogIdentifier;
import com.sap.sailing.domain.abstractlog.race.impl.SimpleRaceLogIdentifierImpl;
import com.sap.sailing.domain.common.Bearing;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.SpeedWithBearing;
@@ -26,13 +28,18 @@ import com.sap.sailing.domain.common.impl.DegreePosition;
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.common.impl.WindImpl;
import com.sap.sailing.racecommittee.app.AppConstants;
import com.sap.sailing.racecommittee.app.AppPreferences;
import com.sap.sailing.racecommittee.app.R;
import com.sap.sailing.racecommittee.app.data.DataManager;
import com.sap.sailing.racecommittee.app.data.DataStore;
import com.sap.sailing.racecommittee.app.domain.ManagedRace;
import com.sap.sailing.racecommittee.app.domain.impl.FleetIdentifierImpl;
import com.sap.sailing.racecommittee.app.services.polling.RacePositionsPoller;
import com.sap.sailing.racecommittee.app.ui.utils.OnRaceUpdatedListener;
import com.sap.sailing.racecommittee.app.ui.views.CompassView;
import com.sap.sailing.racecommittee.app.ui.views.CompassView.CompassDirectionListener;
import com.sap.sailing.racecommittee.app.utils.ThemeHelper;
import com.sap.sse.common.Util;
import com.sap.sse.common.impl.MillisecondsTimePoint;
import java.text.DateFormat;
@@ -50,6 +57,7 @@ public class WindFragment extends BaseFragment
private final static String TAG = WindFragment.class.getName();
private final static String START_MODE = "startMode";
private final static String GWT_MAP_AND_WIND_CHART_HTML = "gwt/EmbeddedMapAndWindChart.html";
private final static long ONE_SEC = 1000;
private final static long FIVE_SEC = 5000;
private final static long EVERY_POSITION_CHANGE = 0;
@@ -206,8 +214,6 @@ public class WindFragment extends BaseFragment
setupButtons();
setupWindSpeedPicker();
setupLayouts(false);
setInstanceState(savedInstanceState);
}
@Override
@@ -217,15 +223,6 @@ public class WindFragment extends BaseFragment
mRefreshUIHandler = new Handler();
}
/**
* function to restore the instanceState via savedInstanceState bundle
*
* @param savedInstanceState said bundle
*/
private void setInstanceState(Bundle savedInstanceState) {
}
/**
* starts the googleApiClient to get location updates
*/
@@ -338,7 +335,7 @@ public class WindFragment extends BaseFragment
WebSettings settings = mMapWebView.getSettings();
if (showMap) {
settings.setJavaScriptEnabled(true);
loadRaceMap();
loadRaceMap(true, false, false, true);
mMapLayout.setVisibility(View.VISIBLE);
} else {
settings.setJavaScriptEnabled(false);
@@ -347,25 +344,39 @@ public class WindFragment extends BaseFragment
}
}
private boolean loadRaceMap() {
private boolean loadRaceMap(boolean showWindCharts, boolean showStreamlets, boolean showSimulation, boolean showMapControls) {
ManagedRace race = getRace();
if (race != null) {
StringBuilder sb = new StringBuilder("http://kielerwoche2015.sapsailing.com/gwt/RaceBoard.html?");
sb.append("eventId=");
sb.append("a9d6c5d5-cac3-47f2-9b5c-506e441819a1");
sb.append("&");
sb.append("leaderboardName=");
sb.append("KW%202015%20Olympic%20-%20Finn");
sb.append("&");
sb.append("raceName=");
sb.append("R1%20%28Finn%29");
sb.append("&");
sb.append("viewShowMapControls=false");
sb.append("&");
sb.append("viewShowNavigationPanel=false");
sb.append("&");
sb.append("regattaName=");
sb.append("KW%202015%20Olympic%20-%20Finn");
// get data store for event id
DataStore dataStore = DataManager.create(getActivity()).getDataStore();
// get server base url
String serverBaseURL = AppPreferences.on(getActivity()).getServerBaseURL();
// get simple race log identifier
Util.Triple<String, String, String> triple = FleetIdentifierImpl.unescape(race.getId());
SimpleRaceLogIdentifier identifier = new SimpleRaceLogIdentifierImpl(triple.getA(), triple.getB(), triple.getC());
// build complete race map url
StringBuilder sb = new StringBuilder(serverBaseURL);
sb.append(GWT_MAP_AND_WIND_CHART_HTML);
sb.append("?regattaLikeName=");
sb.append(identifier.getRegattaLikeParentName());
sb.append("&raceColumnName=");
sb.append(identifier.getRaceColumnName());
sb.append("&fleetName=");
sb.append(identifier.getFleetName());
sb.append("&eventId=");
sb.append(dataStore.getEventUUID());
sb.append("&viewShowWindChart=");
sb.append(showWindCharts);
sb.append("&viewShowStreamlets=");
sb.append(showStreamlets);
sb.append("&viewShowSimulation=");
sb.append(showSimulation);
sb.append("&viewShowMapControls=");
sb.append(showMapControls);
mMapWebView.loadUrl(sb.toString());
return true;
}