From 08a0cb66ea5a4fb6544a9ad29c56027c9aa2ed42 Mon Sep 17 00:00:00 2001 From: Christophe Beyls Date: Wed, 22 Jan 2014 00:52:53 +0100 Subject: [PATCH] Update to new room naming system --- .../{room_ferrer.png => room_h2215.png} | Bin .../{room_guillissen.png => room_ua2220.png} | Bin .../{room_lameere.png => room_ub2252.png} | Bin .../{room_chavanne.png => room_ud2120.png} | Bin res/drawable/room_chavanne.xml | 3 +++ res/drawable/room_ferrer.xml | 3 +++ res/drawable/room_guillissen.xml | 3 +++ res/drawable/room_lameere.xml | 3 +++ .../fosdem/fragments/EventDetailsFragment.java | 2 +- src/be/digitalia/fosdem/utils/StringUtils.java | 12 ++++++++++-- 10 files changed, 23 insertions(+), 3 deletions(-) rename res/drawable-ldpi/{room_ferrer.png => room_h2215.png} (100%) rename res/drawable-ldpi/{room_guillissen.png => room_ua2220.png} (100%) rename res/drawable-ldpi/{room_lameere.png => room_ub2252.png} (100%) rename res/drawable-ldpi/{room_chavanne.png => room_ud2120.png} (100%) create mode 100644 res/drawable/room_chavanne.xml create mode 100644 res/drawable/room_ferrer.xml create mode 100644 res/drawable/room_guillissen.xml create mode 100644 res/drawable/room_lameere.xml diff --git a/res/drawable-ldpi/room_ferrer.png b/res/drawable-ldpi/room_h2215.png similarity index 100% rename from res/drawable-ldpi/room_ferrer.png rename to res/drawable-ldpi/room_h2215.png diff --git a/res/drawable-ldpi/room_guillissen.png b/res/drawable-ldpi/room_ua2220.png similarity index 100% rename from res/drawable-ldpi/room_guillissen.png rename to res/drawable-ldpi/room_ua2220.png diff --git a/res/drawable-ldpi/room_lameere.png b/res/drawable-ldpi/room_ub2252.png similarity index 100% rename from res/drawable-ldpi/room_lameere.png rename to res/drawable-ldpi/room_ub2252.png diff --git a/res/drawable-ldpi/room_chavanne.png b/res/drawable-ldpi/room_ud2120.png similarity index 100% rename from res/drawable-ldpi/room_chavanne.png rename to res/drawable-ldpi/room_ud2120.png diff --git a/res/drawable/room_chavanne.xml b/res/drawable/room_chavanne.xml new file mode 100644 index 0000000..3f0e654 --- /dev/null +++ b/res/drawable/room_chavanne.xml @@ -0,0 +1,3 @@ + + diff --git a/res/drawable/room_ferrer.xml b/res/drawable/room_ferrer.xml new file mode 100644 index 0000000..4997015 --- /dev/null +++ b/res/drawable/room_ferrer.xml @@ -0,0 +1,3 @@ + + diff --git a/res/drawable/room_guillissen.xml b/res/drawable/room_guillissen.xml new file mode 100644 index 0000000..3567ded --- /dev/null +++ b/res/drawable/room_guillissen.xml @@ -0,0 +1,3 @@ + + diff --git a/res/drawable/room_lameere.xml b/res/drawable/room_lameere.xml new file mode 100644 index 0000000..d2da28a --- /dev/null +++ b/res/drawable/room_lameere.xml @@ -0,0 +1,3 @@ + + diff --git a/src/be/digitalia/fosdem/fragments/EventDetailsFragment.java b/src/be/digitalia/fosdem/fragments/EventDetailsFragment.java index 3b17066..ad82dd4 100644 --- a/src/be/digitalia/fosdem/fragments/EventDetailsFragment.java +++ b/src/be/digitalia/fosdem/fragments/EventDetailsFragment.java @@ -146,7 +146,7 @@ public class EventDetailsFragment extends Fragment { ((TextView) view.findViewById(R.id.time)).setText(text); final String roomName = event.getRoomName(); TextView roomTextView = (TextView) view.findViewById(R.id.room); - Spannable roomText = new SpannableString(String.format("%1$s (Building %2$s)", roomName, Building.fromRoomName(roomName))); + Spannable roomText = new SpannableString(String.format("%1$s [Building %2$s]", roomName, Building.fromRoomName(roomName))); final int roomImageResId = getResources().getIdentifier(StringUtils.roomNameToResourceName(roomName), "drawable", getActivity().getPackageName()); // If the room image exists, make the room text clickable to display it if (roomImageResId != 0) { diff --git a/src/be/digitalia/fosdem/utils/StringUtils.java b/src/be/digitalia/fosdem/utils/StringUtils.java index cfa58a9..6f0c13d 100644 --- a/src/be/digitalia/fosdem/utils/StringUtils.java +++ b/src/be/digitalia/fosdem/utils/StringUtils.java @@ -102,7 +102,8 @@ public class StringUtils { } /** - * Converts a room name to a local drawable resource name, by stripping non-alpha chars and converting to lower case. + * Converts a room name to a local drawable resource name, by stripping non-alpha chars and converting to lower case. Any letter following a digit will be + * ignored, along with the rest of the string. * * @return */ @@ -110,10 +111,17 @@ public class StringUtils { StringBuilder builder = new StringBuilder(ROOM_DRAWABLE_PREFIX.length() + roomName.length()); builder.append(ROOM_DRAWABLE_PREFIX); int size = roomName.length(); + boolean lastDigit = false; for (int i = 0; i < size; ++i) { char c = roomName.charAt(i); - if (Character.isLetterOrDigit(c)) { + if (Character.isLetter(c)) { + if (lastDigit) { + break; + } builder.append(Character.toLowerCase(c)); + } else if (Character.isDigit(c)) { + builder.append(c); + lastDigit = true; } } return builder.toString();