/*
* Copyright (C) 2014 Google Inc. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.distantfuture.castcompanionlibrary.lib.cast.player;
import android.graphics.Bitmap;
import com.distantfuture.castcompanionlibrary.lib.utils.MiniController.OnMiniControllerChangedListener;
import com.google.android.gms.cast.MediaStatus;
public interface IVideoCastController {
/**
* Sets the uri for the album art
*/
public void setImage(Bitmap bitmap);
/**
* Sets the title
*/
public void setLine1(String text);
/**
* Sets the subtitle
*/
public void setLine2(String text);
/**
* Sets the playback state, and the idleReason (this is only reliable when the state is idle).
* Values that can be passed to this method are from {@link MediaStatus}
*/
public void setPlaybackStatus(int state);
/**
* Assigns a {@link OnMiniControllerChangedListener} listener to be notified of the changes in
* the mini controller
*/
public void setOnVideoCastControllerChangedListener(OnVideoCastControllerListener listener);
/**
* Sets the type of stream. <code>streamType</code> can be MediaInfo.STREAM_TYPE_LIVE or
* MediaInfo.STREAM_TYPE_BUFFERED
*/
public void setStreamType(int streamType);
public void updateSeekbar(int position, int duration);
public void updateControllersStatus(boolean enabled);
public void showLoading(boolean visible);
public void closeActivity();
public void adjustControllersForLiveStream(boolean isLive);
}