summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/NativeDaemonConnector.java14
-rw-r--r--services/java/com/android/server/NativeDaemonConnectorException.java10
2 files changed, 17 insertions, 7 deletions
diff --git a/services/java/com/android/server/NativeDaemonConnector.java b/services/java/com/android/server/NativeDaemonConnector.java
index 016aa52ac7a6..9a066d3d6658 100644
--- a/services/java/com/android/server/NativeDaemonConnector.java
+++ b/services/java/com/android/server/NativeDaemonConnector.java
@@ -219,19 +219,23 @@ final class NativeDaemonConnector implements Runnable {
String.format("Invalid response from daemon (%s)", line));
}
- if ((code >= 200) && (code < 600))
+ if ((code >= 200) && (code < 600)) {
complete = true;
+ }
response.add(line);
} catch (InterruptedException ex) {
- Log.e(TAG, "InterruptedException");
+ Log.e(TAG, "Failed to process response", ex);
}
}
if (code >= ResponseCode.FailedRangeStart &&
code <= ResponseCode.FailedRangeEnd) {
- throw new NativeDaemonConnectorException(code, String.format(
- "Command %s failed with code %d",
- cmd, code));
+ /*
+ * Note: The format of the last response in this case is
+ * "NNN <errmsg>"
+ */
+ throw new NativeDaemonConnectorException(
+ code, cmd, response.get(response.size()-1).substring(4));
}
return response;
}
diff --git a/services/java/com/android/server/NativeDaemonConnectorException.java b/services/java/com/android/server/NativeDaemonConnectorException.java
index e60aaf86858d..426742b1e2ef 100644
--- a/services/java/com/android/server/NativeDaemonConnectorException.java
+++ b/services/java/com/android/server/NativeDaemonConnectorException.java
@@ -22,6 +22,7 @@ package com.android.server;
public class NativeDaemonConnectorException extends RuntimeException
{
private int mCode = -1;
+ private String mCmd;
public NativeDaemonConnectorException() {}
@@ -30,13 +31,18 @@ public class NativeDaemonConnectorException extends RuntimeException
super(error);
}
- public NativeDaemonConnectorException(int code, String error)
+ public NativeDaemonConnectorException(int code, String cmd, String error)
{
- super(error);
+ super(String.format("Cmd {%s} failed with code %d : {%s}", cmd, code, error));
mCode = code;
+ mCmd = cmd;
}
public int getCode() {
return mCode;
}
+
+ public String getCmd() {
+ return mCmd;
+ }
}