From 022e83a979304e1f8b73543e6e2af7fe4cf6298c Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Wed, 12 Aug 2015 22:34:06 +0200 Subject: [PATCH] emergency fix for bug 3217: no longer escape parameters; they are passed to UrlHelper where they get escaped --- .../app/data/OnlineDataManager.java | 23 +++++++++---------- .../app/ui/fragments/LoginBackdrop.java | 1 - 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OnlineDataManager.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OnlineDataManager.java index e4bc7ac1707..2a1b6fa87ba 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OnlineDataManager.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/data/OnlineDataManager.java @@ -3,7 +3,6 @@ package com.sap.sailing.racecommittee.app.data; import java.io.Serializable; import java.net.MalformedURLException; import java.net.URL; -import java.net.URLEncoder; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -199,10 +198,10 @@ public class OnlineDataManager extends DataManager { DataHandler> handler = new MarksDataHandler(OnlineDataManager.this); ManagedRaceIdentifier identifier = managedRace.getIdentifier(); - - 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); + // no parameter encoding required here; the UrlHelper.generateUrl call uses Url.Builder which handles encoding + String raceGroupName = identifier.getRaceGroup().getName(); + String raceColumnName = identifier.getRaceName(); + String fleetName = identifier.getFleet().getName(); List> params = new ArrayList<>(); params.add(new Util.Pair(RaceLogServletConstants.PARAMS_LEADERBOARD_NAME, raceGroupName)); @@ -229,9 +228,9 @@ public class OnlineDataManager extends DataManager { ManagedRaceIdentifier identifier = managedRace.getIdentifier(); - 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); + String raceGroupName = identifier.getRaceGroup().getName(); + String raceColumnName = identifier.getRaceName(); + String fleetName = identifier.getFleet().getName(); List> params = new ArrayList<>(); params.add(new Util.Pair(RaceLogServletConstants.PARAMS_LEADERBOARD_NAME, raceGroupName)); @@ -261,9 +260,9 @@ public class OnlineDataManager extends DataManager { ManagedRaceIdentifier identifier = managedRace.getIdentifier(); - 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); + String raceGroupName = identifier.getRaceGroup().getName(); + String raceColumnName = identifier.getRaceName(); + String fleetName = identifier.getFleet().getName(); List> params = new ArrayList<>(); params.add(new Util.Pair(RaceLogServletConstants.PARAMS_LEADERBOARD_NAME, raceGroupName)); @@ -287,7 +286,7 @@ public class OnlineDataManager extends DataManager { DataParser parser = new DeviceConfigurationParser( DeviceConfigurationJsonDeserializer.create()); - String encodedIdentifier = URLEncoder.encode(identifier.getClientIdentifier(), MessageSendingService.charsetName); + String encodedIdentifier = identifier.getClientIdentifier(); encodedIdentifier = encodedIdentifier.replace("+", "%20"); List> params = new ArrayList<>(); diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/LoginBackdrop.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/LoginBackdrop.java index e0bfa877ad4..65c2f137de1 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/LoginBackdrop.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/fragments/LoginBackdrop.java @@ -65,7 +65,6 @@ public class LoginBackdrop extends Fragment { //Because of massive usage of reflection (try {} catch ()) //Don't know how to fix the warning a better way - @SuppressWarnings("unchecked") @Override public void onClick(View view) { PopupMenu popupMenu = new PopupMenu(getActivity(), view);