From 7e695e50faecd4433f0dc95e9989b8333eec24ce Mon Sep 17 00:00:00 2001 From: Amolith Date: Tue, 7 Apr 2026 16:14:34 -0600 Subject: [PATCH] Don't rely on newer URLEncoder overload Old Android releases do not provide the URLEncoder overload that takes a Charset, so a received geo URI could crash as soon as its notification label was built. Go back to the older UTF-8 overload so the same label encoding does not depend on an API that's missing at runtime. --- .../java/eu/siacs/conversations/utils/GeoHelper.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/eu/siacs/conversations/utils/GeoHelper.java b/src/main/java/eu/siacs/conversations/utils/GeoHelper.java index db8e3136e7d9269cab72bfb8e3323ea932a96467..648ad049b5761592ba0e525a747edd916846d9b2 100644 --- a/src/main/java/eu/siacs/conversations/utils/GeoHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/GeoHelper.java @@ -12,8 +12,8 @@ import eu.siacs.conversations.entities.Conversational; import eu.siacs.conversations.entities.Message; import eu.siacs.conversations.ui.ShareLocationActivity; import eu.siacs.conversations.ui.ShowLocationActivity; +import java.io.UnsupportedEncodingException; import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.regex.Matcher; import org.osmdroid.util.GeoPoint; @@ -160,8 +160,11 @@ public class GeoHelper { private static String getLabel(Context context, Message message) { if (message.getStatus() == Message.STATUS_RECEIVED) { - return URLEncoder.encode( - UIHelper.getMessageDisplayName(message), StandardCharsets.UTF_8); + try { + return URLEncoder.encode(UIHelper.getMessageDisplayName(message), "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new AssertionError(e); + } } else { return context.getString(R.string.me); }