From 06636d73a1b12c8f932642ee7caf91432690fea5 Mon Sep 17 00:00:00 2001 From: jcesarmobile Date: Wed, 17 Jan 2024 17:21:44 +0100 Subject: [PATCH] fix(android): handle deprecation warnings (#7190) --- .../src/main/java/com/getcapacitor/PluginHandle.java | 4 ++-- .../getcapacitor/plugin/util/CapacitorHttpUrlConnection.java | 5 ++++- .../com/getcapacitor/plugin/util/HttpRequestHandler.java | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/android/capacitor/src/main/java/com/getcapacitor/PluginHandle.java b/android/capacitor/src/main/java/com/getcapacitor/PluginHandle.java index 2e520b3a4..bfdd92285 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/PluginHandle.java +++ b/android/capacitor/src/main/java/com/getcapacitor/PluginHandle.java @@ -101,9 +101,9 @@ public Plugin load() throws PluginLoadException { } try { - this.instance = this.pluginClass.newInstance(); + this.instance = this.pluginClass.getDeclaredConstructor().newInstance(); return this.loadInstance(instance); - } catch (InstantiationException | IllegalAccessException ex) { + } catch (Exception ex) { throw new PluginLoadException("Unable to load plugin instance. Ensure plugin is publicly accessible"); } } diff --git a/android/capacitor/src/main/java/com/getcapacitor/plugin/util/CapacitorHttpUrlConnection.java b/android/capacitor/src/main/java/com/getcapacitor/plugin/util/CapacitorHttpUrlConnection.java index 161a74d45..6f04cc30e 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/plugin/util/CapacitorHttpUrlConnection.java +++ b/android/capacitor/src/main/java/com/getcapacitor/plugin/util/CapacitorHttpUrlConnection.java @@ -464,7 +464,10 @@ public void setSSLSocketFactory(Bridge bridge) { try { Class sslPinningImpl = Class.forName("io.ionic.sslpinning.SSLPinning"); Method method = sslPinningImpl.getDeclaredMethod("getSSLSocketFactory", Bridge.class); - SSLSocketFactory sslSocketFactory = (SSLSocketFactory) method.invoke(sslPinningImpl.newInstance(), bridge); + SSLSocketFactory sslSocketFactory = (SSLSocketFactory) method.invoke( + sslPinningImpl.getDeclaredConstructor().newInstance(), + bridge + ); if (sslSocketFactory != null) { ((HttpsURLConnection) this.connection).setSSLSocketFactory(sslSocketFactory); } diff --git a/android/capacitor/src/main/java/com/getcapacitor/plugin/util/HttpRequestHandler.java b/android/capacitor/src/main/java/com/getcapacitor/plugin/util/HttpRequestHandler.java index 9d8e0a44a..4bd5df66d 100644 --- a/android/capacitor/src/main/java/com/getcapacitor/plugin/util/HttpRequestHandler.java +++ b/android/capacitor/src/main/java/com/getcapacitor/plugin/util/HttpRequestHandler.java @@ -430,7 +430,7 @@ private static Boolean isDomainExcludedFromSSL(Bridge bridge, URL url) { try { Class sslPinningImpl = Class.forName("io.ionic.sslpinning.SSLPinning"); Method method = sslPinningImpl.getDeclaredMethod("isDomainExcluded", Bridge.class, URL.class); - return (Boolean) method.invoke(sslPinningImpl.newInstance(), bridge, url); + return (Boolean) method.invoke(sslPinningImpl.getDeclaredConstructor().newInstance(), bridge, url); } catch (Exception ignored) { return false; }