From 3cc6706e71d5fb00ad898490612eebf8b9baa14a Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Mon, 25 Apr 2016 10:12:26 +0200 Subject: [PATCH] don't use a Set to keep protest_image views for which click listener has been set; could be a leak; use keyed tag instead Change-Id: I0860708a6c7f9dd576eaf3f382eefad9a6f7545a --- .../com.sap.sailing.racecommittee.app/res/values/ids.xml | 1 + .../app/ui/adapters/racelist/ManagedRaceListAdapter.java | 8 +++----- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/mobile/com.sap.sailing.racecommittee.app/res/values/ids.xml b/mobile/com.sap.sailing.racecommittee.app/res/values/ids.xml index d49099898cd..609954edf2e 100644 --- a/mobile/com.sap.sailing.racecommittee.app/res/values/ids.xml +++ b/mobile/com.sap.sailing.racecommittee.app/res/values/ids.xml @@ -4,5 +4,6 @@ + diff --git a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/adapters/racelist/ManagedRaceListAdapter.java b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/adapters/racelist/ManagedRaceListAdapter.java index 631eff7fe50..f030008387b 100644 --- a/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/adapters/racelist/ManagedRaceListAdapter.java +++ b/mobile/com.sap.sailing.racecommittee.app/src/com/sap/sailing/racecommittee/app/ui/adapters/racelist/ManagedRaceListAdapter.java @@ -6,7 +6,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -80,7 +79,6 @@ public class ManagedRaceListAdapter extends ArrayAdapter imple private TextView boat_class; private TextView fleet_series; private ImageView protest_image; - private final Set protestFlagsWithClickListenerSet; private ImageView has_dependent_races; private SimpleDateFormat dateFormat; private RaceListDataType mSelectedRace; @@ -93,7 +91,6 @@ public class ManagedRaceListAdapter extends ArrayAdapter imple public ManagedRaceListAdapter(Context context, Set allRaces) { super(context, 0); - protestFlagsWithClickListenerSet = new HashSet<>(); mAllRaces = allRaces; mShownViewItems = new ArrayList<>(); this.viewItemsRaces = new HashMap<>(); @@ -175,8 +172,9 @@ public class ManagedRaceListAdapter extends ArrayAdapter imple fleet_series.setVisibility(View.VISIBLE); } protest_image.setImageDrawable(FlagsResources.getFlagDrawable(getContext(), Flags.BRAVO.name(), flag_size)); - if (!protestFlagsWithClickListenerSet.contains(protest_image)) { - protestFlagsWithClickListenerSet.add(protest_image); + if (protest_image.getTag(R.id.protest_flag_image_click_listener) == null || + protest_image.getTag(R.id.protest_flag_image_click_listener) != Boolean.TRUE) { + protest_image.setTag(R.id.protest_flag_image_click_listener, Boolean.TRUE); protest_image.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) {