From dee6e47ba303be8111ebfc438d0bb3af02d74db8 Mon Sep 17 00:00:00 2001 From: Vasil Trifonov Date: Mon, 25 Feb 2019 11:36:49 +0200 Subject: [PATCH 1/3] Close previous connection when opening a new inspector --- .../main/java/com/tns/AndroidJsV8Inspector.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/test-app/app/src/main/java/com/tns/AndroidJsV8Inspector.java b/test-app/app/src/main/java/com/tns/AndroidJsV8Inspector.java index 5c3996f24..d9c294acc 100644 --- a/test-app/app/src/main/java/com/tns/AndroidJsV8Inspector.java +++ b/test-app/app/src/main/java/com/tns/AndroidJsV8Inspector.java @@ -231,9 +231,22 @@ protected Response serveHttp(IHTTPSession session) { return super.serveHttp(session); } + private JsV8InspectorWebSocket webSocket; + @Override protected WebSocket openWebSocket(IHTTPSession handshake) { - return new JsV8InspectorWebSocket(handshake, currentRuntimeLogger); + // close the previous webSocket + if(this.webSocket != null) { + try { + this.webSocket.close(WebSocketFrame.CloseCode.NormalClosure, "New browser connection is open", false); + } catch (IOException ioException) { + if(this.webSocket.getState() != State.CLOSED) { + Log.e("{N}.v8-inspector", "Error closing previous connection", ioException); + } + } + } + this.webSocket = new JsV8InspectorWebSocket(handshake); + return this.webSocket; } } From 69a1bef7843c1c39a6754554fdc0a267a1120ca4 Mon Sep 17 00:00:00 2001 From: Vasil Trifonov Date: Mon, 25 Feb 2019 11:36:58 +0200 Subject: [PATCH 2/3] Bump version and add changelog --- CHANGELOG.md | 7 ++++++- package.json | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09d0028cf..69cbca2d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +5.2.1 +== + +## Bug Fixes + - [Breakpoint stop to hit when you have two open tabs and close one(#1247)](https://github.com/NativeScript/android-runtime/issues/1247) + 5.2.0 == @@ -13,7 +19,6 @@ - [ClassNotFound exception when calling nested static class with correct argument(#1195)](https://github.com/NativeScript/android-runtime/issues/1195) - [If you refresh or close the chrome dev tools window an error will be log in the console (#1202)](https://github.com/NativeScript/android-runtime/issues/1202) - [Debug on Android fails when stopped on breakpoint and change in .xml/.css/.html is applied(#1243)](https://github.com/NativeScript/android-runtime/issues/1243) - - [Breakpoint stop to hit when you have two open tabs and close one(#1247)](https://github.com/NativeScript/android-runtime/issues/1247) - [Upgrade V8 to v7 to fix unstable sort() method(#1176)](https://github.com/NativeScript/android-runtime/issues/1176) - [CodeCache option is broken since Android Runtime 4.1.0(#1235)](https://github.com/NativeScript/android-runtime/issues/1235) - [Snapshots with ABI splits do not work since Android Runtime 4.1.0(#1234)](https://github.com/NativeScript/android-runtime/issues/1234) diff --git a/package.json b/package.json index cc406382b..b07e62ed3 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "tns-android", "description": "NativeScript Runtime for Android", - "version": "5.2.0", + "version": "5.2.1", "repository": { "type": "git", "url": "https://github.com/NativeScript/android-runtime.git" From 1d2eb5d1f77302fe2911d0364be3afd641bf8c13 Mon Sep 17 00:00:00 2001 From: Vasil Trifonov Date: Mon, 25 Feb 2019 11:56:29 +0200 Subject: [PATCH 3/3] pass runtime logger to the JsV8InspectorWebSocket constructor --- test-app/app/src/main/java/com/tns/AndroidJsV8Inspector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-app/app/src/main/java/com/tns/AndroidJsV8Inspector.java b/test-app/app/src/main/java/com/tns/AndroidJsV8Inspector.java index d9c294acc..d7bd77dd8 100644 --- a/test-app/app/src/main/java/com/tns/AndroidJsV8Inspector.java +++ b/test-app/app/src/main/java/com/tns/AndroidJsV8Inspector.java @@ -245,7 +245,7 @@ protected WebSocket openWebSocket(IHTTPSession handshake) { } } } - this.webSocket = new JsV8InspectorWebSocket(handshake); + this.webSocket = new JsV8InspectorWebSocket(handshake, currentRuntimeLogger); return this.webSocket; } }