This commit is contained in:
h4h13 2018-08-22 23:24:07 +05:30
parent fbd5e8bb61
commit 3f3818efb7
270 changed files with 7441 additions and 6502 deletions

View file

@ -908,7 +908,7 @@ public class BottomNavigationViewEx extends BottomNavigationView {
}
public void enableShiftingMode(int position, boolean enable) {
getBottomNavigationItemView(position).setShiftingMode(enable);
//getBottomNavigationItemView(position).setShiftingMode(enable);
}
public void setItemBackground(int position, int background) {

View file

@ -0,0 +1,55 @@
package code.name.monkey.retromusic.views;
import android.app.Activity;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.MediaRouteButton;
import android.util.AttributeSet;
import android.view.ContextThemeWrapper;
import code.name.monkey.appthemehelper.util.ATHUtil;
import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.RetroApplication;
import code.name.monkey.retromusic.util.NavigationUtil;
public class CustomMediaRouteButton extends MediaRouteButton {
@Nullable
private Activity activity;
public CustomMediaRouteButton(Context context) {
this(context, null);
}
public CustomMediaRouteButton(Context context, AttributeSet attrs) {
this(context, attrs, R.attr.mediaRouteButtonStyle);
}
public CustomMediaRouteButton(Context context, AttributeSet attrs, int defStyleAttr) {
super(getThemedContext(context), attrs, defStyleAttr);
}
private static Context getThemedContext(Context context) {
return ATHUtil.isWindowBackgroundDark(context) ?
new ContextThemeWrapper(new ContextThemeWrapper(context, R.style.Theme_AppCompat), R.style.Theme_MediaRouter) :
new ContextThemeWrapper(new ContextThemeWrapper(context, R.style.Theme_AppCompat_Light), R.style.Theme_MediaRouter);
}
public void setActivity(@NonNull Activity activity) {
this.activity = activity;
}
@Override
public boolean showDialog() {
if (!RetroApplication.isProVersion()) {
if (activity != null) {
NavigationUtil.goToProVersion((Activity) getContext());
}
return false;
}
return super.showDialog();
}
}

View file

@ -0,0 +1,49 @@
package code.name.monkey.retromusic.views;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.support.annotation.Nullable;
import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.app.MediaRouteActionProvider;
import android.support.v7.app.MediaRouteButton;
import android.support.v7.view.ContextThemeWrapper;
import code.name.monkey.appthemehelper.ThemeStore;
public class ThemeableMediaRouteActionProvider extends MediaRouteActionProvider {
public ThemeableMediaRouteActionProvider(Context context) {
super(context);
}
@Override
public MediaRouteButton onCreateMediaRouteButton() {
MediaRouteButton button = super.onCreateMediaRouteButton();
colorWorkaroundForCastIcon(button);
return button;
}
@Nullable
@Override
public MediaRouteButton getMediaRouteButton() {
MediaRouteButton button = super.getMediaRouteButton();
colorWorkaroundForCastIcon(button);
return button;
}
private void colorWorkaroundForCastIcon(MediaRouteButton button) {
if (button == null) return;
Context castContext = new ContextThemeWrapper(getContext(), android.support.v7.mediarouter.R.style.Theme_MediaRouter);
TypedArray a = castContext.obtainStyledAttributes(null,
android.support.v7.mediarouter.R.styleable.MediaRouteButton, android.support.v7.mediarouter.R.attr.mediaRouteButtonStyle, 0);
Drawable drawable = a.getDrawable(
android.support.v7.mediarouter.R.styleable.MediaRouteButton_externalRouteEnabledDrawable);
a.recycle();
if (drawable != null) {
DrawableCompat.setTint(drawable, ThemeStore.textColorPrimary(getContext()));
drawable.setState(button.getDrawableState());
button.setRemoteIndicatorDrawable(drawable);
}
}
}