Merge branch 'master' into android_apps

This commit is contained in:
Peter Siegmund committed 2015-01-21 15:20:56 +01:00
commit d8f304039f
27 files changed
+172 -105

No files matched your search

@@ -1,4 +1,12 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.source=1.6
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7
@@ -2,12 +2,11 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sap.sailing.racecommittee.app"
android:versionCode="6"
android:versionName="6 - Laser" >
android:versionName="6 - Laser" xmlns:tools="http://schemas.android.com/tools">
<uses-sdk
android:maxSdkVersion="17"
android:minSdkVersion="13"
android:targetSdkVersion="17" />
android:minSdkVersion="14"
android:targetSdkVersion="19" tools:ignore="OldTargetApi"/>
<permission
android:name="com.sap.sailing.racecommittee.app.MAPS_RECEIVE"
@@ -9,7 +9,7 @@ android {
defaultConfig {
applicationId packageName
minSdkVersion 13
minSdkVersion 14
targetSdkVersion 21
versionCode verCode
versionName "$verCode - Laser"
@@ -89,7 +89,7 @@
<undeployBeforeDeploy>true</undeployBeforeDeploy>
<extractDuplicates>true</extractDuplicates>
<sdk>
<platform>13</platform>
<platform>19</platform>
</sdk>
<release>true</release>
<proguard>
@@ -11,6 +11,6 @@
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=Google Inc.:Google APIs:13
target=Google Inc.:Google APIs:19
android.library.reference.1=../google-play-services_lib
android.library.reference.2=../com.sap.sailing.android.shared
@@ -162,9 +162,9 @@ public class OnlineDataManager extends DataManager {
ManagedRaceIdentifier identifier = managedRace.getIdentifier();
String raceGroupName = URLEncoder.encode(identifier.getRaceGroup().getName());
String raceColumnName = URLEncoder.encode(identifier.getRaceName());
String fleetName = URLEncoder.encode(identifier.getFleet().getName());
String raceGroupName = URLEncoder.encode(identifier.getRaceGroup().getName(), MessageSendingService.charsetName);
String raceColumnName = URLEncoder.encode(identifier.getRaceName(), MessageSendingService.charsetName);
String fleetName = URLEncoder.encode(identifier.getFleet().getName(), MessageSendingService.charsetName);
return new OnlineDataLoader<Collection<Mark>>(context, new URL(preferences.getServerBaseURL() +
"/sailingserver/rc/marks?"+RaceLogServletConstants.PARAMS_LEADERBOARD_NAME + "=" + raceGroupName +
@@ -188,9 +188,9 @@ public class OnlineDataManager extends DataManager {
ManagedRaceIdentifier identifier = managedRace.getIdentifier();
String raceGroupName = URLEncoder.encode(identifier.getRaceGroup().getName());
String raceColumnName = URLEncoder.encode(identifier.getRaceName());
String fleetName = URLEncoder.encode(identifier.getFleet().getName());
String raceGroupName = URLEncoder.encode(identifier.getRaceGroup().getName(), MessageSendingService.charsetName);
String raceColumnName = URLEncoder.encode(identifier.getRaceName(), MessageSendingService.charsetName);
String fleetName = URLEncoder.encode(identifier.getFleet().getName(), MessageSendingService.charsetName);
return new OnlineDataLoader<CourseBase>(context, new URL(preferences.getServerBaseURL()
+ "/sailingserver/rc/currentcourse?" + RaceLogServletConstants.PARAMS_LEADERBOARD_NAME + "="
@@ -216,9 +216,9 @@ public class OnlineDataManager extends DataManager {
ManagedRaceIdentifier identifier = managedRace.getIdentifier();
String raceGroupName = URLEncoder.encode(identifier.getRaceGroup().getName());
String raceColumnName = URLEncoder.encode(identifier.getRaceName());
String fleetName = URLEncoder.encode(identifier.getFleet().getName());
String raceGroupName = URLEncoder.encode(identifier.getRaceGroup().getName(), MessageSendingService.charsetName);
String raceColumnName = URLEncoder.encode(identifier.getRaceName(), MessageSendingService.charsetName);
String fleetName = URLEncoder.encode(identifier.getFleet().getName(), MessageSendingService.charsetName);
return new OnlineDataLoader<Collection<Competitor>>(context, new URL(
preferences.getServerBaseURL() + "/sailingserver/rc/competitors?"
@@ -240,7 +240,7 @@ public class OnlineDataManager extends DataManager {
DataHandler<DeviceConfiguration> handler = new NullDataHandler<DeviceConfiguration>();
DataParser<DeviceConfiguration> parser = new DeviceConfigurationParser(DeviceConfigurationJsonDeserializer.create());
String encodedIdentifier = URLEncoder.encode(identifier.getClientIdentifier());
String encodedIdentifier = URLEncoder.encode(identifier.getClientIdentifier(), MessageSendingService.charsetName);
encodedIdentifier = encodedIdentifier.replace("+", "%20");
return new OnlineDataLoader<DeviceConfiguration>(
@@ -2,6 +2,7 @@ package com.sap.sailing.racecommittee.app.services.polling;
import java.io.InputStream;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
@@ -64,12 +65,12 @@ public class RaceLogPoller implements PollingActiveChangedListener {
this.hasRacesToPoll = true;
ExLog.i(context, TAG, String.format("Registered race %s for polling, will start in %d milliseconds.", race.getId(),
pollingInterval));
} catch (MalformedURLException e) {
} catch (MalformedURLException | UnsupportedEncodingException e) {
ExLog.e(context, TAG, String.format("Unable to create polling URL for race %s: %s", race.getId(), e.getMessage()));
}
}
private URL createURL(ManagedRace race) throws MalformedURLException {
private URL createURL(ManagedRace race) throws MalformedURLException, UnsupportedEncodingException {
return new URL(MessageSendingService.getRaceLogEventSendAndReceiveUrl(context, race.getRaceGroup().getName(),
race.getName(), race.getFleet().getName()));
}
@@ -27,6 +27,7 @@ public class RaceLogPollerTask extends AsyncTask<Util.Pair<Serializable, URL>, P
this.context = context;
}
@SuppressWarnings("unchecked")
@Override
protected Void doInBackground(Util.Pair<Serializable, URL>... queries) {
for (Util.Pair<Serializable, URL> query : queries) {
@@ -1,6 +1,7 @@
package com.sap.sailing.racecommittee.app.services.sending;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import android.content.Context;
import android.content.Intent;
@@ -25,7 +26,7 @@ public class EventSendingServiceUtil {
* @return the intent that shall be sent to the EventSendingService
*/
public static Intent createEventIntent(Context context, ManagedRace race, Serializable eventId, String serializedEventAsJson,
Class<? extends ServerReplyCallback> callbackClass) {
Class<? extends ServerReplyCallback> callbackClass) throws UnsupportedEncodingException {
String url = MessageSendingService.getRaceLogEventSendAndReceiveUrl(context,
race.getRaceGroup().getName(), race.getName(), race.getFleet().getName());
return MessageSendingService.createMessageIntent(context, url, race.getId(), eventId, serializedEventAsJson, callbackClass);
@@ -1,9 +1,12 @@
package com.sap.sailing.racecommittee.app.services.sending;
import java.io.UnsupportedEncodingException;
import org.json.simple.JSONObject;
import android.app.Service;
import com.sap.sailing.android.shared.logging.ExLog;
import com.sap.sailing.domain.abstractlog.race.RaceLogChangedListener;
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
import com.sap.sailing.racecommittee.app.domain.ManagedRace;
@@ -11,6 +14,7 @@ import com.sap.sailing.racecommittee.app.domain.racelog.impl.RaceLogEventsCallba
import com.sap.sailing.server.gateway.serialization.JsonSerializer;
public class RaceEventSender implements RaceLogChangedListener {
private static final String TAG = RaceEventSender.class.getName();
private final Service service;
private final JsonSerializer<RaceLogEvent> serializer;
@@ -25,7 +29,11 @@ public class RaceEventSender implements RaceLogChangedListener {
@Override
public void eventAdded(RaceLogEvent event) {
JSONObject serializedEvent = serializer.serialize(event);
service.startService(EventSendingServiceUtil.createEventIntent(service, race, event.getId(),
serializedEvent.toJSONString(), RaceLogEventsCallback.class));
try {
service.startService(EventSendingServiceUtil.createEventIntent(service, race, event.getId(),
serializedEvent.toJSONString(), RaceLogEventsCallback.class));
} catch (UnsupportedEncodingException e) {
ExLog.e(service, TAG, "Could not create racelog event message (unsupported encoding)");
}
}
}
@@ -28,7 +28,6 @@ public class CameraView extends SurfaceView implements SurfaceHolder.Callback {
// underlying surface is created and destroyed.
surfaceHolder = getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void snap(final PictureCallback pictureHandler) {
@@ -44,7 +44,8 @@ public class AutoUpdaterChecker {
this.dialog = new ProgressDialog(context);
dialog.setTitle(context.getString(R.string.auto_update));
dialog.setCancelable(true);
dialog.setButton(context.getString(android.R.string.cancel), new DialogInterface.OnClickListener() {
dialog.setButton(DialogInterface.BUTTON_POSITIVE,
context.getString(android.R.string.cancel), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
dialog.cancel();