From 75652a2e2612558b2d40b280a2d4495b2fbe880c Mon Sep 17 00:00:00 2001 From: pq Date: Wed, 27 Aug 2025 15:18:02 -0700 Subject: [PATCH] [CQ] migrate off deprecated `URL` constructor --- src/io/flutter/run/daemon/FlutterApp.java | 28 +++++++++++++++----- src/io/flutter/utils/UrlUtils.java | 31 +++++++++++++---------- 2 files changed, 38 insertions(+), 21 deletions(-) diff --git a/src/io/flutter/run/daemon/FlutterApp.java b/src/io/flutter/run/daemon/FlutterApp.java index 5a0f7d40bc..8177736e46 100644 --- a/src/io/flutter/run/daemon/FlutterApp.java +++ b/src/io/flutter/run/daemon/FlutterApp.java @@ -45,7 +45,11 @@ import io.flutter.run.FlutterLaunchMode; import io.flutter.run.common.RunMode; import io.flutter.settings.FlutterSettings; -import io.flutter.utils.*; +import io.flutter.utils.MostlySilentColoredProcessHandler; +import io.flutter.utils.ProgressHelper; +import io.flutter.utils.StreamSubscription; +import io.flutter.utils.UrlUtils; +import io.flutter.utils.VmServiceListenerAdapter; import io.flutter.vmService.ServiceExtensions; import io.flutter.vmService.VMServiceManager; import org.dartlang.vm.service.VmService; @@ -55,9 +59,18 @@ import java.io.File; import java.net.MalformedURLException; -import java.net.URL; -import java.util.*; -import java.util.concurrent.*; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.EventListener; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; @@ -765,12 +778,12 @@ public void onAppDebugPort(@NotNull DaemonEvent.AppDebugPort debugInfo) { if (uri.startsWith("file:")) { // Convert the file: url to a path. try { - uri = new URL(uri).getPath(); + uri = new URI(uri).toURL().getPath(); if (uri.endsWith(File.separator)) { uri = uri.substring(0, uri.length() - 1); } } - catch (MalformedURLException e) { + catch (IllegalArgumentException | MalformedURLException | URISyntaxException e) { // ignore } } @@ -844,7 +857,8 @@ private void sendDtdRequest(@NotNull DtdRequest dtdRequest, @NotNull JsonObject final JsonPrimitive type = result != null ? result.getAsJsonPrimitive("type") : null; if (type != null && "Success".equals(type.getAsString())) { LOG.info("Successful request " + dtdRequest.type + " to DTD with params: " + initialParams); - } else { + } + else { LOG.warn("Failed request " + dtdRequest.type + "to DTD with params: " + initialParams); LOG.warn("Result: " + result); } diff --git a/src/io/flutter/utils/UrlUtils.java b/src/io/flutter/utils/UrlUtils.java index 10f55791dd..318f999133 100644 --- a/src/io/flutter/utils/UrlUtils.java +++ b/src/io/flutter/utils/UrlUtils.java @@ -1,22 +1,25 @@ package io.flutter.utils; import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; public class UrlUtils { - public static String generateHtmlFragmentWithHrefTags(String input) { - StringBuilder builder = new StringBuilder(); - for (String token : input.split(" ")) { - if (!builder.isEmpty()) { - builder.append(" "); - } - try { - URL url = new URL(token); - builder.append("").append(url).append(""); - } catch(MalformedURLException e) { - builder.append(token); - } - } - return builder.toString(); + public static String generateHtmlFragmentWithHrefTags(String input) { + StringBuilder builder = new StringBuilder(); + for (String token : input.split(" ")) { + if (!builder.isEmpty()) { + builder.append(" "); + } + try { + URL url = new URI(token).toURL(); + builder.append("").append(url).append(""); + } + catch (IllegalArgumentException | MalformedURLException | URISyntaxException e) { + builder.append(token); + } } + return builder.toString(); + } }