From 039e968af3c774785b82f0c628fe00eb2dd3afa7 Mon Sep 17 00:00:00 2001 From: Alessio Emireni Date: Thu, 20 Apr 2023 09:08:25 +0200 Subject: [PATCH] fix(mqtt): app-236 fix crash android on logout SSO --- .../emotokcak/reactnative/mqtt/RNMqttClient.kt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/android/src/main/java/com/github/emotokcak/reactnative/mqtt/RNMqttClient.kt b/android/src/main/java/com/github/emotokcak/reactnative/mqtt/RNMqttClient.kt index a97dc64..0332f60 100644 --- a/android/src/main/java/com/github/emotokcak/reactnative/mqtt/RNMqttClient.kt +++ b/android/src/main/java/com/github/emotokcak/reactnative/mqtt/RNMqttClient.kt @@ -65,6 +65,8 @@ class RNMqttClient(reactContext: ReactApplicationContext) this.disconnect() } catch (e: MqttException) { Log.e(NAME, "failed to disconnect", e) + } catch (e: IllegalArgumentException) { + Log.e(NAME, "failed to disconnect", e) } } @@ -157,6 +159,14 @@ class RNMqttClient(reactContext: ReactApplicationContext) ) promise.reject("INVALID_IDENTITY", e) return + } catch (e: IllegalArgumentException) { + Log.e( + NAME, + "failed to load an identity from the Android key store", + e + ) + promise.reject("INVALID_IDENTITY", e) + return } } @@ -370,6 +380,10 @@ class RNMqttClient(reactContext: ReactApplicationContext) Log.e(NAME, "failed to connect", e) promise.reject("ERROR_CONNECTION", e) return + } catch (e: IllegalArgumentException) { + Log.e(NAME, "failed to connect", e) + promise.reject("ERROR_CONNECTION", e) + return } } @@ -409,6 +423,10 @@ class RNMqttClient(reactContext: ReactApplicationContext) } catch (e: MqttException) { Log.e(NAME, "failed to disconnect", e) return + } catch (e: IllegalArgumentException) { + // maybe Invalid ClientHandle + Log.e(NAME, "failed to disconnect", e) + return } }