Add dropdown menu and switch to background option
@ -23,6 +23,7 @@ import android.app.Activity;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
|
import android.content.res.Configuration;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
@ -33,6 +34,7 @@ import android.support.v7.widget.RecyclerView;
|
|||||||
import android.support.v7.widget.helper.ItemTouchHelper;
|
import android.support.v7.widget.helper.ItemTouchHelper;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.GestureDetector;
|
import android.view.GestureDetector;
|
||||||
|
import android.view.MenuItem;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
@ -58,6 +60,8 @@ import org.schabi.newpipe.util.NavigationHelper;
|
|||||||
import org.schabi.newpipe.util.PermissionHelper;
|
import org.schabi.newpipe.util.PermissionHelper;
|
||||||
import org.schabi.newpipe.util.ThemeHelper;
|
import org.schabi.newpipe.util.ThemeHelper;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static org.schabi.newpipe.util.AnimationUtils.animateView;
|
import static org.schabi.newpipe.util.AnimationUtils.animateView;
|
||||||
@ -150,6 +154,17 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
if (playerImpl != null) playerImpl.destroy();
|
if (playerImpl != null) playerImpl.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onConfigurationChanged(Configuration newConfig) {
|
||||||
|
super.onConfigurationChanged(newConfig);
|
||||||
|
|
||||||
|
if (playerImpl.isSomePopupMenuVisible()) {
|
||||||
|
playerImpl.moreOptionsPopupMenu.dismiss();
|
||||||
|
playerImpl.getQualityPopupMenu().dismiss();
|
||||||
|
playerImpl.getPlaybackSpeedPopupMenu().dismiss();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*//////////////////////////////////////////////////////////////////////////
|
/*//////////////////////////////////////////////////////////////////////////
|
||||||
// Utils
|
// Utils
|
||||||
//////////////////////////////////////////////////////////////////////////*/
|
//////////////////////////////////////////////////////////////////////////*/
|
||||||
@ -222,7 +237,6 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
private ImageButton repeatButton;
|
private ImageButton repeatButton;
|
||||||
private ImageButton shuffleButton;
|
private ImageButton shuffleButton;
|
||||||
|
|
||||||
private ImageButton screenRotationButton;
|
|
||||||
private ImageButton playPauseButton;
|
private ImageButton playPauseButton;
|
||||||
private ImageButton playPreviousButton;
|
private ImageButton playPreviousButton;
|
||||||
private ImageButton playNextButton;
|
private ImageButton playNextButton;
|
||||||
@ -234,6 +248,10 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
|
|
||||||
private boolean queueVisible;
|
private boolean queueVisible;
|
||||||
|
|
||||||
|
private ImageButton moreOptionsButton;
|
||||||
|
public int moreOptionsPopupMenuGroupId = 89;
|
||||||
|
public PopupMenu moreOptionsPopupMenu;
|
||||||
|
|
||||||
VideoPlayerImpl(final Context context) {
|
VideoPlayerImpl(final Context context) {
|
||||||
super("VideoPlayerImpl" + MainVideoPlayer.TAG, context);
|
super("VideoPlayerImpl" + MainVideoPlayer.TAG, context);
|
||||||
}
|
}
|
||||||
@ -249,10 +267,12 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
this.repeatButton = rootView.findViewById(R.id.repeatButton);
|
this.repeatButton = rootView.findViewById(R.id.repeatButton);
|
||||||
this.shuffleButton = rootView.findViewById(R.id.shuffleButton);
|
this.shuffleButton = rootView.findViewById(R.id.shuffleButton);
|
||||||
|
|
||||||
this.screenRotationButton = rootView.findViewById(R.id.screenRotationButton);
|
|
||||||
this.playPauseButton = rootView.findViewById(R.id.playPauseButton);
|
this.playPauseButton = rootView.findViewById(R.id.playPauseButton);
|
||||||
this.playPreviousButton = rootView.findViewById(R.id.playPreviousButton);
|
this.playPreviousButton = rootView.findViewById(R.id.playPreviousButton);
|
||||||
this.playNextButton = rootView.findViewById(R.id.playNextButton);
|
this.playNextButton = rootView.findViewById(R.id.playNextButton);
|
||||||
|
this.moreOptionsButton = rootView.findViewById(R.id.moreOptionsButton);
|
||||||
|
this.moreOptionsPopupMenu = new PopupMenu(context, moreOptionsButton);
|
||||||
|
this.moreOptionsPopupMenu.getMenuInflater().inflate(R.menu.menu_videooptions, moreOptionsPopupMenu.getMenu());
|
||||||
|
|
||||||
titleTextView.setSelected(true);
|
titleTextView.setSelected(true);
|
||||||
channelTextView.setSelected(true);
|
channelTextView.setSelected(true);
|
||||||
@ -276,7 +296,7 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
playPauseButton.setOnClickListener(this);
|
playPauseButton.setOnClickListener(this);
|
||||||
playPreviousButton.setOnClickListener(this);
|
playPreviousButton.setOnClickListener(this);
|
||||||
playNextButton.setOnClickListener(this);
|
playNextButton.setOnClickListener(this);
|
||||||
screenRotationButton.setOnClickListener(this);
|
moreOptionsButton.setOnClickListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*//////////////////////////////////////////////////////////////////////////
|
/*//////////////////////////////////////////////////////////////////////////
|
||||||
@ -348,6 +368,28 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void onPlayBackgroundButtonClicked() {
|
||||||
|
if (DEBUG) Log.d(TAG, "onPlayBackgroundButtonClicked() called");
|
||||||
|
if (playerImpl.getPlayer() == null) return;
|
||||||
|
|
||||||
|
setRecovery();
|
||||||
|
final Intent intent = NavigationHelper.getPlayerIntent(
|
||||||
|
context,
|
||||||
|
BackgroundPlayer.class,
|
||||||
|
this.getPlayQueue(),
|
||||||
|
this.getRepeatMode(),
|
||||||
|
this.getPlaybackSpeed(),
|
||||||
|
this.getPlaybackPitch(),
|
||||||
|
this.getPlaybackQuality()
|
||||||
|
);
|
||||||
|
context.startService(intent);
|
||||||
|
|
||||||
|
((View) getControlAnimationView().getParent()).setVisibility(View.GONE);
|
||||||
|
destroy();
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
super.onClick(v);
|
super.onClick(v);
|
||||||
@ -360,9 +402,6 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
} else if (v.getId() == playNextButton.getId()) {
|
} else if (v.getId() == playNextButton.getId()) {
|
||||||
onPlayNext();
|
onPlayNext();
|
||||||
|
|
||||||
} else if (v.getId() == screenRotationButton.getId()) {
|
|
||||||
onScreenRotationClicked();
|
|
||||||
|
|
||||||
} else if (v.getId() == queueButton.getId()) {
|
} else if (v.getId() == queueButton.getId()) {
|
||||||
onQueueClicked();
|
onQueueClicked();
|
||||||
return;
|
return;
|
||||||
@ -372,6 +411,8 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
} else if (v.getId() == shuffleButton.getId()) {
|
} else if (v.getId() == shuffleButton.getId()) {
|
||||||
onShuffleClicked();
|
onShuffleClicked();
|
||||||
return;
|
return;
|
||||||
|
} else if (v.getId() == moreOptionsButton.getId()) {
|
||||||
|
onMoreOptionsClicked();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getCurrentState() != STATE_COMPLETED) {
|
if (getCurrentState() != STATE_COMPLETED) {
|
||||||
@ -405,6 +446,32 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
queueVisible = false;
|
queueVisible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void onMoreOptionsClicked() {
|
||||||
|
if (DEBUG) Log.d(TAG, "onMoreOptionsClicked() called");
|
||||||
|
buildMoreOptionsMenu();
|
||||||
|
|
||||||
|
try {
|
||||||
|
Field[] fields = moreOptionsPopupMenu.getClass().getDeclaredFields();
|
||||||
|
for (Field field : fields) {
|
||||||
|
if ("mPopup".equals(field.getName())) {
|
||||||
|
field.setAccessible(true);
|
||||||
|
Object menuPopupHelper = field.get(moreOptionsPopupMenu);
|
||||||
|
Class<?> classPopupHelper = Class.forName(menuPopupHelper
|
||||||
|
.getClass().getName());
|
||||||
|
Method setForceIcons = classPopupHelper.getMethod(
|
||||||
|
"setForceShowIcon", boolean.class);
|
||||||
|
setForceIcons.invoke(menuPopupHelper, true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
moreOptionsPopupMenu.show();
|
||||||
|
isSomePopupMenuVisible = true;
|
||||||
|
showControls(300);
|
||||||
|
}
|
||||||
|
|
||||||
private void onScreenRotationClicked() {
|
private void onScreenRotationClicked() {
|
||||||
if (DEBUG) Log.d(TAG, "onScreenRotationClicked() called");
|
if (DEBUG) Log.d(TAG, "onScreenRotationClicked() called");
|
||||||
toggleOrientation();
|
toggleOrientation();
|
||||||
@ -555,6 +622,27 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
setShuffleButton(shuffleButton, playQueue.isShuffled());
|
setShuffleButton(shuffleButton, playQueue.isShuffled());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void buildMoreOptionsMenu() {
|
||||||
|
if (moreOptionsPopupMenu == null) return;
|
||||||
|
moreOptionsPopupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onMenuItemClick(MenuItem menuItem) {
|
||||||
|
switch (menuItem.getItemId()) {
|
||||||
|
case R.id.toggleOrientation:
|
||||||
|
onScreenRotationClicked();
|
||||||
|
break;
|
||||||
|
case R.id.switchPopup:
|
||||||
|
onFullScreenButtonClicked();
|
||||||
|
break;
|
||||||
|
case R.id.switchBackground:
|
||||||
|
onPlayBackgroundButtonClicked();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
private void buildQueue() {
|
private void buildQueue() {
|
||||||
queueLayout = findViewById(R.id.playQueuePanel);
|
queueLayout = findViewById(R.id.playQueuePanel);
|
||||||
|
|
||||||
@ -785,4 +873,4 @@ public final class MainVideoPlayer extends Activity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -124,12 +124,11 @@ public abstract class VideoPlayer extends BasePlayer implements SimpleExoPlayer.
|
|||||||
|
|
||||||
private View topControlsRoot;
|
private View topControlsRoot;
|
||||||
private TextView qualityTextView;
|
private TextView qualityTextView;
|
||||||
private ImageButton fullScreenButton;
|
|
||||||
|
|
||||||
private ValueAnimator controlViewAnimator;
|
private ValueAnimator controlViewAnimator;
|
||||||
private Handler controlsVisibilityHandler = new Handler();
|
private Handler controlsVisibilityHandler = new Handler();
|
||||||
|
|
||||||
private boolean isSomePopupMenuVisible = false;
|
boolean isSomePopupMenuVisible = false;
|
||||||
private int qualityPopupMenuGroupId = 69;
|
private int qualityPopupMenuGroupId = 69;
|
||||||
private PopupMenu qualityPopupMenu;
|
private PopupMenu qualityPopupMenu;
|
||||||
|
|
||||||
@ -166,7 +165,6 @@ public abstract class VideoPlayer extends BasePlayer implements SimpleExoPlayer.
|
|||||||
this.bottomControlsRoot = rootView.findViewById(R.id.bottomControls);
|
this.bottomControlsRoot = rootView.findViewById(R.id.bottomControls);
|
||||||
this.topControlsRoot = rootView.findViewById(R.id.topControls);
|
this.topControlsRoot = rootView.findViewById(R.id.topControls);
|
||||||
this.qualityTextView = rootView.findViewById(R.id.qualityTextView);
|
this.qualityTextView = rootView.findViewById(R.id.qualityTextView);
|
||||||
this.fullScreenButton = rootView.findViewById(R.id.fullScreenButton);
|
|
||||||
|
|
||||||
//this.aspectRatioFrameLayout.setAspectRatio(16.0f / 9.0f);
|
//this.aspectRatioFrameLayout.setAspectRatio(16.0f / 9.0f);
|
||||||
|
|
||||||
@ -186,7 +184,6 @@ public abstract class VideoPlayer extends BasePlayer implements SimpleExoPlayer.
|
|||||||
super.initListeners();
|
super.initListeners();
|
||||||
playbackSeekBar.setOnSeekBarChangeListener(this);
|
playbackSeekBar.setOnSeekBarChangeListener(this);
|
||||||
playbackSpeedTextView.setOnClickListener(this);
|
playbackSpeedTextView.setOnClickListener(this);
|
||||||
fullScreenButton.setOnClickListener(this);
|
|
||||||
qualityTextView.setOnClickListener(this);
|
qualityTextView.setOnClickListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -453,9 +450,7 @@ public abstract class VideoPlayer extends BasePlayer implements SimpleExoPlayer.
|
|||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
if (DEBUG) Log.d(TAG, "onClick() called with: v = [" + v + "]");
|
if (DEBUG) Log.d(TAG, "onClick() called with: v = [" + v + "]");
|
||||||
if (v.getId() == fullScreenButton.getId()) {
|
if (v.getId() == qualityTextView.getId()) {
|
||||||
onFullScreenButtonClicked();
|
|
||||||
} else if (v.getId() == qualityTextView.getId()) {
|
|
||||||
onQualitySelectorClicked();
|
onQualitySelectorClicked();
|
||||||
} else if (v.getId() == playbackSpeedTextView.getId()) {
|
} else if (v.getId() == playbackSpeedTextView.getId()) {
|
||||||
onPlaybackSpeedClicked();
|
onPlaybackSpeedClicked();
|
||||||
@ -753,14 +748,14 @@ public abstract class VideoPlayer extends BasePlayer implements SimpleExoPlayer.
|
|||||||
return qualityTextView;
|
return qualityTextView;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ImageButton getFullScreenButton() {
|
|
||||||
return fullScreenButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
public PopupMenu getQualityPopupMenu() {
|
public PopupMenu getQualityPopupMenu() {
|
||||||
return qualityPopupMenu;
|
return qualityPopupMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PopupMenu getPlaybackSpeedPopupMenu() {
|
||||||
|
return playbackSpeedPopupMenu;
|
||||||
|
}
|
||||||
|
|
||||||
public View getSurfaceForeground() {
|
public View getSurfaceForeground() {
|
||||||
return surfaceForeground;
|
return surfaceForeground;
|
||||||
}
|
}
|
||||||
|
BIN
app/src/main/res/drawable-hdpi/ic_more_vert_black_24dp.png
Normal file
After Width: | Height: | Size: 132 B |
BIN
app/src/main/res/drawable-hdpi/ic_more_vert_white_24dp.png
Normal file
After Width: | Height: | Size: 134 B |
BIN
app/src/main/res/drawable-mdpi/ic_more_vert_black_24dp.png
Normal file
After Width: | Height: | Size: 108 B |
BIN
app/src/main/res/drawable-mdpi/ic_more_vert_white_24dp.png
Normal file
After Width: | Height: | Size: 112 B |
BIN
app/src/main/res/drawable-xhdpi/ic_more_vert_black_24dp.png
Normal file
After Width: | Height: | Size: 155 B |
BIN
app/src/main/res/drawable-xhdpi/ic_more_vert_white_24dp.png
Normal file
After Width: | Height: | Size: 158 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_more_vert_black_24dp.png
Normal file
After Width: | Height: | Size: 205 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_more_vert_white_24dp.png
Normal file
After Width: | Height: | Size: 216 B |
BIN
app/src/main/res/drawable-xxxhdpi/ic_more_vert_black_24dp.png
Normal file
After Width: | Height: | Size: 272 B |
BIN
app/src/main/res/drawable-xxxhdpi/ic_more_vert_white_24dp.png
Normal file
After Width: | Height: | Size: 305 B |
@ -209,7 +209,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginRight="2dp"
|
android:layout_marginRight="2dp"
|
||||||
android:layout_toLeftOf="@+id/screenRotationButton"
|
android:layout_toLeftOf="@+id/queueButton"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:minHeight="35dp"
|
android:minHeight="35dp"
|
||||||
android:minWidth="40dp"
|
android:minWidth="40dp"
|
||||||
@ -218,28 +218,13 @@
|
|||||||
tools:ignore="RtlHardcoded,RtlSymmetry"
|
tools:ignore="RtlHardcoded,RtlSymmetry"
|
||||||
tools:text="1x" />
|
tools:text="1x" />
|
||||||
|
|
||||||
<ImageButton
|
|
||||||
android:id="@+id/screenRotationButton"
|
|
||||||
android:layout_width="35dp"
|
|
||||||
android:layout_height="35dp"
|
|
||||||
android:layout_marginLeft="2dp"
|
|
||||||
android:layout_marginRight="2dp"
|
|
||||||
android:layout_toLeftOf="@+id/queueButton"
|
|
||||||
android:background="#00ffffff"
|
|
||||||
android:clickable="true"
|
|
||||||
android:focusable="true"
|
|
||||||
android:padding="8dp"
|
|
||||||
android:scaleType="fitXY"
|
|
||||||
android:src="@drawable/ic_screen_rotation_white"
|
|
||||||
tools:ignore="ContentDescription,RtlHardcoded"/>
|
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/queueButton"
|
android:id="@+id/queueButton"
|
||||||
android:layout_width="30dp"
|
android:layout_width="30dp"
|
||||||
android:layout_height="35dp"
|
android:layout_height="35dp"
|
||||||
android:layout_marginLeft="2dp"
|
android:layout_marginLeft="2dp"
|
||||||
android:layout_marginRight="2dp"
|
android:layout_marginRight="2dp"
|
||||||
android:layout_toLeftOf="@+id/fullScreenButton"
|
android:layout_toLeftOf="@+id/moreOptionsButton"
|
||||||
android:background="#00ffffff"
|
android:background="#00ffffff"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
@ -249,16 +234,17 @@
|
|||||||
tools:ignore="ContentDescription,RtlHardcoded"/>
|
tools:ignore="ContentDescription,RtlHardcoded"/>
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/fullScreenButton"
|
android:id="@+id/moreOptionsButton"
|
||||||
android:layout_width="35dp"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="35dp"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentRight="true"
|
android:layout_alignParentRight="true"
|
||||||
android:layout_marginLeft="4dp"
|
android:layout_marginLeft="2dp"
|
||||||
|
android:padding="5dp"
|
||||||
android:background="#00ffffff"
|
android:background="#00ffffff"
|
||||||
android:clickable="true"
|
android:clickable="true"
|
||||||
android:focusable="true"
|
android:focusable="true"
|
||||||
android:scaleType="fitXY"
|
android:scaleType="fitXY"
|
||||||
android:src="@drawable/ic_fullscreen_exit_white"
|
android:src="?attr/options"
|
||||||
tools:ignore="ContentDescription,RtlHardcoded"/>
|
tools:ignore="ContentDescription,RtlHardcoded"/>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
@ -454,4 +440,4 @@
|
|||||||
tools:visibility="visible"/>
|
tools:visibility="visible"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
21
app/src/main/res/menu/menu_videooptions.xml
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<menu
|
||||||
|
android:id="@+id/menu_video_options"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
<item
|
||||||
|
android:icon="@drawable/ic_screen_rotation_white"
|
||||||
|
android:id="@+id/toggleOrientation"
|
||||||
|
android:title="Toggle orientation"
|
||||||
|
app:showAsAction="always|withText" />
|
||||||
|
<item
|
||||||
|
android:icon="@drawable/ic_fullscreen_exit_white"
|
||||||
|
android:id="@+id/switchPopup"
|
||||||
|
android:title="Switch to popup"
|
||||||
|
app:showAsAction="always|withText" />
|
||||||
|
<item android:icon="?audio"
|
||||||
|
android:id="@+id/switchBackground"
|
||||||
|
android:title="Switch to background"
|
||||||
|
app:showAsAction="always|withText" />
|
||||||
|
</menu>
|
||||||
|
|
@ -20,6 +20,7 @@
|
|||||||
<attr name="history" format="reference"/>
|
<attr name="history" format="reference"/>
|
||||||
<attr name="drag_handle" format="reference"/>
|
<attr name="drag_handle" format="reference"/>
|
||||||
<attr name="selected" format="reference"/>
|
<attr name="selected" format="reference"/>
|
||||||
|
<attr name="options" format="reference"/>
|
||||||
|
|
||||||
<!-- Can't refer to colors directly into drawable's xml-->
|
<!-- Can't refer to colors directly into drawable's xml-->
|
||||||
<attr name="toolbar_shadow_drawable" format="reference"/>
|
<attr name="toolbar_shadow_drawable" format="reference"/>
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
<item name="history">@drawable/ic_history_black_24dp</item>
|
<item name="history">@drawable/ic_history_black_24dp</item>
|
||||||
<item name="drag_handle">@drawable/ic_drag_handle_black_24dp</item>
|
<item name="drag_handle">@drawable/ic_drag_handle_black_24dp</item>
|
||||||
<item name="selected">@drawable/ic_fiber_manual_record_black_24dp</item>
|
<item name="selected">@drawable/ic_fiber_manual_record_black_24dp</item>
|
||||||
|
<item name="options">@drawable/ic_more_vert_black_24dp</item>
|
||||||
|
|
||||||
<item name="separator_color">@color/light_separator_color</item>
|
<item name="separator_color">@color/light_separator_color</item>
|
||||||
<item name="contrast_background_color">@color/light_contrast_background_color</item>
|
<item name="contrast_background_color">@color/light_contrast_background_color</item>
|
||||||
@ -65,6 +66,7 @@
|
|||||||
<item name="history">@drawable/ic_history_white_24dp</item>
|
<item name="history">@drawable/ic_history_white_24dp</item>
|
||||||
<item name="drag_handle">@drawable/ic_drag_handle_white_24dp</item>
|
<item name="drag_handle">@drawable/ic_drag_handle_white_24dp</item>
|
||||||
<item name="selected">@drawable/ic_fiber_manual_record_white_24dp</item>
|
<item name="selected">@drawable/ic_fiber_manual_record_white_24dp</item>
|
||||||
|
<item name="options">@drawable/ic_more_vert_white_24dp</item>
|
||||||
|
|
||||||
<item name="separator_color">@color/dark_separator_color</item>
|
<item name="separator_color">@color/dark_separator_color</item>
|
||||||
<item name="contrast_background_color">@color/dark_contrast_background_color</item>
|
<item name="contrast_background_color">@color/dark_contrast_background_color</item>
|
||||||
|