TIF: Add a test for Session.onOverlayViewSizeChanged() introduced in M

Bug: 20702419
Change-Id: I299b833515c459846867250351fee8da48fb1625
diff --git a/tests/tests/tv/src/android/media/tv/cts/TvInputServiceTest.java b/tests/tests/tv/src/android/media/tv/cts/TvInputServiceTest.java
index a784439..b494f9e 100644
--- a/tests/tests/tv/src/android/media/tv/cts/TvInputServiceTest.java
+++ b/tests/tests/tv/src/android/media/tv/cts/TvInputServiceTest.java
@@ -34,6 +34,7 @@
 import android.view.Surface;
 import android.view.SurfaceView;
 import android.view.View;
+import android.widget.LinearLayout;
 
 import com.android.cts.tv.R;
 
@@ -167,6 +168,7 @@
         verifyCommandTimeShiftSeekTo();
         verifyCommandTimeShiftSetPlaybackParams();
         verifyCommandSetTimeShiftPositionCallback();
+        verifyCommandOverlayViewSizeChanged();
         verifyCallbackChannelRetuned();
         verifyCallbackVideoAvailable();
         verifyCallbackVideoUnavailable();
@@ -308,6 +310,22 @@
         }.run();
     }
 
+    public void verifyCommandOverlayViewSizeChanged() {
+        mActivity.runOnUiThread(new Runnable() {
+            public void run() {
+                mTvView.setLayoutParams(new LinearLayout.LayoutParams(10, 20));
+            }
+        });
+        mInstrumentation.waitForIdleSync();
+        new PollingCheck(TIME_OUT) {
+            @Override
+            protected boolean check() {
+                CountingSession session = CountingTvInputService.sSession;
+                return session != null && session.mOverlayViewSizeChangedCount > 0;
+            }
+        }.run();
+    }
+
     public void verifyCallbackChannelRetuned() {
         CountingSession session = CountingTvInputService.sSession;
         assertNotNull(session);
@@ -449,6 +467,7 @@
             public volatile int mSetCaptionEnabledCount;
             public volatile int mSelectTrackCount;
             public volatile int mKeyDownCount;
+            public volatile int mOverlayViewSizeChangedCount;
             public volatile int mTimeShiftPause;
             public volatile int mTimeShiftResume;
             public volatile int mTimeShiftSeekTo;
@@ -526,6 +545,12 @@
             public long onTimeShiftGetStartPosition() {
                 return ++mTimeShiftGetStartPosition;
             }
+
+            @Override
+            public void onOverlayViewSizeChanged(int width, int height) {
+                mOverlayViewSizeChangedCount++;
+            }
+
         }
     }
 }