mirror of
https://github.com/yuliskov/SmartTube.git
synced 2026-01-24 23:50:54 -06:00
like button upd
This commit is contained in:
Submodule MediaServiceCore updated: f70123698a...e0e4f5b244
@@ -107,9 +107,11 @@ public class VideoPlayerGlue extends FixedVideoPlayerGlue<PlayerAdapter> {
|
||||
mRewindAction = new PlaybackControlsRow.RewindAction(context);
|
||||
|
||||
mThumbsUpAction = new ThumbsUpAction(context);
|
||||
mThumbsUpAction.setIndex(ThumbsAction.INDEX_OUTLINE);
|
||||
mThumbsUpAction.setIndex(ThumbsAction.INDEX_OFF);
|
||||
mThumbsDownAction = new ThumbsDownAction(context);
|
||||
mThumbsDownAction.setIndex(ThumbsAction.INDEX_OUTLINE);
|
||||
mThumbsDownAction.setIndex(ThumbsAction.INDEX_OFF);
|
||||
mThumbsUpAction.setBoundAction(mThumbsDownAction);
|
||||
mThumbsDownAction.setBoundAction(mThumbsUpAction);
|
||||
mRepeatAction = new RepeatAction(context);
|
||||
mHighQualityAction = new HighQualityAction(context);
|
||||
mClosedCaptioningAction = new ClosedCaptioningAction(context);
|
||||
@@ -206,12 +208,14 @@ public class VideoPlayerGlue extends FixedVideoPlayerGlue<PlayerAdapter> {
|
||||
}
|
||||
|
||||
public void setThumbsUpActionState(boolean thumbsUp) {
|
||||
mThumbsUpAction.setIndex(thumbsUp ? ThumbsAction.INDEX_SOLID : ThumbsAction.INDEX_OUTLINE);
|
||||
mThumbsUpAction.setIndex(thumbsUp ? ThumbsAction.INDEX_ON : ThumbsAction.INDEX_OFF);
|
||||
|
||||
invalidateUi(mThumbsUpAction);
|
||||
}
|
||||
|
||||
public void setThumbsDownActionState(boolean thumbsDown) {
|
||||
mThumbsDownAction.setIndex(thumbsDown ? ThumbsAction.INDEX_SOLID : ThumbsAction.INDEX_OUTLINE);
|
||||
mThumbsDownAction.setIndex(thumbsDown ? ThumbsAction.INDEX_ON : ThumbsAction.INDEX_OFF);
|
||||
|
||||
invalidateUi(mThumbsDownAction);
|
||||
}
|
||||
|
||||
@@ -261,11 +265,11 @@ public class VideoPlayerGlue extends FixedVideoPlayerGlue<PlayerAdapter> {
|
||||
handled = true;
|
||||
} else if (action == mThumbsDownAction) {
|
||||
incrementActionIndex(action);
|
||||
mActionListener.onThumbsDown(getActionIndex(action) == ThumbsAction.INDEX_SOLID);
|
||||
mActionListener.onThumbsDown(getActionIndex(action) == ThumbsAction.INDEX_ON);
|
||||
handled = true;
|
||||
} else if (action == mThumbsUpAction) {
|
||||
incrementActionIndex(action);
|
||||
mActionListener.onThumbsUp(getActionIndex(action) == ThumbsAction.INDEX_SOLID);
|
||||
mActionListener.onThumbsUp(getActionIndex(action) == ThumbsAction.INDEX_ON);
|
||||
handled = true;
|
||||
} else if (action == mChannelAction) {
|
||||
mActionListener.onChannel();
|
||||
@@ -283,6 +287,10 @@ public class VideoPlayerGlue extends FixedVideoPlayerGlue<PlayerAdapter> {
|
||||
|
||||
if (handled) {
|
||||
invalidateUi(action);
|
||||
|
||||
if (action instanceof ThumbsAction) {
|
||||
invalidateUi(((ThumbsAction) action).getBoundAction());
|
||||
}
|
||||
}
|
||||
|
||||
return handled;
|
||||
|
||||
@@ -10,12 +10,14 @@ public abstract class ThumbsAction extends MultiAction {
|
||||
/**
|
||||
* Action index for the solid thumb icon.
|
||||
*/
|
||||
public static final int INDEX_SOLID = 0;
|
||||
public static final int INDEX_ON = 0;
|
||||
|
||||
/**
|
||||
* Action index for the outline thumb icon.
|
||||
*/
|
||||
public static final int INDEX_OUTLINE = 1;
|
||||
public static final int INDEX_OFF = 1;
|
||||
|
||||
private ThumbsAction mBoundAction;
|
||||
|
||||
public ThumbsAction(int id, Context context, int solidIconResId, int outlineIconResId) {
|
||||
this(id, context, solidIconResId, outlineIconResId, ActionHelpers.getIconHighlightColor(context));
|
||||
@@ -31,10 +33,10 @@ public abstract class ThumbsAction extends MultiAction {
|
||||
|
||||
BitmapDrawable solidDrawable = (BitmapDrawable) ContextCompat.getDrawable(context, solidIconResId);
|
||||
BitmapDrawable outlineDrawable = (BitmapDrawable) ContextCompat.getDrawable(context, outlineIconResId);
|
||||
drawables[INDEX_SOLID] = solidDrawable == null ? null
|
||||
drawables[INDEX_ON] = solidDrawable == null ? null
|
||||
: new BitmapDrawable(context.getResources(),
|
||||
ActionHelpers.createBitmap(solidDrawable.getBitmap(), highlightColor));
|
||||
drawables[INDEX_OUTLINE] = solidDrawable;
|
||||
drawables[INDEX_OFF] = solidDrawable;
|
||||
setDrawables(drawables);
|
||||
|
||||
//String[] labels = new String[drawables.length];
|
||||
@@ -43,4 +45,21 @@ public abstract class ThumbsAction extends MultiAction {
|
||||
//labels[INDEX_SOLID] = context.getString(R.string.action_thumbs_on);
|
||||
//setLabels(labels);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setIndex(int index) {
|
||||
super.setIndex(index);
|
||||
|
||||
if (index == INDEX_ON && mBoundAction != null) {
|
||||
mBoundAction.setIndex(INDEX_OFF);
|
||||
}
|
||||
}
|
||||
|
||||
public ThumbsAction getBoundAction() {
|
||||
return mBoundAction;
|
||||
}
|
||||
|
||||
public void setBoundAction(ThumbsAction boundAction) {
|
||||
mBoundAction = boundAction;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user