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));
|
String.format("Invalid response from daemon (%s)", line));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((code >= 200) && (code < 600))
|
if ((code >= 200) && (code < 600)) {
|
||||||
complete = true;
|
complete = true;
|
||||||
|
}
|
||||||
response.add(line);
|
response.add(line);
|
||||||
} catch (InterruptedException ex) {
|
} catch (InterruptedException ex) {
|
||||||
Log.e(TAG, "InterruptedException");
|
Log.e(TAG, "Failed to process response", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (code >= ResponseCode.FailedRangeStart &&
|
if (code >= ResponseCode.FailedRangeStart &&
|
||||||
code <= ResponseCode.FailedRangeEnd) {
|
code <= ResponseCode.FailedRangeEnd) {
|
||||||
throw new NativeDaemonConnectorException(code, String.format(
|
/*
|
||||||
"Command %s failed with code %d",
|
* Note: The format of the last response in this case is
|
||||||
cmd, code));
|
* "NNN <errmsg>"
|
||||||
|
*/
|
||||||
|
throw new NativeDaemonConnectorException(
|
||||||
|
code, cmd, response.get(response.size()-1).substring(4));
|
||||||
}
|
}
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ package com.android.server;
|
|||||||
public class NativeDaemonConnectorException extends RuntimeException
|
public class NativeDaemonConnectorException extends RuntimeException
|
||||||
{
|
{
|
||||||
private int mCode = -1;
|
private int mCode = -1;
|
||||||
|
private String mCmd;
|
||||||
|
|
||||||
public NativeDaemonConnectorException() {}
|
public NativeDaemonConnectorException() {}
|
||||||
|
|
||||||
@@ -30,13 +31,18 @@ public class NativeDaemonConnectorException extends RuntimeException
|
|||||||
super(error);
|
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;
|
mCode = code;
|
||||||
|
mCmd = cmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCode() {
|
public int getCode() {
|
||||||
return mCode;
|
return mCode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getCmd() {
|
||||||
|
return mCmd;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user