summaryrefslogtreecommitdiffstats
path: root/services/java
diff options
context:
space:
mode:
authorKonstantin Lopyrev <klopyrev@google.com>2010-08-24 22:00:12 -0700
committerKonstantin Lopyrev <klopyrev@google.com>2010-08-25 13:38:27 -0700
commit43b9b48f792e0b1b166af7f7fb6a32172e7f11c2 (patch)
treea2b672ac91132c4e950df1a831d58b1905befca3 /services/java
parentb8814dce287552c1bdf13fa999296ebc7387776d (diff)
downloadframeworks_base-43b9b48f792e0b1b166af7f7fb6a32172e7f11c2.zip
frameworks_base-43b9b48f792e0b1b166af7f7fb6a32172e7f11c2.tar.gz
frameworks_base-43b9b48f792e0b1b166af7f7fb6a32172e7f11c2.tar.bz2
Preventing the hierarchy viewer from getting stuck, once when trying to load the window data for SurfaceView and the Wallpaper, and in the case the captured node has disappeared.
Change-Id: Iaff6bd501a2bb3faa7a394fff740479f6a95e899
Diffstat (limited to 'services/java')
-rw-r--r--services/java/com/android/server/WindowManagerService.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java
index 421d1c4..9b9d950 100644
--- a/services/java/com/android/server/WindowManagerService.java
+++ b/services/java/com/android/server/WindowManagerService.java
@@ -4808,6 +4808,8 @@ public class WindowManagerService extends IWindowManager.Stub
Parcel data = null;
Parcel reply = null;
+ BufferedWriter out = null;
+
// Any uncaught exception will crash the system process
try {
// Find the hashcode of the window
@@ -4845,6 +4847,12 @@ public class WindowManagerService extends IWindowManager.Stub
reply.readException();
+ if (!client.isOutputShutdown()) {
+ out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
+ out.write("DONE\n");
+ out.flush();
+ }
+
} catch (Exception e) {
Slog.w(TAG, "Could not send command " + command + " with parameters " + parameters, e);
success = false;
@@ -4855,6 +4863,13 @@ public class WindowManagerService extends IWindowManager.Stub
if (reply != null) {
reply.recycle();
}
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException e) {
+
+ }
+ }
}
return success;