am 25466e0a: Merge "TIF: throw an exception if an operation takes too long." into mnc-dev

* commit '25466e0a8f3e0f7f1e758642519f3aa8643f6f26':
  TIF: throw an exception if an operation takes too long.
This commit is contained in:
Dongwon Kang
2015-04-29 05:41:35 +00:00
committed by Android Git Automerger

View File

@@ -41,8 +41,9 @@ import com.android.internal.os.SomeArgs;
public class ITvInputSessionWrapper extends ITvInputSession.Stub implements HandlerCaller.Callback {
private static final String TAG = "TvInputSessionWrapper";
private static final int MESSAGE_HANDLING_DURATION_THRESHOLD_MILLIS = 50;
private static final int MESSAGE_TUNE_DURATION_THRESHOLD_MILLIS = 2000;
private static final int EXECUTE_MESSAGE_TIMEOUT_SHORT_MILLIS = 50;
private static final int EXECUTE_MESSAGE_TUNE_TIMEOUT_MILLIS = 2000;
private static final int EXECUTE_MESSAGE_TIMEOUT_LONG_MILLIS = 5 * 1000;
private static final int DO_RELEASE = 1;
private static final int DO_SET_MAIN = 2;
@@ -184,14 +185,18 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
}
}
long duration = System.currentTimeMillis() - startTime;
if (duration > MESSAGE_HANDLING_DURATION_THRESHOLD_MILLIS) {
if (duration > EXECUTE_MESSAGE_TIMEOUT_SHORT_MILLIS) {
Log.w(TAG, "Handling message (" + msg.what + ") took too long time (duration="
+ duration + "ms)");
if (msg.what == DO_TUNE && duration > MESSAGE_TUNE_DURATION_THRESHOLD_MILLIS) {
if (msg.what == DO_TUNE && duration > EXECUTE_MESSAGE_TUNE_TIMEOUT_MILLIS) {
throw new RuntimeException("Too much time to handle tune request. (" + duration
+ "ms > " + MESSAGE_TUNE_DURATION_THRESHOLD_MILLIS + "ms) "
+ "ms > " + EXECUTE_MESSAGE_TUNE_TIMEOUT_MILLIS + "ms) "
+ "Consider handling the tune request in a separate thread.");
}
if (duration > EXECUTE_MESSAGE_TIMEOUT_LONG_MILLIS) {
throw new RuntimeException("Too much time to handle a request. (type=" + msg.what +
", " + duration + "ms > " + EXECUTE_MESSAGE_TIMEOUT_LONG_MILLIS + "ms).");
}
}
}