TIF: API Review: android.media.tv

Addressed the feedback from the API Review:

android.media.tv.TvView.TimeShiftPositionCallback
Please add more documentation to explain why we are using the wall-clock
time here.

android.media.tv.TvInputService
onTimeShiftSetPlaybackRate should be renamed to
onTimeShiftSetPlaybackParams and pass in the PlaybackParams object
(formerly known as PlaybackSettings) instead of the rate and mode
separately.

android.media.tv.TvTrackInfo
getDescription() should return a CharSequence not a String.

android.media.tv.TvTrackInfo.Builder
setDescription() should take a CharSequence as input.

android.media.tv.TvView
Change timeShiftSetPlaybackRate() to setTimeShiftPlaybackParams() and
use the PlaybackParams object (formerly known as PlaybackSettings)
instead of the rate and mode separately.

Bug: 21045120
Change-Id: I768665ae9c385fcb034bfb346c21b4c9f0891172
diff --git a/media/java/android/media/tv/ITvInputSessionWrapper.java b/media/java/android/media/tv/ITvInputSessionWrapper.java
index 0191652..58954bd 100644
--- a/media/java/android/media/tv/ITvInputSessionWrapper.java
+++ b/media/java/android/media/tv/ITvInputSessionWrapper.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.graphics.Rect;
+import android.media.PlaybackParams;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.IBinder;
@@ -172,7 +173,10 @@
                 break;
             }
             case DO_TIME_SHIFT_SET_PLAYBACK_RATE: {
-                mTvInputSessionImpl.timeShiftSetPlaybackRate((Float) msg.obj, msg.arg1);
+                PlaybackParams params = new PlaybackParams()
+                        .setSpeed((Float) msg.obj)
+                        .setAudioFallbackMode(msg.arg1);
+                mTvInputSessionImpl.timeShiftSetPlaybackParams(params);
                 break;
             }
             case DO_TIME_SHIFT_ENABLE_POSITION_TRACKING: {