NativeDaemonConnector: Improve NativeDaemonException reporting to include the actual error response
Signed-off-by: San Mehat <san@google.com>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user