This commit is contained in:
h4h13 2018-11-28 11:07:10 +05:30
parent b70c66abeb
commit 6001b21c42
72 changed files with 1809 additions and 1420 deletions

View file

@ -11,7 +11,7 @@ android {
vectorDrawables.useSupportLibrary = true
applicationId "code.name.monkey.retromusic"
versionCode 253
versionCode 255
versionName '2.2.100'
multiDexEnabled true

View file

@ -1 +1 @@
<html> <head> <style type="text/css"> * { word-wrap: break-word; } {style-placeholder} a { color: #{link-color}; } a:active { color: #{link-color-active}; } ul { list-style-position: outside; padding-left: 0; padding-right: 0; margin-left: 1em; } li { padding-top: 8px; } </style> </head> <body> <h1 style="text-align:center;">Are you subscribed to <a href="https://www.youtube.com/user/PewDiePie">PewDiePie</a></h1> <p style="line-height:150%">You can view the changelog dialog again at any time from the <i>about</i> section.</p> <h3>Version 2.2.100</h3> <ul style="line-height:150%"> <li>On library click on toolbar for accessing main menu </li> <li>On home click on toolbar for accessing search </li> <li>BottomSheetDialogue is now adaptable to screens, background colour and text size consistency. </li> <li>Removed coloured navigation bar option to making app adapt the primary colour</li> <li>Swipe up gesture for now playing removed, replaced with "tap to open", To achieve transparent navigation bar for desired themes. </li> <li>Improved tablet UI and home screen by adding suggestions toggle banner issues.</li> <li>Improving lyrics page</li> </ul> <p style="line-height:150%"><a href="https://github.com/h4h13/RetroMusicPlayer/wiki/FAQ">FAQ's</a> </p> <p style="line-height:150%">*If you face any UI related issues you clear app data and cache, if its not working try to uninstall and install again. </p> </body>
<html> <head> <style type="text/css"> * { word-wrap: break-word; } {style-placeholder} a { color: #{link-color}; } a:active { color: #{link-color-active}; } ul { list-style-position: outside; padding-left: 0; padding-right: 0; margin-left: 1em; } li { padding-top: 8px; } </style> </head> <body> <h1 style="text-align:center;">Are you subscribed to <a href="https://www.youtube.com/user/PewDiePie">PewDiePie</a></h1> <p style="line-height:150%">You can view the changelog dialog again at any time from the <i>about</i> section.</p> <h3>Version 2.2.100</h3> <ul style="line-height:150%"> <li>Click new music mix to play songs</li> <li>Gradient image option for gird list</li> <li>Clear button for playing queue</li> <li>Click toolbar (Library) to open options</li> <li>Folder list back button</li> <li>New theme Fit</li> <li>On library click on toolbar for accessing main menu </li> <li>On home click on toolbar for accessing search </li> <li>BottomSheetDialogue is now adaptable to screens, background colour and text size consistency. </li> <li>Removed coloured navigation bar option to making app adapt the primary colour</li> <li>Swipe up gesture for now playing removed, replaced with "tap to open", To achieve transparent navigation bar for desired themes. </li> <li>Improved tablet UI and home screen by adding suggestions toggle banner issues.</li> <li>Improving lyrics page</li> </ul> <p style="line-height:150%"><a href="https://github.com/h4h13/RetroMusicPlayer/wiki/FAQ">FAQ's</a> </p> <p style="line-height:150%">*If you face any UI related issues you clear app data and cache, if its not working try to uninstall and install again. </p> </body>

View file

@ -93,7 +93,7 @@ public class LyricsActivity extends AbsMusicServiceActivity implements
setTaskDescriptionColorAuto();
setNavigationbarColorAuto();
fitSystemWindowsLayout.setFit(true);
fitSystemWindowsLayout.setFit(!PreferenceUtil.getInstance().getFullScreenMode());
setSupportActionBar(bottomAppBar);
Objects.requireNonNull(bottomAppBar.getNavigationIcon())

View file

@ -99,7 +99,6 @@ public class MainActivity extends AbsSlidingMusicPanelActivity implements Shared
if (savedInstanceState == null) {
selectedFragment(PreferenceUtil.getInstance().getLastPage());
//setCurrentFragment(new LibraryFragment(), false, LibraryFragment.TAG);
} else {
restoreCurrentFragment();
}

View file

@ -46,6 +46,7 @@ public class NowPayingActivity extends AbsMusicServiceActivity implements AbsPla
@Override
protected void onCreate(Bundle savedInstanceState) {
setLightNavigationBar(true);
setDrawUnderNavigationBar();
setupWindowTransition();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_now_playng);
@ -65,19 +66,30 @@ public class NowPayingActivity extends AbsMusicServiceActivity implements AbsPla
@Override
public void onPaletteColorChanged() {
int paletteColor = playerFragment.getPaletteColor();
boolean isColorLight = ColorUtil.isColorLight(paletteColor);
super.setTaskDescriptionColor(paletteColor);
if ((currentNowPlayingScreen == NowPlayingScreen.FLAT || currentNowPlayingScreen == NowPlayingScreen.NORMAL) && PreferenceUtil.getInstance().getAdaptiveColor()) {
setLightNavigationBar(true);
setLightStatusbar(ColorUtil.isColorLight(paletteColor));
setLightNavigationBar(ColorUtil.isColorLight(ThemeStore.primaryColor(this)));
setLightStatusbar(isColorLight);
} else if (currentNowPlayingScreen == NowPlayingScreen.COLOR) {
setLightStatusbar(ColorUtil.isColorLight(paletteColor));
setLightStatusbar(isColorLight);
setLightNavigationBar(isColorLight);
setNavigationbarColor(paletteColor);
} else if (currentNowPlayingScreen == NowPlayingScreen.BLUR || currentNowPlayingScreen == NowPlayingScreen.BLUR_CARD) {
setLightStatusbar(false);
setLightNavigationBar(false);
} else if (currentNowPlayingScreen == NowPlayingScreen.CARD || currentNowPlayingScreen == NowPlayingScreen.FULL) {
setNavigationbarColor(Color.TRANSPARENT);
setLightStatusbar(false);
setLightNavigationBar(false);
} else if (currentNowPlayingScreen == NowPlayingScreen.FIT) {
setNavigationbarColor(ThemeStore.primaryColor(this));
setLightNavigationBar(ColorUtil.isColorLight(ThemeStore.primaryColor(this)));
setLightStatusbar(false);
} else {
boolean isTheme = isOneOfTheseThemes() && ColorUtil.isColorLight(ThemeStore.primaryColor(this));
setStatusbarColor(Color.TRANSPARENT);
setLightStatusbar(isOneOfTheseThemes() && ColorUtil.isColorLight(ThemeStore.primaryColor(this)));
setNavigationbarColorAuto();
setLightStatusbar(isTheme);
setLightNavigationBar(isTheme);
}
}
@ -155,6 +167,8 @@ public class NowPayingActivity extends AbsMusicServiceActivity implements AbsPla
playerFragment = (AbsPlayerFragment) getSupportFragmentManager()
.findFragmentById(R.id.player_fragment_container);
}
@Override

View file

@ -5,19 +5,28 @@ import android.os.Bundle;
import android.widget.TextView;
import com.google.android.material.appbar.AppBarLayout;
import com.h6ah4i.android.widget.advrecyclerview.animator.GeneralItemAnimator;
import com.h6ah4i.android.widget.advrecyclerview.animator.RefactoredDefaultItemAnimator;
import com.h6ah4i.android.widget.advrecyclerview.draggable.RecyclerViewDragDropManager;
import com.h6ah4i.android.widget.advrecyclerview.utils.WrapperAdapterUtils;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindDrawable;
import butterknife.BindString;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import code.name.monkey.appthemehelper.ThemeStore;
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.helper.MusicPlayerRemote;
import code.name.monkey.retromusic.ui.activities.base.AbsMusicServiceActivity;
import code.name.monkey.retromusic.ui.fragments.PlayingQueueFragment;
import code.name.monkey.retromusic.ui.adapter.song.PlayingQueueAdapter;
import code.name.monkey.retromusic.util.MusicUtil;
import code.name.monkey.retromusic.views.CollapsingFAB;
public class PlayingQueueActivity extends AbsMusicServiceActivity {
@ -40,6 +49,17 @@ public class PlayingQueueActivity extends AbsMusicServiceActivity {
@BindView(R.id.title)
TextView title;
@BindView(R.id.recycler_view)
RecyclerView mRecyclerView;
@BindView(R.id.clear_queue)
CollapsingFAB clearQueue;
private RecyclerView.Adapter mWrappedAdapter;
private RecyclerViewDragDropManager mRecyclerViewDragDropManager;
private PlayingQueueAdapter mPlayingQueueAdapter;
private LinearLayoutManager mLayoutManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -52,11 +72,109 @@ public class PlayingQueueActivity extends AbsMusicServiceActivity {
setLightNavigationBar(true);
setupToolbar();
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, new PlayingQueueFragment())
.commit();
setUpRecyclerView();
}
private void setUpRecyclerView() {
mRecyclerViewDragDropManager = new RecyclerViewDragDropManager();
final GeneralItemAnimator animator = new RefactoredDefaultItemAnimator();
mPlayingQueueAdapter = new PlayingQueueAdapter(
this,
MusicPlayerRemote.getPlayingQueue(),
MusicPlayerRemote.getPosition(),
R.layout.item_queue);
mWrappedAdapter = mRecyclerViewDragDropManager.createWrappedAdapter(mPlayingQueueAdapter);
mLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setAdapter(mWrappedAdapter);
mRecyclerView.setItemAnimator(animator);
mRecyclerViewDragDropManager.attachRecyclerView(mRecyclerView);
mLayoutManager.scrollToPositionWithOffset(MusicPlayerRemote.getPosition() + 1, 0);
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (dy > 0) {
clearQueue.setShowTitle(false);
} else if (dy < 0) {
clearQueue.setShowTitle(true);
}
}
});
}
@Override
public void onQueueChanged() {
if (MusicPlayerRemote.getPlayingQueue().isEmpty()) {
finish();
return;
}
updateQueue();
updateCurrentSong();
}
@Override
public void onMediaStoreChanged() {
updateQueue();
updateCurrentSong();
}
@SuppressWarnings("ConstantConditions")
private void updateCurrentSong() {
}
@Override
public void onPlayingMetaChanged() {
updateQueuePosition();
}
private void updateQueuePosition() {
mPlayingQueueAdapter.setCurrent(MusicPlayerRemote.getPosition());
resetToCurrentPosition();
}
private void updateQueue() {
mPlayingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
resetToCurrentPosition();
}
private void resetToCurrentPosition() {
mRecyclerView.stopScroll();
mLayoutManager.scrollToPositionWithOffset(MusicPlayerRemote.getPosition() + 1, 0);
}
@Override
protected void onPause() {
if (mRecyclerViewDragDropManager != null) {
mRecyclerViewDragDropManager.cancelDrag();
}
super.onPause();
}
@Override
public void onDestroy() {
if (mRecyclerViewDragDropManager != null) {
mRecyclerViewDragDropManager.release();
mRecyclerViewDragDropManager = null;
}
if (mRecyclerView != null) {
mRecyclerView.setItemAnimator(null);
mRecyclerView.setAdapter(null);
mRecyclerView = null;
}
if (mWrappedAdapter != null) {
WrapperAdapterUtils.releaseAll(mWrappedAdapter);
mWrappedAdapter = null;
}
mPlayingQueueAdapter = null;
mLayoutManager = null;
super.onDestroy();
}
protected String getUpNextAndQueueTime() {
@ -75,5 +193,11 @@ public class PlayingQueueActivity extends AbsMusicServiceActivity {
setTitle(null);
toolbar.setNavigationOnClickListener(v -> onBackPressed());
ToolbarContentTintHelper.colorBackButton(toolbar, ThemeStore.accentColor(this));
clearQueue.setColor(ThemeStore.accentColor(this));
}
@OnClick(R.id.clear_queue)
void clearQueue() {
MusicPlayerRemote.clearQueue();
}
}

View file

@ -3,6 +3,7 @@ package code.name.monkey.retromusic.ui.activities;
import android.content.Intent;
import android.content.res.ColorStateList;
import android.graphics.Paint;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
@ -14,6 +15,7 @@ import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
import com.afollestad.materialdialogs.internal.MDTintHelper;
import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.SkuDetails;
@ -57,31 +59,25 @@ import static code.name.monkey.retromusic.Constants.PAYPAL_ME_URL;
public class SupportDevelopmentActivity extends AbsBaseActivity implements BillingProcessor.IBillingHandler {
public static final String TAG = SupportDevelopmentActivity.class.getSimpleName();
private static final int DONATION_PRODUCT_IDS = R.array.donation_ids;
private static final int TEZ_REQUEST_CODE = 123;
private static final String GOOGLE_TEZ_PACKAGE_NAME = "com.google.android.apps.nbu.paisa.user";
@BindView(R.id.progress)
ProgressBar progressBar;
@BindView(R.id.progress_container)
View progressContainer;
@BindView(R.id.list)
RecyclerView recyclerView;
@BindView(R.id.toolbar)
Toolbar toolbar;
@BindView(R.id.app_bar)
AppBarLayout appBarLayout;
@BindView(R.id.root)
ViewGroup viewGroup;
@BindView(R.id.title)
TextView title;
@BindView(R.id.donate)
MaterialButton materialButton;
private BillingProcessor billingProcessor;
private AsyncTask skuDetailsLoadAsyncTask;
@ -192,6 +188,10 @@ public class SupportDevelopmentActivity extends AbsBaseActivity implements Billi
if (!billingProcessor.handleActivityResult(requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
}
if (requestCode == TEZ_REQUEST_CODE) {
// Process based on the data in response.
Log.d("result", data.getStringExtra("Status"));
}
}
@Override
@ -205,6 +205,33 @@ public class SupportDevelopmentActivity extends AbsBaseActivity implements Billi
super.onDestroy();
}
@OnClick(R.id.google_pay)
void googlePay() {
new MaterialDialog.Builder(this)
.title(R.string.support_development)
.input("Enter amount", null, false, (dialog, input) -> {
Uri uri = new Uri.Builder()
.scheme("upi")
.authority("pay")
.appendQueryParameter("pa", "hemanth.vaniraviram@okaxis")
.appendQueryParameter("pn", "Retro Music")
.appendQueryParameter("mc", "1234")
.appendQueryParameter("tr", "7406201323")
.appendQueryParameter("tn", "Retro Music Player Donation")
.appendQueryParameter("am", "10.01")
.appendQueryParameter("cu", "INR")
.build();
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
intent.setPackage(GOOGLE_TEZ_PACKAGE_NAME);
startActivityForResult(intent, TEZ_REQUEST_CODE);
}).positiveText("Donate")
.onPositive((dialog, which) -> {
}).show();
}
private static class SkuDetailsLoadAsyncTask extends AsyncTask<Void, Void, List<SkuDetails>> {
private final WeakReference<SupportDevelopmentActivity> donationDialogWeakReference;

View file

@ -11,7 +11,6 @@ import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.view.WindowManager;
import android.view.animation.PathInterpolator;
import android.widget.FrameLayout;
import com.google.android.gms.cast.framework.CastSession;
import com.google.android.material.bottomnavigation.BottomNavigationView;
@ -21,7 +20,6 @@ import com.sothree.slidinguppanel.SlidingUpPanelLayout.PanelState;
import androidx.annotation.FloatRange;
import androidx.annotation.LayoutRes;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.view.ViewCompat;
import androidx.fragment.app.Fragment;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -45,10 +43,10 @@ import code.name.monkey.retromusic.ui.fragments.player.material.MaterialFragment
import code.name.monkey.retromusic.ui.fragments.player.normal.PlayerFragment;
import code.name.monkey.retromusic.ui.fragments.player.plain.PlainPlayerFragment;
import code.name.monkey.retromusic.ui.fragments.player.simple.SimplePlayerFragment;
import code.name.monkey.retromusic.util.NavigationUtil;
import code.name.monkey.retromusic.util.PreferenceUtil;
import code.name.monkey.retromusic.util.ViewUtil;
import code.name.monkey.retromusic.views.BottomNavigationBarTinted;
import code.name.monkey.retromusic.views.FitSystemWindowsLayout;
public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivity implements
SlidingUpPanelLayout.PanelSlideListener, PlayerFragment.Callbacks {
@ -227,61 +225,6 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
}
protected void applyInsets() {
ViewCompat.setOnApplyWindowInsetsListener(coordinatorLayout, (v, insets) -> {
//Bottom navigation view
ViewGroup.MarginLayoutParams bParams = (ViewGroup.MarginLayoutParams) bottomNavigationView.getLayoutParams();
if (!PreferenceUtil.getInstance().getFullScreenMode())
bParams.bottomMargin = insets.getSystemWindowInsetBottom();
bParams.rightMargin = insets.getSystemWindowInsetRight();
bParams.leftMargin = insets.getSystemWindowInsetLeft();
//For now playing screen
FrameLayout layout = findViewById(R.id.safeArea);
if (layout != null) {
ViewGroup.MarginLayoutParams fParams = (ViewGroup.MarginLayoutParams) layout.getLayoutParams();
if (!PreferenceUtil.getInstance().getFullScreenMode()) {
fParams.topMargin = insets.getSystemWindowInsetTop();
fParams.bottomMargin = insets.getSystemWindowInsetBottom();
}
fParams.leftMargin = insets.getSystemWindowInsetLeft();
fParams.rightMargin = insets.getSystemWindowInsetRight();
}
//Mini player
FitSystemWindowsLayout miniPlayer = (FitSystemWindowsLayout) miniPlayerFragment.getView();
if (miniPlayer != null) {
ViewGroup.MarginLayoutParams mParams = (ViewGroup.MarginLayoutParams) miniPlayer.getLayoutParams();
mParams.bottomMargin = insets.getSystemWindowInsetBottom();//RetroUtil.checkNavigationBarHeight() ? 0 : getResources().getDimensionPixelSize(R.dimen.mini_player_height);
mParams.leftMargin = insets.getSystemWindowInsetLeft();
mParams.rightMargin = insets.getSystemWindowInsetRight();
}
//For Library, Folder, Home etc
ViewGroup viewGroup = findViewById(R.id.content_container);
if (viewGroup != null) {
ViewGroup.MarginLayoutParams mParams = (ViewGroup.MarginLayoutParams) viewGroup.getLayoutParams();
mParams.leftMargin = insets.getSystemWindowInsetLeft();
mParams.rightMargin = insets.getSystemWindowInsetRight();
mParams.bottomMargin = insets.getSystemWindowInsetBottom();
}
FrameLayout frameLayout = findViewById(R.id.sliding_panel);
if (frameLayout != null) {
ViewGroup.MarginLayoutParams mParams = (ViewGroup.MarginLayoutParams) frameLayout.getLayoutParams();
mParams.leftMargin = insets.getSystemWindowInsetLeft();
mParams.rightMargin = insets.getSystemWindowInsetRight();
if (!PreferenceUtil.getInstance().getFullScreenMode()) {
mParams.bottomMargin = insets.getSystemWindowInsetBottom();
}
}
coordinatorLayout.setOnApplyWindowInsetsListener(null);
return insets.consumeSystemWindowInsets();
});
}
public SlidingUpPanelLayout.PanelState getPanelState() {
return slidingUpPanelLayout == null ? null : slidingUpPanelLayout.getPanelState();
}
@ -313,7 +256,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
// restore values
super.setLightStatusbar(lightStatusbar);
super.setTaskDescriptionColor(taskColor);
super.setNavigationbarColor(ThemeStore.primaryColor(this));
super.setNavigationbarColor(navigationbarColor);
super.setLightNavigationBar(lightNavigationBar);
@ -325,12 +268,11 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
public void onPanelExpanded(View panel) {
int playerFragmentColor = playerFragment.getPaletteColor();
super.setTaskDescriptionColor(playerFragmentColor);
super.setLightStatusbar(lightStatusbar);
playerFragment.setMenuVisibility(true);
playerFragment.setUserVisibleHint(true);
playerFragment.onShow();
onPaletteColorChanged();
}
private void setMiniPlayerAlphaProgress(@FloatRange(from = 0, to = 1) float progress) {
@ -395,6 +337,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
//noinspection ConstantConditions
miniPlayerFragment.getView().setOnClickListener(v -> expandPanel());
}
@Override
@ -437,7 +380,8 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
super.setLightStatusbar(false);
super.setLightNavigationBar(ColorUtil.isColorLight(ThemeStore.primaryColor(this)));
} else if (currentNowPlayingScreen == NowPlayingScreen.FIT) {
super.setNavigationbarColor(Color.TRANSPARENT);
super.setNavigationbarColor(ThemeStore.primaryColor(this));
super.setLightNavigationBar(ColorUtil.isColorLight(ThemeStore.primaryColor(this)));
super.setLightStatusbar(false);
} else {
boolean isTheme = isOneOfTheseThemes() && ColorUtil.isColorLight(ThemeStore.primaryColor(this));
@ -476,13 +420,21 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
@Override
public void setNavigationbarColor(int color) {
this.navigationbarColor = color;
if (getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
navigationbarColor = color;
if (getPanelState() == PanelState.COLLAPSED) {
if (navigationBarColorAnimator != null) navigationBarColorAnimator.cancel();
super.setNavigationbarColor(color);
}
}
@Override
public void setTaskDescriptionColor(int color) {
taskColor = color;
if (getPanelState() == PanelState.COLLAPSED) {
super.setTaskDescriptionColor(color);
}
}
private void animateNavigationBarColor(int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (navigationBarColorAnimator != null) navigationBarColorAnimator.cancel();

View file

@ -74,6 +74,7 @@ public class CollageSongAdapter extends RecyclerView.Adapter<CollageSongViewHold
R.id.image_7, R.id.image_8, R.id.image_9})
@Nullable
List<ImageView> imageViews;
@BindView(R.id.image_1)
TextView view;
@ -82,6 +83,9 @@ public class CollageSongAdapter extends RecyclerView.Adapter<CollageSongViewHold
ButterKnife.bind(this, itemView);
Context context = itemView.getContext();
int color = ThemeStore.accentColor(context);
view.setOnClickListener(v -> {
MusicPlayerRemote.openQueue(dataSet, 0, true);
});
view.setBackgroundColor(color);
view.setTextColor(MaterialValueHelper.getPrimaryTextColor(context, ColorUtil.isColorLight(color)));
}

View file

@ -22,12 +22,16 @@ import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.helper.MusicPlayerRemote;
import code.name.monkey.retromusic.ui.adapter.song.PlayingQueueAdapter;
import code.name.monkey.retromusic.ui.fragments.base.AbsMusicServiceFragment;
import code.name.monkey.retromusic.views.CollapsingFAB;
public class PlayingQueueFragment extends AbsMusicServiceFragment {
@BindView(R.id.recycler_view)
RecyclerView mRecyclerView;
Unbinder unbinder;
private RecyclerView.Adapter mWrappedAdapter;
private RecyclerViewDragDropManager mRecyclerViewDragDropManager;
private PlayingQueueAdapter mPlayingQueueAdapter;
@ -66,6 +70,7 @@ public class PlayingQueueFragment extends AbsMusicServiceFragment {
mRecyclerView.setItemAnimator(animator);
mRecyclerViewDragDropManager.attachRecyclerView(mRecyclerView);
mLayoutManager.scrollToPositionWithOffset(MusicPlayerRemote.getPosition() + 1, 0);
}
@Override

View file

@ -34,6 +34,7 @@ import code.name.monkey.retromusic.util.MusicUtil;
import code.name.monkey.retromusic.util.NavigationUtil;
import code.name.monkey.retromusic.util.PreferenceUtil;
import code.name.monkey.retromusic.util.RetroUtil;
import code.name.monkey.retromusic.views.FitSystemWindowsLayout;
public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implements Toolbar.OnMenuItemClickListener, PaletteColorHolder {
public static final String TAG = AbsPlayerFragment.class.getSimpleName();
@ -208,12 +209,20 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.setBackgroundColor(ThemeStore.primaryColor(getActivity()));
if (PreferenceUtil.getInstance().getFullScreenMode()) {
if (view.findViewById(R.id.status_bar) != null)
view.findViewById(R.id.status_bar).setVisibility(View.GONE);
}
}
public void setSafeArea(View safeArea) {
FitSystemWindowsLayout layout = safeArea.findViewById(R.id.safeArea);
if (layout != null) {
layout.setFit(!PreferenceUtil.getInstance().getFullScreenMode());
}
}
public interface Callbacks {
void onPaletteColorChanged();

View file

@ -238,11 +238,11 @@ public class FoldersFragment extends AbsMainActivityFragment implements
int primaryColor = ThemeStore.primaryColor(getContext());
toolbar.setNavigationIcon(R.drawable.ic_menu_white_24dp);
toolbar.setNavigationIcon(R.drawable.ic_keyboard_backspace_black_24dp);
//noinspection ConstantConditions
getActivity().setTitle(null);
getMainActivity().setSupportActionBar(toolbar);
toolbar.setNavigationOnClickListener(v -> showMainMenu());
toolbar.setNavigationOnClickListener(v -> getActivity().onBackPressed());
TintHelper.setTintAuto(container, primaryColor, true);
appbar.setBackgroundColor(primaryColor);
toolbar.setBackgroundColor(primaryColor);

View file

@ -21,7 +21,6 @@ import java.util.Random;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
@ -31,7 +30,6 @@ import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
import code.name.monkey.appthemehelper.ThemeStore;
import code.name.monkey.appthemehelper.util.TintHelper;
import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.helper.MusicPlayerRemote;
import code.name.monkey.retromusic.interfaces.MainActivityFragmentCallbacks;
@ -67,8 +65,6 @@ import static code.name.monkey.retromusic.Constants.USER_PROFILE;
public class BannerHomeFragment extends AbsMainActivityFragment implements MainActivityFragmentCallbacks, HomeContract.HomeView {
public static final String TAG = "BannerHomeFragment";
@BindView(R.id.toolbar)
Toolbar toolbar;
@BindView(R.id.image)
@Nullable
@ -110,6 +106,9 @@ public class BannerHomeFragment extends AbsMainActivityFragment implements MainA
@BindView(R.id.container)
View container;
@BindView(R.id.content_container)
View contentContainer;
@BindView(R.id.suggestion_songs)
RecyclerView suggestionsSongs;
@ -204,9 +203,10 @@ public class BannerHomeFragment extends AbsMainActivityFragment implements MainA
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(PreferenceUtil.getInstance().toggleHomeBanner() ? R.layout.fragment_banner_home : R.layout.fragment_home,
View view = inflater.inflate(PreferenceUtil.getInstance().isHomeBanner() ? R.layout.fragment_banner_home : R.layout.fragment_home,
container, false);
unbinder = ButterKnife.bind(this, view);
if (!PreferenceUtil.getInstance().isHomeBanner())
setStatusbarColorAuto(view);
return view;
}
@ -217,20 +217,18 @@ public class BannerHomeFragment extends AbsMainActivityFragment implements MainA
setupToolbar();
loadImageFromStorage(userImage);
homePresenter.subscribe();
getTimeOfTheDay(PreferenceUtil.getInstance().toggleHomeBanner());
getTimeOfTheDay(PreferenceUtil.getInstance().isHomeBanner());
}
@SuppressWarnings("ConstantConditions")
private void setupToolbar() {
int primaryColor = ThemeStore.primaryColor(getContext());
TintHelper.setTintAuto(container, primaryColor, true);
userImage.setOnClickListener(v -> showMainMenu());
contentContainer.setBackgroundColor(ThemeStore.primaryColor(getMainActivity()));
}
getActivity().setTitle(null);
getMainActivity().setSupportActionBar(toolbar);
toolbar.setNavigationIcon(RetroUtil.getTintedDrawable(getMainActivity(), R.drawable.ic_menu_white_24dp, ThemeStore.textColorPrimary(getMainActivity())));
toolbar.setOnClickListener(v -> NavigationUtil.goToSearch(getMainActivity()));
toolbar.setNavigationOnClickListener(v -> showMainMenu());
@OnClick(R.id.searchIcon)
void search() {
NavigationUtil.goToSearch(getMainActivity());
}
@Override

View file

@ -146,14 +146,12 @@ public class BlurPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
@Override
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
setUpSubFragments();
setUpPlayerToolbar();
}
private void setUpSubFragments() {
playbackControlsFragment = (BlurPlaybackControlsFragment) getChildFragmentManager()
.findFragmentById(R.id.playback_controls_fragment);
playbackControlsFragment = (BlurPlaybackControlsFragment) getChildFragmentManager().findFragmentById(R.id.playback_controls_fragment);
PlayerAlbumCoverFragment playerAlbumCoverFragment =
(PlayerAlbumCoverFragment) getChildFragmentManager()
@ -269,6 +267,5 @@ public class BlurPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
recyclerView.stopScroll();
layoutManager.scrollToPositionWithOffset(MusicPlayerRemote.getPosition() + 1, 0);
}
}
}

View file

@ -135,7 +135,6 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_player, container, false);
unbinder = ButterKnife.bind(this, view);
return view;
}
@ -147,12 +146,8 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
}
private void setUpSubFragments() {
playbackControlsFragment = (PlayerPlaybackControlsFragment) getChildFragmentManager()
.findFragmentById(R.id.playback_controls_fragment);
PlayerAlbumCoverFragment playerAlbumCoverFragment =
(PlayerAlbumCoverFragment) getChildFragmentManager()
.findFragmentById(R.id.player_album_cover_fragment);
playbackControlsFragment = (PlayerPlaybackControlsFragment) getChildFragmentManager().findFragmentById(R.id.playback_controls_fragment);
PlayerAlbumCoverFragment playerAlbumCoverFragment = (PlayerAlbumCoverFragment) getChildFragmentManager().findFragmentById(R.id.player_album_cover_fragment);
if (playerAlbumCoverFragment != null) {
playerAlbumCoverFragment.setCallbacks(this);
}

View file

@ -33,6 +33,7 @@ import code.name.monkey.retromusic.ui.activities.SupportDevelopmentActivity;
import code.name.monkey.retromusic.ui.activities.UserInfoActivity;
import code.name.monkey.retromusic.ui.activities.WhatsNewActivity;
import code.name.monkey.retromusic.ui.activities.AlbumDetailsActivity;
import code.name.monkey.retromusic.ui.activities.base.AbsSlidingMusicPanelActivity;
import static code.name.monkey.retromusic.Constants.RATE_ON_GOOGLE_PLAY;
import static code.name.monkey.retromusic.ui.activities.GenreDetailsActivity.EXTRA_GENRE_ID;
@ -152,4 +153,8 @@ public class NavigationUtil {
ActivityOptionsCompat.makeSceneTransitionAnimation((Activity) context, sharedElements).toBundle());
}
public static void gotoNowPlaying(Activity activity) {
ActivityCompat.startActivity(activity, new Intent(activity, NowPayingActivity.class),null);
}
}

View file

@ -112,6 +112,7 @@ public final class PreferenceUtil {
private static final String LAST_KNOWN_LYRICS_TYPE = "LAST_KNOWN_LYRICS_TYPE";
private static final String ALBUM_DETAIL_STYLE = "album_detail_style";
private static final String PAUSE_ON_ZERO_VOLUME = "pause_on_zero_volume";
private static final String NOW_PLAYING_SCREEN = "now_playing_screen";
private static PreferenceUtil sInstance;
private final SharedPreferences mPreferences;
@ -157,7 +158,7 @@ public final class PreferenceUtil {
return mPreferences.getString(ARTIST_SONG_SORT_ORDER, SortOrder.ArtistSongSortOrder.SONG_A_Z);
}
public final boolean toggleHomeBanner() {
public final boolean isHomeBanner() {
return mPreferences.getBoolean(TOGGLE_HOME_BANNER, false);
}
@ -807,4 +808,7 @@ public final class PreferenceUtil {
return layoutRes;
}
public boolean isClickOrSave() {
return mPreferences.getBoolean(NOW_PLAYING_SCREEN, false);
}
}

View file

@ -4,6 +4,7 @@ import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet;
import android.view.View;
import android.widget.FrameLayout;
@ -24,6 +25,10 @@ import code.name.monkey.retromusic.R;
public class CollapsingFAB extends FrameLayout {
@ColorInt
int color = Color.WHITE;
String title;
Drawable icon;
boolean showTitle;
ImageView shuffleIcon;
@ -40,13 +45,18 @@ public class CollapsingFAB extends FrameLayout {
public CollapsingFAB(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
TypedArray attributes = getContext().obtainStyledAttributes(attrs, R.styleable.CollapsingFAB, 0, 0);
icon = attributes.getDrawable(R.styleable.CollapsingFAB_setIcon);
color = attributes.getColor(R.styleable.CollapsingFAB_shuffleBackgroundColor, 0);
showTitle = attributes.getBoolean(R.styleable.CollapsingFAB_showTitle, false);
title = attributes.getString(R.styleable.CollapsingFAB_setText);
View view = inflate(context, R.layout.collapsing_floating_action_button, this);
shuffleIcon = view.findViewById(R.id.icon);
shuffleIcon.setImageDrawable(icon);
textView = view.findViewById(R.id.shuffle_text);
textView.setText(title);
textView.setVisibility(showTitle ? VISIBLE : GONE);
cardView = view.findViewById(R.id.container);
attributes.recycle();

View file

@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:shape="rectangle">
<corners
android:topLeftRadius="12dp"
android:topRightRadius="12dp" />
<solid android:color="?attr/cardBackgroundColor" />
<solid
android:color="?attr/cardBackgroundColor"
tools:color="@color/md_deep_purple_A700" />
</shape>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:bottomLeftRadius="12dp"
android:bottomRightRadius="12dp" />
<solid android:color="?colorPrimary" />
</shape>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="@color/md_white_1000"
android:pathData="M5,13h14v-2L5,11v2zM3,17h14v-2L3,15v2zM7,7v2h14L21,7L7,7z"/>
</vector>

View file

@ -106,6 +106,8 @@
android:layout_gravity="end|bottom"
android:layout_margin="10dp"
app:showTitle="true"
app:setText="@string/action_shuffle_all"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:shuffleBackgroundColor="@color/md_black_1000" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -112,5 +112,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="10dp"
app:showTitle="true"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:setText="@string/action_shuffle_all"
app:shuffleBackgroundColor="@color/md_black_1000" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
@ -8,30 +7,33 @@
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:elevation="0dp"
app:elevation="0dp">
<com.google.android.material.card.MaterialCardView
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
app:contentScrim="@android:color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="@color/md_black_1000"
app:titleEnabled="false">
<FrameLayout
android:id="@+id/image_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="4dp"
android:layout_weight="1"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true">
android:layout_height="182dp"
app:layout_collapseMode="pin">
<ImageView
android:id="@+id/image"
@ -39,17 +41,68 @@
android:layout_height="match_parent"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
tools:background="@color/md_red_400"
tools:ignore="ContentDescription" />
</com.google.android.material.card.MaterialCardView>
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:ignore="UnusedAttribute">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/searchIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
app:srcCompat="@drawable/ic_search_white_24dp"
app:tint="@color/md_white_1000" />
<TextView
style="@style/BigTitleTextAppearanceToolbar"
android:text="@string/app_name"
android:textColor="@color/md_white_1000" />
<code.name.monkey.retromusic.views.CircularImageView
android:id="@+id/user_image"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
app:civ_border="false" />
</FrameLayout>
</LinearLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:elevation="@dimen/card_elevation"
android:layout_height="match_parent"
android:layout_marginStart="64dp"
android:layout_marginEnd="64dp"
app:behavior_overlapTop="24dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardCornerRadius="12dp">
<LinearLayout
android:id="@+id/content_container"
@ -60,57 +113,12 @@
android:focusableInTouchMode="true"
android:orientation="vertical">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="0dp"
android:background="@android:color/transparent"
app:elevation="0dp">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true"
app:layout_scrollFlags="scroll|enterAlways">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
style="@style/Toolbar48"
android:layout_gravity="center_vertical"
app:layout_collapseMode="pin"
tools:ignore="UnusedAttribute">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
android:id="@+id/search_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:hint="@string/search_hint"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Subhead" />
<code.name.monkey.retromusic.views.CircularImageView
android:id="@+id/user_image"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
app:civ_border="false" />
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.card.MaterialCardView>
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/abs_playlists" />
<include layout="@layout/home_section_content" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.core.widget.NestedScrollView>
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout>

View file

@ -27,13 +27,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
@ -57,8 +66,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="@dimen/status_bar_padding">
android:orientation="vertical">
<fragment
android:id="@+id/playback_controls_fragment"
@ -83,6 +91,8 @@
</FrameLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -21,6 +21,10 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
@ -80,5 +84,5 @@
android:layout_height="match_parent"
tools:layout="@layout/fragment_card_blur_player_playback_controls" />
</FrameLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -20,13 +20,22 @@
android:layout_height="match_parent"
tools:layout="@layout/fragment_album_cover" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
@ -71,6 +80,7 @@
</androidx.cardview.widget.CardView>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
<include layout="@layout/shadow_statusbar_toolbar" />
</FrameLayout>

View file

@ -14,12 +14,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
@ -115,8 +125,8 @@
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -15,13 +15,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
@ -71,4 +80,5 @@
</LinearLayout>
</LinearLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -2,7 +2,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_fragment_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
@ -17,14 +16,13 @@
</FrameLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/coordinator_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.core.widget.NestedScrollView
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="@dimen/horizontal_margin"
android:layout_marginEnd="@dimen/horizontal_margin"
android:layout_weight="1"
@ -34,7 +32,7 @@
<LinearLayout
android:id="@+id/content_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:descendantFocusability="blocksDescendants"
android:focusable="true"
android:focusableInTouchMode="true"
@ -47,31 +45,21 @@
android:elevation="0dp"
app:elevation="0dp">
<com.google.android.material.card.MaterialCardView
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true"
app:layout_scrollFlags="scroll|enterAlways">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
style="@style/Toolbar48"
android:layout_gravity="center_vertical"
app:layout_collapseMode="pin"
tools:ignore="UnusedAttribute">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
android:id="@+id/search_view"
<code.name.monkey.retromusic.views.IconImageView
android:id="@+id/searchIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:hint="@string/search_hint"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Subhead" />
android:padding="14dp"
app:srcCompat="@drawable/ic_search_white_24dp" />
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
style="@style/BigTitleTextAppearanceToolbar"
android:text="@string/app_name" />
<code.name.monkey.retromusic.views.CircularImageView
android:id="@+id/user_image"
@ -80,8 +68,7 @@
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
app:civ_border="false" />
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.card.MaterialCardView>
</FrameLayout>
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/abs_playlists" />

View file

@ -9,13 +9,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
@ -70,4 +79,5 @@
</LinearLayout>
</LinearLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -10,13 +10,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
@ -108,4 +117,5 @@
</LinearLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -14,12 +14,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
@ -70,4 +80,5 @@
</LinearLayout>
</LinearLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -16,16 +16,24 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
@ -73,4 +81,5 @@
</LinearLayout>
</LinearLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -128,6 +128,8 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="10dp"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:setText="@string/action_shuffle_all"
app:showTitle="false"
app:shuffleBackgroundColor="@color/md_black_1000" />

View file

@ -102,6 +102,8 @@
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="10dp"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:setText="@string/action_shuffle_all"
app:showTitle="false"
app:shuffleBackgroundColor="@color/md_black_1000" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -35,13 +35,10 @@
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/status_bar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/toolbar_container"
android:layout_below="@id/status_bar"
android:orientation="horizontal">
<FrameLayout
@ -113,6 +110,7 @@
</LinearLayout>
</LinearLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"

View file

@ -14,14 +14,16 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout
android:id="@+id/container"
android:layout_width="400dp"
@ -64,4 +66,5 @@
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</RelativeLayout>

View file

@ -136,6 +136,8 @@
android:layout_gravity="end|bottom"
android:layout_margin="10dp"
app:showTitle="false"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:setText="@string/action_shuffle_all"
app:shuffleBackgroundColor="@color/md_black_1000" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -107,5 +107,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="10dp"
app:showTitle="false"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:setText="@string/action_shuffle_all"
app:shuffleBackgroundColor="@color/md_black_1000" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -25,6 +25,10 @@
android:layout_height="match_parent"
android:background="@drawable/shadow_up" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
@ -34,8 +38,6 @@
android:layout_marginEnd="64dp"
android:orientation="vertical">
<include layout="@layout/status_bar" />
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
@ -78,5 +80,5 @@
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -14,6 +14,11 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -21,7 +26,6 @@
android:gravity="center_horizontal"
android:orientation="vertical">
<include layout="@layout/status_bar" />
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
@ -63,4 +67,5 @@
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -5,7 +5,7 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
style="@style/SubTitleTextAppearance"
android:text="@string/for_you" />
@ -121,7 +121,6 @@
</LinearLayout>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"

View file

@ -123,6 +123,8 @@
android:layout_gravity="end|bottom"
android:layout_margin="10dp"
app:showTitle="true"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:setText="@string/action_shuffle_all"
app:shuffleBackgroundColor="@color/md_black_1000" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -106,5 +106,7 @@
android:layout_gravity="end|bottom"
android:layout_margin="10dp"
app:showTitle="true"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:setText="@string/action_shuffle_all"
app:shuffleBackgroundColor="@color/md_black_1000" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -131,4 +131,12 @@
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
<Button
android:id="@+id/google_pay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:text="Google Pay"
android:visibility="gone" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -52,9 +52,34 @@
android:background="?dividerColor" />
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
android:id="@+id/fragment_container"
<com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_height="match_parent"
android:clipToPadding="false"
android:layoutAnimation="@anim/layout_animation_fall_down"
android:scrollbars="none"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<TextView
android:id="@android:id/empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="sans-serif-light"
android:text="@string/empty"
android:textColor="?android:textColorSecondary"
android:visibility="gone" />
<code.name.monkey.retromusic.views.CollapsingFAB
android:id="@+id/clear_queue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
app:setIcon="@drawable/ic_clear_all_black_24dp"
app:showTitle="true"
app:setText="@string/clear_playing_queue"
app:shuffleBackgroundColor="@color/md_deep_purple_A700" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -89,7 +89,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:src="@drawable/ic_shuffle_white_24dp"
app:setText="@string/action_shuffle_all"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:showTitle="true" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -9,13 +9,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
@ -67,4 +76,5 @@
tools:layout="@layout/fragment_adaptive_player_playback_controls" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -1,11 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_fragment_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:elevation="0dp"
app:elevation="0dp">
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
app:contentScrim="@android:color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="@color/md_black_1000"
app:titleEnabled="false">
<FrameLayout
android:id="@+id/image_container"
android:layout_width="match_parent"
android:layout_height="196dp"
app:layout_collapseMode="parallax">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
tools:background="@color/md_red_400"
tools:ignore="ContentDescription" />
</FrameLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways">
<FrameLayout
android:layout_width="match_parent"
@ -14,19 +52,48 @@
<include layout="@layout/status_bar" />
</FrameLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="wrap_content"
tools:ignore="UnusedAttribute">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/searchIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="16dp"
app:srcCompat="@drawable/ic_search_white_24dp"
app:tint="@color/md_white_1000" />
<TextView
style="@style/BigTitleTextAppearanceToolbar"
android:text="@string/app_name"
android:textColor="@color/md_white_1000" />
<code.name.monkey.retromusic.views.CircularImageView
android:id="@+id/user_image"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
app:civ_border="false" />
</FrameLayout>
</LinearLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_circular_top_corners"
android:layout_height="wrap_content"
app:behavior_overlapTop="24dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:cardCornerRadius="12dp">
<LinearLayout
android:id="@+id/content_container"
android:layout_width="match_parent"
@ -36,72 +103,10 @@
android:focusableInTouchMode="true"
android:orientation="vertical">
<com.google.android.material.card.MaterialCardView
android:id="@+id/image_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="182dp"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
tools:ignore="ContentDescription" />
</com.google.android.material.card.MaterialCardView>
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:elevation="0dp"
app:elevation="0dp">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true"
app:layout_scrollFlags="scroll|enterAlways">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
style="@style/Toolbar48"
android:layout_gravity="center_vertical"
app:layout_collapseMode="pin"
tools:ignore="UnusedAttribute">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
android:id="@+id/search_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:hint="@string/search_hint"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Subhead" />
<code.name.monkey.retromusic.views.CircularImageView
android:id="@+id/user_image"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
app:civ_border="false" />
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.card.MaterialCardView>
</com.google.android.material.appbar.AppBarLayout>
<include layout="@layout/abs_playlists" />
<include layout="@layout/home_section_content" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout>

View file

@ -23,12 +23,22 @@
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
@ -70,4 +80,5 @@
android:layout_height="match_parent" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -21,6 +21,10 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:layout_width="match_parent"
@ -31,8 +35,6 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<include layout="@layout/status_bar" />
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
@ -82,5 +84,5 @@
tools:layout="@layout/fragment_card_blur_player_playback_controls" />
</FrameLayout>
</FrameLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -20,13 +20,23 @@
android:layout_height="match_parent"
tools:layout="@layout/fragment_album_full_cover" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/status_bar" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
@ -68,4 +78,5 @@
</FrameLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -15,12 +15,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
@ -113,5 +123,5 @@
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -15,12 +15,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
@ -62,5 +72,5 @@
tools:layout="@layout/fragment_flat_player_playback_controls" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -31,13 +31,9 @@
android:elevation="0dp"
app:elevation="0dp">
<com.google.android.material.card.MaterialCardView
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true"
app:layout_scrollFlags="scroll|enterAlways">
<androidx.appcompat.widget.Toolbar
@ -47,26 +43,18 @@
app:layout_collapseMode="pin"
tools:ignore="UnusedAttribute">
<TextView
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
android:id="@+id/title"
style="@style/BigTitleTextAppearanceToolbar"
android:text="@string/folders"
tools:ignore="MissingPrefix" />
android:text="@string/folders" />
<code.name.monkey.retromusic.views.CircularImageView
android:id="@+id/user_image"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
app:civ_border="false" />
</androidx.appcompat.widget.Toolbar>
<ViewStub
android:id="@+id/cab_stub"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.google.android.material.card.MaterialCardView>
</FrameLayout>
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
@ -74,7 +62,6 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/md_white_1000"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView

View file

@ -18,7 +18,10 @@
android:layout_height="match_parent"
android:background="#50000000" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
@ -46,5 +49,5 @@
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -2,7 +2,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_fragment_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
@ -15,7 +14,6 @@
</FrameLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:id="@+id/coordinator_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
@ -23,35 +21,25 @@
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="0dp"
android:background="@android:color/transparent"
android:elevation="0dp"
app:elevation="0dp">
<com.google.android.material.card.MaterialCardView
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true"
app:layout_scrollFlags="scroll|enterAlways">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
style="@style/Toolbar48"
android:layout_gravity="center_vertical"
app:layout_collapseMode="pin"
tools:ignore="UnusedAttribute">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
android:id="@+id/search_view"
<code.name.monkey.retromusic.views.IconImageView
android:id="@+id/searchIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:hint="@string/search_hint"
android:textAppearance="@style/Base.TextAppearance.AppCompat.Subhead" />
android:padding="14dp"
app:srcCompat="@drawable/ic_search_white_24dp" />
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
style="@style/BigTitleTextAppearanceToolbar"
android:text="@string/app_name" />
<code.name.monkey.retromusic.views.CircularImageView
android:id="@+id/user_image"
@ -60,8 +48,8 @@
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="16dp"
app:civ_border="false" />
</androidx.appcompat.widget.Toolbar>
</com.google.android.material.card.MaterialCardView>
</FrameLayout>
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView

View file

@ -29,13 +29,9 @@
android:elevation="0dp"
app:elevation="0dp">
<com.google.android.material.card.MaterialCardView
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true"
app:layout_scrollFlags="scroll|enterAlways">
<androidx.appcompat.widget.Toolbar
@ -64,7 +60,7 @@
android:id="@+id/cab_stub"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.google.android.material.card.MaterialCardView>
</FrameLayout>
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
@ -22,4 +23,5 @@
android:textColor="?android:textColorSecondary"
android:visibility="gone" />
</FrameLayout>

View file

@ -30,13 +30,16 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical"
android:paddingBottom="8dp">
android:paddingStart="12dp"
android:layout_gravity="center_vertical"
android:gravity="center_vertical"
android:paddingEnd="12dp"
android:orientation="vertical">
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
android:id="@+id/title_welcome"
style="@style/SubTitleTextAppearance"
android:paddingBottom="0dp" />
android:padding="0dp" />
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
android:id="@+id/text"
@ -44,8 +47,6 @@
android:layout_height="wrap_content"
android:alpha="0.75"
android:ellipsize="end"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:text="@string/lets_play_something" />
</LinearLayout>

View file

@ -9,12 +9,23 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
@ -57,5 +68,5 @@
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -9,12 +9,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout
android:id="@+id/title_container"
@ -91,4 +101,5 @@
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -14,13 +14,22 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
@ -63,5 +72,5 @@
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -15,12 +15,23 @@
<include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:layout_width="match_parent"
@ -61,5 +72,5 @@
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
@ -13,8 +13,7 @@
android:orientation="vertical"
android:visibility="gone">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
style="@style/SubTitleTextAppearance"
android:text="@string/recent_artists" />
@ -37,11 +36,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
android:visibility="gone">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
style="@style/SubTitleTextAppearance"
android:text="@string/recent_albums" />
@ -67,7 +65,7 @@
android:orientation="vertical"
android:visibility="gone">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
style="@style/SubTitleTextAppearance"
android:text="@string/top_artists" />
@ -92,7 +90,7 @@
android:visibility="gone">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
style="@style/SubTitleTextAppearance"
android:text="@string/top_albums" />
@ -118,7 +116,7 @@
android:visibility="gone">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
style="@style/SubTitleTextAppearance"
android:text="@string/suggestion_songs" />
@ -142,7 +140,7 @@
android:orientation="vertical"
android:visibility="gone">
<code.name.monkey.appthemehelper.common.views.ATESecondaryTextView
<code.name.monkey.appthemehelper.common.views.ATEPrimaryTextView
style="@style/SubTitleTextAppearance"
android:text="@string/genres" />

View file

@ -28,8 +28,9 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/image_1"
android:layout_width="match_parent"
android:id="@+id/image_1" android:layout_height="match_parent"
android:layout_height="match_parent"
android:background="@color/md_red_400"
android:padding="8dp"
android:text="New music mix"

View file

@ -3,6 +3,8 @@
<declare-styleable name="CollapsingFAB">
<attr name="shuffleBackgroundColor" format="color" />
<attr name="showTitle" format="boolean" />
<attr name="setIcon" format="reference" />
<attr name="setText" format="string" />
</declare-styleable>
<attr name="roundSelector" format="reference" />
<attr name="rectSelector" format="reference" />

View file

@ -555,4 +555,7 @@
<string name="suggestion_songs">Suggestions</string>
<string name="fit">Fit</string>
<string name="pref_now_playing_screen_title">Click or Slide</string>
<string name="pref_now_playing_screen_summary">Click to open with or slide to without transparent navigation of now playing screen</string>
<string name="clear_playing_queue">Clear queue</string>
</resources>

View file

@ -60,7 +60,8 @@
</style>
<style name="BigTitleTextAppearanceToolbar">
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6</item>
<item name="android:textAppearance">@style/TextAppearance.MaterialComponents.Headline6
</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="fontPath">@string/circular_std_black</item>
@ -71,12 +72,11 @@
<style name="SubTitleTextAppearance">
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Subhead</item>
<item name="android:layout_gravity">start|center_vertical</item>
<item name="android:paddingStart">12dp</item>
<item name="android:paddingEnd">12dp</item>
<item name="android:padding">12dp</item>
<item name="android:textColor">?android:attr/textColorPrimary</item>
<item name="fontPath">@string/circular_std_black</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:paddingTop">8dp</item>
<item name="android:paddingBottom">8dp</item>
</style>
<style name="BottomSheetTextAppearance">

View file

@ -4,8 +4,6 @@
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory android:title="Advanced">
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
android:defaultValue="false"
android:key="keep_screen_on"
@ -21,6 +19,13 @@
android:title="@string/pref_keep_pause_on_zero_volume_title"
app:iconSpaceReserved="false" />
<!-- <code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
android:defaultValue="false"
android:key="now_playing_screen"
android:summary="@string/pref_now_playing_screen_summary"
android:title="@string/pref_now_playing_screen_title"
app:iconSpaceReserved="false" />-->
</code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory>
</androidx.preference.PreferenceScreen>

View file

@ -87,13 +87,17 @@
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/aapt_friendly_merged_manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotation_processor_list" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations_typedef_file" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotations_zip" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/check-manifest" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/intermediate-jars" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_and_local_jars_jni" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/packaged-classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/packaged_res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/public_res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />