ui tweaks: upd2

This commit is contained in:
Yuriy Liskov
2020-09-27 18:36:05 +03:00
parent 8edd4e8c13
commit fb9dbac547
5 changed files with 77 additions and 7 deletions

View File

@@ -9,8 +9,10 @@ import androidx.leanback.widget.Action;
import androidx.leanback.widget.ArrayObjectAdapter;
import androidx.leanback.widget.ObjectAdapter;
import androidx.leanback.widget.PlaybackControlsRow;
import androidx.leanback.widget.PlaybackControlsRow.ThumbsAction;
import com.liskovsoft.smartyoutubetv2.tv.ui.mod.leanback.playerglue.FixedVideoPlayerGlue;
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.actions.ThumbsAction;
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.actions.ThumbsDownAction;
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.actions.ThumbsUpAction;
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.actions.VideoStatsAction;
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.actions.ChannelAction;
import com.liskovsoft.smartyoutubetv2.tv.ui.playback.actions.ClosedCaptioningAction;
@@ -77,8 +79,8 @@ public class VideoPlayerGlue extends FixedVideoPlayerGlue<PlayerAdapter> {
private final OnActionClickedListener mActionListener;
private final PlaybackControlsRow.ThumbsUpAction mThumbsUpAction;
private final PlaybackControlsRow.ThumbsDownAction mThumbsDownAction;
private final ThumbsUpAction mThumbsUpAction;
private final ThumbsDownAction mThumbsDownAction;
private final PlaybackControlsRow.SkipPreviousAction mSkipPreviousAction;
private final PlaybackControlsRow.SkipNextAction mSkipNextAction;
private final PlaybackControlsRow.FastForwardAction mFastForwardAction;
@@ -104,10 +106,10 @@ public class VideoPlayerGlue extends FixedVideoPlayerGlue<PlayerAdapter> {
mFastForwardAction = new PlaybackControlsRow.FastForwardAction(context);
mRewindAction = new PlaybackControlsRow.RewindAction(context);
mThumbsUpAction = new PlaybackControlsRow.ThumbsUpAction(context);
mThumbsUpAction.setIndex(PlaybackControlsRow.ThumbsUpAction.INDEX_OUTLINE);
mThumbsDownAction = new PlaybackControlsRow.ThumbsDownAction(context);
mThumbsDownAction.setIndex(PlaybackControlsRow.ThumbsDownAction.INDEX_OUTLINE);
mThumbsUpAction = new ThumbsUpAction(context);
mThumbsUpAction.setIndex(ThumbsAction.INDEX_OUTLINE);
mThumbsDownAction = new ThumbsDownAction(context);
mThumbsDownAction.setIndex(ThumbsAction.INDEX_OUTLINE);
mRepeatAction = new RepeatAction(context);
mHighQualityAction = new HighQualityAction(context);
mClosedCaptioningAction = new ClosedCaptioningAction(context);

View File

@@ -0,0 +1,46 @@
package com.liskovsoft.smartyoutubetv2.tv.ui.playback.actions;
import android.content.Context;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import androidx.core.content.ContextCompat;
import androidx.leanback.widget.PlaybackControlsRow.MultiAction;
public abstract class ThumbsAction extends MultiAction {
/**
* Action index for the solid thumb icon.
*/
public static final int INDEX_SOLID = 0;
/**
* Action index for the outline thumb icon.
*/
public static final int INDEX_OUTLINE = 1;
public ThumbsAction(int id, Context context, int solidIconResId, int outlineIconResId) {
this(id, context, solidIconResId, outlineIconResId, ActionHelpers.getIconHighlightColor(context));
}
/**
* Constructor
* @param context Context used for loading resources.
*/
public ThumbsAction(int id, Context context, int solidIconResId, int outlineIconResId, int highlightColor) {
super(id);
Drawable[] drawables = new Drawable[2];
BitmapDrawable solidDrawable = (BitmapDrawable) ContextCompat.getDrawable(context, solidIconResId);
BitmapDrawable outlineDrawable = (BitmapDrawable) ContextCompat.getDrawable(context, outlineIconResId);
drawables[INDEX_SOLID] = solidDrawable == null ? null
: new BitmapDrawable(context.getResources(),
ActionHelpers.createBitmap(solidDrawable.getBitmap(), highlightColor));
drawables[INDEX_OUTLINE] = solidDrawable;
setDrawables(drawables);
//String[] labels = new String[drawables.length];
//// Note, labels denote the action taken when clicked
//labels[INDEX_OUTLINE] = context.getString(R.string.action_thumbs_off);
//labels[INDEX_SOLID] = context.getString(R.string.action_thumbs_on);
//setLabels(labels);
}
}

View File

@@ -0,0 +1,10 @@
package com.liskovsoft.smartyoutubetv2.tv.ui.playback.actions;
import android.content.Context;
import com.liskovsoft.smartyoutubetv2.tv.R;
public class ThumbsDownAction extends ThumbsAction {
public ThumbsDownAction(Context context) {
super(R.id.action_thumbs_down, context, R.drawable.lb_ic_thumb_down, R.drawable.lb_ic_thumb_down_outline);
}
}

View File

@@ -0,0 +1,10 @@
package com.liskovsoft.smartyoutubetv2.tv.ui.playback.actions;
import android.content.Context;
import com.liskovsoft.smartyoutubetv2.tv.R;
public class ThumbsUpAction extends ThumbsAction {
public ThumbsUpAction(Context context) {
super(R.id.action_thumbs_up, context, R.drawable.lb_ic_thumb_up, R.drawable.lb_ic_thumb_up_outline);
}
}

View File

@@ -1,5 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="action_thumbs_up" type="id"/>
<item name="action_thumbs_down" type="id"/>
<item name="action_subscribe" type="id"/>
<item name="action_channel" type="id"/>
<item name="action_playlist_add" type="id"/>