diff --git a/core/java/android/tv/TvInputService.java b/core/java/android/tv/TvInputService.java index 1d6298d7e695a..eeb738dafd3fc 100644 --- a/core/java/android/tv/TvInputService.java +++ b/core/java/android/tv/TvInputService.java @@ -489,7 +489,7 @@ public abstract class TvInputService extends Service { } } } - if (mOverlayView == null) { + if (mOverlayView == null || !mOverlayView.isAttachedToWindow()) { return Session.DISPATCH_NOT_HANDLED; } if (!mOverlayView.hasWindowFocus()) { diff --git a/core/java/android/tv/TvView.java b/core/java/android/tv/TvView.java index 80501e8720727..7eaa86b6642a0 100644 --- a/core/java/android/tv/TvView.java +++ b/core/java/android/tv/TvView.java @@ -347,7 +347,9 @@ public class TvView extends SurfaceView { public void onSessionCreated(Session session) { if (this != mSessionCallback) { // This callback is obsolete. - session.release(); + if (session != null) { + session.release(); + } return; } mSession = session;