Merge "Update MediaControlView2Impl"

gugelfrei
TreeHugger Robot 7 years ago committed by Android (Google) Code Review
commit ab0486cbc9

@ -49,10 +49,6 @@ public class MediaControlView2Impl implements MediaControlView2Provider {
private final MediaControlView2 mInstance;
private final ViewProvider mSuperProvider;
static final String COMMAND_SHOW_SUBTITLE = "showSubtitle";
static final String COMMAND_HIDE_SUBTITLE = "hideSubtitle";
static final String COMMAND_SET_FULLSCREEN = "setFullscreen";
static final String ARGUMENT_KEY_FULLSCREEN = "fullScreen";
static final String KEY_STATE_CONTAINS_SUBTITLE = "StateContainsSubtitle";
@ -85,7 +81,6 @@ public class MediaControlView2Impl implements MediaControlView2Provider {
private boolean mSubtitleIsEnabled;
private boolean mContainsSubtitle;
private boolean mSeekAvailable;
private View.OnClickListener mNextListener, mPrevListener;
private ImageButton mPlayPauseButton;
private ImageButton mFfwdButton;
private ImageButton mRewButton;
@ -144,7 +139,7 @@ public class MediaControlView2Impl implements MediaControlView2Provider {
}
@Override
public void show_impl(int timeout) {
public void show_impl(long timeout) {
if (!mShowing) {
setProgress();
if (mPlayPauseButton != null) {
@ -186,92 +181,65 @@ public class MediaControlView2Impl implements MediaControlView2Provider {
}
@Override
public void showSubtitle_impl() {
mController.sendCommand(COMMAND_SHOW_SUBTITLE, null, null);
}
@Override
public void hideSubtitle_impl() {
mController.sendCommand(COMMAND_HIDE_SUBTITLE, null, null);
}
@Override
public void setPrevNextListeners_impl(View.OnClickListener next, View.OnClickListener prev) {
mNextListener = next;
mPrevListener = prev;
if (mNextButton != null) {
mNextButton.setOnClickListener(mNextListener);
mNextButton.setEnabled(mNextListener != null);
mNextButton.setVisibility(View.VISIBLE);
}
if (mPrevButton != null) {
mPrevButton.setOnClickListener(mPrevListener);
mPrevButton.setEnabled(mPrevListener != null);
mPrevButton.setVisibility(View.VISIBLE);
}
}
@Override
public void setButtonVisibility_impl(int button, boolean visible) {
public void setButtonVisibility_impl(int button, int visibility) {
switch (button) {
case MediaControlView2.BUTTON_PLAY_PAUSE:
if (mPlayPauseButton != null && canPause()) {
mPlayPauseButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mPlayPauseButton.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_FFWD:
if (mFfwdButton != null && canSeekForward()) {
mFfwdButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mFfwdButton.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_REW:
if (mRewButton != null && canSeekBackward()) {
mRewButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mRewButton.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_NEXT:
// TODO: this button is not visible unless its listener is manually set. Should this
// function still be provided?
if (mNextButton != null) {
mNextButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mNextButton.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_PREV:
// TODO: this button is not visible unless its listener is manually set. Should this
// function still be provided?
if (mPrevButton != null) {
mPrevButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mPrevButton.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_SUBTITLE:
if (mSubtitleButton != null && mContainsSubtitle) {
mSubtitleButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mSubtitleButton.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_FULL_SCREEN:
if (mFullScreenButton != null) {
mFullScreenButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mFullScreenButton.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_OVERFLOW:
if (mOverflowButtonRight != null) {
mOverflowButtonRight.setVisibility((visible) ? View.VISIBLE : View.GONE);
mOverflowButtonRight.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_MUTE:
if (mMuteButton != null) {
mMuteButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mMuteButton.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_ASPECT_RATIO:
if (mAspectRationButton != null) {
mAspectRationButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mAspectRationButton.setVisibility(visibility);
}
break;
case MediaControlView2.BUTTON_SETTINGS:
if (mSettingsButton != null) {
mSettingsButton.setVisibility((visible) ? View.VISIBLE : View.GONE);
mSettingsButton.setVisibility(visibility);
}
break;
default:
@ -426,11 +394,11 @@ public class MediaControlView2Impl implements MediaControlView2Provider {
}
mNextButton = v.findViewById(R.id.next);
if (mNextButton != null) {
mNextButton.setVisibility(View.GONE);
mNextButton.setOnClickListener(mNextListener);
}
mPrevButton = v.findViewById(R.id.prev);
if (mPrevButton != null) {
mPrevButton.setVisibility(View.GONE);
mPrevButton.setOnClickListener(mPrevListener);
}
mBasicControls = v.findViewById(R.id.basic_controls);
@ -693,6 +661,22 @@ public class MediaControlView2Impl implements MediaControlView2Provider {
}
};
private final View.OnClickListener mNextListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
mControls.skipToNext();
mInstance.show(DEFAULT_TIMEOUT_MS);
}
};
private final View.OnClickListener mPrevListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
mControls.skipToPrevious();
mInstance.show(DEFAULT_TIMEOUT_MS);
}
};
private final View.OnClickListener mSubtitleListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
@ -700,13 +684,13 @@ public class MediaControlView2Impl implements MediaControlView2Provider {
mSubtitleButton.setImageDrawable(
ApiHelper.getLibResources().getDrawable(
R.drawable.ic_media_subtitle_enabled, null));
mInstance.showSubtitle();
mController.sendCommand(MediaControlView2.COMMAND_SHOW_SUBTITLE, null, null);
mSubtitleIsEnabled = true;
} else {
mSubtitleButton.setImageDrawable(
ApiHelper.getLibResources().getDrawable(
R.drawable.ic_media_subtitle_disabled, null));
mInstance.hideSubtitle();
mController.sendCommand(MediaControlView2.COMMAND_HIDE_SUBTITLE, null, null);
mSubtitleIsEnabled = false;
}
mInstance.show(DEFAULT_TIMEOUT_MS);
@ -728,7 +712,7 @@ public class MediaControlView2Impl implements MediaControlView2Provider {
}
Bundle args = new Bundle();
args.putBoolean(ARGUMENT_KEY_FULLSCREEN, isEnteringFullScreen);
mController.sendCommand(COMMAND_SET_FULLSCREEN, args, null);
mController.sendCommand(MediaControlView2.COMMAND_SET_FULLSCREEN, args, null);
mIsFullScreen = isEnteringFullScreen;
mInstance.show(DEFAULT_TIMEOUT_MS);

@ -897,13 +897,13 @@ public class VideoView2Impl implements VideoView2Provider, VideoViewInterface.Su
mRouteSessionCallback.onCommand(command, args, receiver);
} else {
switch (command) {
case MediaControlView2Impl.COMMAND_SHOW_SUBTITLE:
case MediaControlView2.COMMAND_SHOW_SUBTITLE:
mInstance.showSubtitle();
break;
case MediaControlView2Impl.COMMAND_HIDE_SUBTITLE:
case MediaControlView2.COMMAND_HIDE_SUBTITLE:
mInstance.hideSubtitle();
break;
case MediaControlView2Impl.COMMAND_SET_FULLSCREEN:
case MediaControlView2.COMMAND_SET_FULLSCREEN:
if (mOnFullScreenRequestListener != null) {
mOnFullScreenRequestListener.onFullScreenRequest(
mInstance,

Loading…
Cancel
Save