aboutsummaryrefslogtreecommitdiff
path: root/tests/input/src/com/android/tv/testinput/TestTvInputService.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/input/src/com/android/tv/testinput/TestTvInputService.java')
-rw-r--r--tests/input/src/com/android/tv/testinput/TestTvInputService.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/tests/input/src/com/android/tv/testinput/TestTvInputService.java b/tests/input/src/com/android/tv/testinput/TestTvInputService.java
index 659b341f..621ceacb 100644
--- a/tests/input/src/com/android/tv/testinput/TestTvInputService.java
+++ b/tests/input/src/com/android/tv/testinput/TestTvInputService.java
@@ -326,11 +326,16 @@ public class TestTvInputService extends TvInputService {
if (currentSurface != null) {
String now = new Date(mCurrentPositionMs).toString();
String name = currentChannel == null ? "Null" : currentChannel.name;
- Canvas c = currentSurface.lockCanvas(null);
- c.drawColor(0xFF888888);
- c.drawText(name, 100f, 200f, mTextPaint);
- c.drawText(now, 100f, 400f, mTextPaint);
- currentSurface.unlockCanvasAndPost(c);
+ try {
+ Canvas c = currentSurface.lockCanvas(null);
+ c.drawColor(0xFF888888);
+ c.drawText(name, 100f, 200f, mTextPaint);
+ c.drawText(now, 100f, 400f, mTextPaint);
+ // Assuming c.drawXXX will never fail.
+ currentSurface.unlockCanvasAndPost(c);
+ } catch (IllegalArgumentException e) {
+ // The surface might have been abandoned. Ignore the exception.
+ }
if (DEBUG) {
Log.v(TAG, "Post to canvas");
}