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 vectorDrawables.useSupportLibrary = true
applicationId "code.name.monkey.retromusic" applicationId "code.name.monkey.retromusic"
versionCode 253 versionCode 255
versionName '2.2.100' versionName '2.2.100'
multiDexEnabled true 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(); setTaskDescriptionColorAuto();
setNavigationbarColorAuto(); setNavigationbarColorAuto();
fitSystemWindowsLayout.setFit(true); fitSystemWindowsLayout.setFit(!PreferenceUtil.getInstance().getFullScreenMode());
setSupportActionBar(bottomAppBar); setSupportActionBar(bottomAppBar);
Objects.requireNonNull(bottomAppBar.getNavigationIcon()) Objects.requireNonNull(bottomAppBar.getNavigationIcon())

View file

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

View file

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

View file

@ -5,19 +5,28 @@ import android.os.Bundle;
import android.widget.TextView; import android.widget.TextView;
import com.google.android.material.appbar.AppBarLayout; 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.appcompat.widget.Toolbar;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindDrawable; import butterknife.BindDrawable;
import butterknife.BindString; import butterknife.BindString;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; import butterknife.ButterKnife;
import butterknife.OnClick;
import code.name.monkey.appthemehelper.ThemeStore; import code.name.monkey.appthemehelper.ThemeStore;
import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper; import code.name.monkey.appthemehelper.util.ToolbarContentTintHelper;
import code.name.monkey.retromusic.R; import code.name.monkey.retromusic.R;
import code.name.monkey.retromusic.helper.MusicPlayerRemote; import code.name.monkey.retromusic.helper.MusicPlayerRemote;
import code.name.monkey.retromusic.ui.activities.base.AbsMusicServiceActivity; 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.util.MusicUtil;
import code.name.monkey.retromusic.views.CollapsingFAB;
public class PlayingQueueActivity extends AbsMusicServiceActivity { public class PlayingQueueActivity extends AbsMusicServiceActivity {
@ -40,6 +49,17 @@ public class PlayingQueueActivity extends AbsMusicServiceActivity {
@BindView(R.id.title) @BindView(R.id.title)
TextView 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 @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@ -52,11 +72,109 @@ public class PlayingQueueActivity extends AbsMusicServiceActivity {
setLightNavigationBar(true); setLightNavigationBar(true);
setupToolbar(); setupToolbar();
if (savedInstanceState == null) { setUpRecyclerView();
getSupportFragmentManager().beginTransaction() }
.replace(R.id.fragment_container, new PlayingQueueFragment())
.commit(); 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() { protected String getUpNextAndQueueTime() {
@ -75,5 +193,11 @@ public class PlayingQueueActivity extends AbsMusicServiceActivity {
setTitle(null); setTitle(null);
toolbar.setNavigationOnClickListener(v -> onBackPressed()); toolbar.setNavigationOnClickListener(v -> onBackPressed());
ToolbarContentTintHelper.colorBackButton(toolbar, ThemeStore.accentColor(this)); 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.Intent;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
import android.graphics.Paint; import android.graphics.Paint;
import android.net.Uri;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
@ -14,6 +15,7 @@ import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.afollestad.materialdialogs.MaterialDialog;
import com.afollestad.materialdialogs.internal.MDTintHelper; import com.afollestad.materialdialogs.internal.MDTintHelper;
import com.anjlab.android.iab.v3.BillingProcessor; import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.SkuDetails; 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 class SupportDevelopmentActivity extends AbsBaseActivity implements BillingProcessor.IBillingHandler {
public static final String TAG = SupportDevelopmentActivity.class.getSimpleName(); public static final String TAG = SupportDevelopmentActivity.class.getSimpleName();
private static final int DONATION_PRODUCT_IDS = R.array.donation_ids; 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) @BindView(R.id.progress)
ProgressBar progressBar; ProgressBar progressBar;
@BindView(R.id.progress_container) @BindView(R.id.progress_container)
View progressContainer; View progressContainer;
@BindView(R.id.list) @BindView(R.id.list)
RecyclerView recyclerView; RecyclerView recyclerView;
@BindView(R.id.toolbar) @BindView(R.id.toolbar)
Toolbar toolbar; Toolbar toolbar;
@BindView(R.id.app_bar) @BindView(R.id.app_bar)
AppBarLayout appBarLayout; AppBarLayout appBarLayout;
@BindView(R.id.root) @BindView(R.id.root)
ViewGroup viewGroup; ViewGroup viewGroup;
@BindView(R.id.title) @BindView(R.id.title)
TextView title; TextView title;
@BindView(R.id.donate) @BindView(R.id.donate)
MaterialButton materialButton; MaterialButton materialButton;
private BillingProcessor billingProcessor; private BillingProcessor billingProcessor;
private AsyncTask skuDetailsLoadAsyncTask; private AsyncTask skuDetailsLoadAsyncTask;
@ -192,6 +188,10 @@ public class SupportDevelopmentActivity extends AbsBaseActivity implements Billi
if (!billingProcessor.handleActivityResult(requestCode, resultCode, data)) { if (!billingProcessor.handleActivityResult(requestCode, resultCode, data)) {
super.onActivityResult(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 @Override
@ -205,6 +205,33 @@ public class SupportDevelopmentActivity extends AbsBaseActivity implements Billi
super.onDestroy(); 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 static class SkuDetailsLoadAsyncTask extends AsyncTask<Void, Void, List<SkuDetails>> {
private final WeakReference<SupportDevelopmentActivity> donationDialogWeakReference; private final WeakReference<SupportDevelopmentActivity> donationDialogWeakReference;

View file

@ -11,7 +11,6 @@ import android.view.ViewGroup;
import android.view.ViewTreeObserver; import android.view.ViewTreeObserver;
import android.view.WindowManager; import android.view.WindowManager;
import android.view.animation.PathInterpolator; import android.view.animation.PathInterpolator;
import android.widget.FrameLayout;
import com.google.android.gms.cast.framework.CastSession; import com.google.android.gms.cast.framework.CastSession;
import com.google.android.material.bottomnavigation.BottomNavigationView; import com.google.android.material.bottomnavigation.BottomNavigationView;
@ -21,7 +20,6 @@ import com.sothree.slidinguppanel.SlidingUpPanelLayout.PanelState;
import androidx.annotation.FloatRange; import androidx.annotation.FloatRange;
import androidx.annotation.LayoutRes; import androidx.annotation.LayoutRes;
import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.coordinatorlayout.widget.CoordinatorLayout;
import androidx.core.view.ViewCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import butterknife.BindView; import butterknife.BindView;
import butterknife.ButterKnife; 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.normal.PlayerFragment;
import code.name.monkey.retromusic.ui.fragments.player.plain.PlainPlayerFragment; 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.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.PreferenceUtil;
import code.name.monkey.retromusic.util.ViewUtil; import code.name.monkey.retromusic.util.ViewUtil;
import code.name.monkey.retromusic.views.BottomNavigationBarTinted; import code.name.monkey.retromusic.views.BottomNavigationBarTinted;
import code.name.monkey.retromusic.views.FitSystemWindowsLayout;
public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivity implements public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivity implements
SlidingUpPanelLayout.PanelSlideListener, PlayerFragment.Callbacks { 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() { public SlidingUpPanelLayout.PanelState getPanelState() {
return slidingUpPanelLayout == null ? null : slidingUpPanelLayout.getPanelState(); return slidingUpPanelLayout == null ? null : slidingUpPanelLayout.getPanelState();
} }
@ -313,7 +256,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
// restore values // restore values
super.setLightStatusbar(lightStatusbar); super.setLightStatusbar(lightStatusbar);
super.setTaskDescriptionColor(taskColor); super.setTaskDescriptionColor(taskColor);
super.setNavigationbarColor(ThemeStore.primaryColor(this)); super.setNavigationbarColor(navigationbarColor);
super.setLightNavigationBar(lightNavigationBar); super.setLightNavigationBar(lightNavigationBar);
@ -325,12 +268,11 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
public void onPanelExpanded(View panel) { public void onPanelExpanded(View panel) {
int playerFragmentColor = playerFragment.getPaletteColor(); int playerFragmentColor = playerFragment.getPaletteColor();
super.setTaskDescriptionColor(playerFragmentColor); super.setTaskDescriptionColor(playerFragmentColor);
super.setLightStatusbar(lightStatusbar);
playerFragment.setMenuVisibility(true); playerFragment.setMenuVisibility(true);
playerFragment.setUserVisibleHint(true); playerFragment.setUserVisibleHint(true);
playerFragment.onShow(); playerFragment.onShow();
onPaletteColorChanged();
} }
private void setMiniPlayerAlphaProgress(@FloatRange(from = 0, to = 1) float progress) { private void setMiniPlayerAlphaProgress(@FloatRange(from = 0, to = 1) float progress) {
@ -395,6 +337,7 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
//noinspection ConstantConditions //noinspection ConstantConditions
miniPlayerFragment.getView().setOnClickListener(v -> expandPanel()); miniPlayerFragment.getView().setOnClickListener(v -> expandPanel());
} }
@Override @Override
@ -437,7 +380,8 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
super.setLightStatusbar(false); super.setLightStatusbar(false);
super.setLightNavigationBar(ColorUtil.isColorLight(ThemeStore.primaryColor(this))); super.setLightNavigationBar(ColorUtil.isColorLight(ThemeStore.primaryColor(this)));
} else if (currentNowPlayingScreen == NowPlayingScreen.FIT) { } else if (currentNowPlayingScreen == NowPlayingScreen.FIT) {
super.setNavigationbarColor(Color.TRANSPARENT); super.setNavigationbarColor(ThemeStore.primaryColor(this));
super.setLightNavigationBar(ColorUtil.isColorLight(ThemeStore.primaryColor(this)));
super.setLightStatusbar(false); super.setLightStatusbar(false);
} else { } else {
boolean isTheme = isOneOfTheseThemes() && ColorUtil.isColorLight(ThemeStore.primaryColor(this)); boolean isTheme = isOneOfTheseThemes() && ColorUtil.isColorLight(ThemeStore.primaryColor(this));
@ -476,13 +420,21 @@ public abstract class AbsSlidingMusicPanelActivity extends AbsMusicServiceActivi
@Override @Override
public void setNavigationbarColor(int color) { public void setNavigationbarColor(int color) {
this.navigationbarColor = color; navigationbarColor = color;
if (getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) { if (getPanelState() == PanelState.COLLAPSED) {
if (navigationBarColorAnimator != null) navigationBarColorAnimator.cancel(); if (navigationBarColorAnimator != null) navigationBarColorAnimator.cancel();
super.setNavigationbarColor(color); super.setNavigationbarColor(color);
} }
} }
@Override
public void setTaskDescriptionColor(int color) {
taskColor = color;
if (getPanelState() == PanelState.COLLAPSED) {
super.setTaskDescriptionColor(color);
}
}
private void animateNavigationBarColor(int color) { private void animateNavigationBarColor(int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if (navigationBarColorAnimator != null) navigationBarColorAnimator.cancel(); 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}) R.id.image_7, R.id.image_8, R.id.image_9})
@Nullable @Nullable
List<ImageView> imageViews; List<ImageView> imageViews;
@BindView(R.id.image_1) @BindView(R.id.image_1)
TextView view; TextView view;
@ -82,6 +83,9 @@ public class CollageSongAdapter extends RecyclerView.Adapter<CollageSongViewHold
ButterKnife.bind(this, itemView); ButterKnife.bind(this, itemView);
Context context = itemView.getContext(); Context context = itemView.getContext();
int color = ThemeStore.accentColor(context); int color = ThemeStore.accentColor(context);
view.setOnClickListener(v -> {
MusicPlayerRemote.openQueue(dataSet, 0, true);
});
view.setBackgroundColor(color); view.setBackgroundColor(color);
view.setTextColor(MaterialValueHelper.getPrimaryTextColor(context, ColorUtil.isColorLight(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.helper.MusicPlayerRemote;
import code.name.monkey.retromusic.ui.adapter.song.PlayingQueueAdapter; import code.name.monkey.retromusic.ui.adapter.song.PlayingQueueAdapter;
import code.name.monkey.retromusic.ui.fragments.base.AbsMusicServiceFragment; import code.name.monkey.retromusic.ui.fragments.base.AbsMusicServiceFragment;
import code.name.monkey.retromusic.views.CollapsingFAB;
public class PlayingQueueFragment extends AbsMusicServiceFragment { public class PlayingQueueFragment extends AbsMusicServiceFragment {
@BindView(R.id.recycler_view) @BindView(R.id.recycler_view)
RecyclerView mRecyclerView; RecyclerView mRecyclerView;
Unbinder unbinder; Unbinder unbinder;
private RecyclerView.Adapter mWrappedAdapter; private RecyclerView.Adapter mWrappedAdapter;
private RecyclerViewDragDropManager mRecyclerViewDragDropManager; private RecyclerViewDragDropManager mRecyclerViewDragDropManager;
private PlayingQueueAdapter mPlayingQueueAdapter; private PlayingQueueAdapter mPlayingQueueAdapter;
@ -66,6 +70,7 @@ public class PlayingQueueFragment extends AbsMusicServiceFragment {
mRecyclerView.setItemAnimator(animator); mRecyclerView.setItemAnimator(animator);
mRecyclerViewDragDropManager.attachRecyclerView(mRecyclerView); mRecyclerViewDragDropManager.attachRecyclerView(mRecyclerView);
mLayoutManager.scrollToPositionWithOffset(MusicPlayerRemote.getPosition() + 1, 0); mLayoutManager.scrollToPositionWithOffset(MusicPlayerRemote.getPosition() + 1, 0);
} }
@Override @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.NavigationUtil;
import code.name.monkey.retromusic.util.PreferenceUtil; import code.name.monkey.retromusic.util.PreferenceUtil;
import code.name.monkey.retromusic.util.RetroUtil; 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 abstract class AbsPlayerFragment extends AbsMusicServiceFragment implements Toolbar.OnMenuItemClickListener, PaletteColorHolder {
public static final String TAG = AbsPlayerFragment.class.getSimpleName(); 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) { public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState); super.onViewCreated(view, savedInstanceState);
view.setBackgroundColor(ThemeStore.primaryColor(getActivity())); view.setBackgroundColor(ThemeStore.primaryColor(getActivity()));
if (PreferenceUtil.getInstance().getFullScreenMode()) { if (PreferenceUtil.getInstance().getFullScreenMode()) {
if (view.findViewById(R.id.status_bar) != null) if (view.findViewById(R.id.status_bar) != null)
view.findViewById(R.id.status_bar).setVisibility(View.GONE); 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 { public interface Callbacks {
void onPaletteColorChanged(); void onPaletteColorChanged();

View file

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

View file

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

View file

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

View file

@ -135,7 +135,6 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
@Nullable Bundle savedInstanceState) { @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_player, container, false); View view = inflater.inflate(R.layout.fragment_player, container, false);
unbinder = ButterKnife.bind(this, view); unbinder = ButterKnife.bind(this, view);
return view; return view;
} }
@ -147,12 +146,8 @@ public class PlayerFragment extends AbsPlayerFragment implements PlayerAlbumCove
} }
private void setUpSubFragments() { private void setUpSubFragments() {
playbackControlsFragment = (PlayerPlaybackControlsFragment) getChildFragmentManager() playbackControlsFragment = (PlayerPlaybackControlsFragment) getChildFragmentManager().findFragmentById(R.id.playback_controls_fragment);
.findFragmentById(R.id.playback_controls_fragment); PlayerAlbumCoverFragment playerAlbumCoverFragment = (PlayerAlbumCoverFragment) getChildFragmentManager().findFragmentById(R.id.player_album_cover_fragment);
PlayerAlbumCoverFragment playerAlbumCoverFragment =
(PlayerAlbumCoverFragment) getChildFragmentManager()
.findFragmentById(R.id.player_album_cover_fragment);
if (playerAlbumCoverFragment != null) { if (playerAlbumCoverFragment != null) {
playerAlbumCoverFragment.setCallbacks(this); 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.UserInfoActivity;
import code.name.monkey.retromusic.ui.activities.WhatsNewActivity; import code.name.monkey.retromusic.ui.activities.WhatsNewActivity;
import code.name.monkey.retromusic.ui.activities.AlbumDetailsActivity; 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.Constants.RATE_ON_GOOGLE_PLAY;
import static code.name.monkey.retromusic.ui.activities.GenreDetailsActivity.EXTRA_GENRE_ID; 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()); 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 LAST_KNOWN_LYRICS_TYPE = "LAST_KNOWN_LYRICS_TYPE";
private static final String ALBUM_DETAIL_STYLE = "album_detail_style"; 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 PAUSE_ON_ZERO_VOLUME = "pause_on_zero_volume";
private static final String NOW_PLAYING_SCREEN = "now_playing_screen";
private static PreferenceUtil sInstance; private static PreferenceUtil sInstance;
private final SharedPreferences mPreferences; private final SharedPreferences mPreferences;
@ -157,7 +158,7 @@ public final class PreferenceUtil {
return mPreferences.getString(ARTIST_SONG_SORT_ORDER, SortOrder.ArtistSongSortOrder.SONG_A_Z); 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); return mPreferences.getBoolean(TOGGLE_HOME_BANNER, false);
} }
@ -807,4 +808,7 @@ public final class PreferenceUtil {
return layoutRes; 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.ColorStateList;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import android.widget.FrameLayout; import android.widget.FrameLayout;
@ -24,6 +25,10 @@ import code.name.monkey.retromusic.R;
public class CollapsingFAB extends FrameLayout { public class CollapsingFAB extends FrameLayout {
@ColorInt @ColorInt
int color = Color.WHITE; int color = Color.WHITE;
String title;
Drawable icon;
boolean showTitle; boolean showTitle;
ImageView shuffleIcon; ImageView shuffleIcon;
@ -40,13 +45,18 @@ public class CollapsingFAB extends FrameLayout {
public CollapsingFAB(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { public CollapsingFAB(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr); super(context, attrs, defStyleAttr);
TypedArray attributes = getContext().obtainStyledAttributes(attrs, R.styleable.CollapsingFAB, 0, 0); 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); color = attributes.getColor(R.styleable.CollapsingFAB_shuffleBackgroundColor, 0);
showTitle = attributes.getBoolean(R.styleable.CollapsingFAB_showTitle, false); 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); View view = inflate(context, R.layout.collapsing_floating_action_button, this);
shuffleIcon = view.findViewById(R.id.icon); shuffleIcon = view.findViewById(R.id.icon);
shuffleIcon.setImageDrawable(icon);
textView = view.findViewById(R.id.shuffle_text); textView = view.findViewById(R.id.shuffle_text);
textView.setText(title);
textView.setVisibility(showTitle ? VISIBLE : GONE); textView.setVisibility(showTitle ? VISIBLE : GONE);
cardView = view.findViewById(R.id.container); cardView = view.findViewById(R.id.container);
attributes.recycle(); attributes.recycle();

View file

@ -1,9 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" <shape xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:shape="rectangle"> android:shape="rectangle">
<corners <corners
android:topLeftRadius="12dp" android:topLeftRadius="12dp"
android:topRightRadius="12dp" /> android:topRightRadius="12dp" />
<solid android:color="?attr/cardBackgroundColor" /> <solid
android:color="?attr/cardBackgroundColor"
tools:color="@color/md_deep_purple_A700" />
</shape> </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_gravity="end|bottom"
android:layout_margin="10dp" android:layout_margin="10dp"
app:showTitle="true" app:showTitle="true"
app:setText="@string/action_shuffle_all"
app:setIcon="@drawable/ic_shuffle_white_24dp"
app:shuffleBackgroundColor="@color/md_black_1000" /> app:shuffleBackgroundColor="@color/md_black_1000" />
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

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

View file

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
@ -8,48 +7,102 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout <androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="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_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:orientation="horizontal"> android:background="@android:color/transparent"
android:elevation="0dp"
app:elevation="0dp">
<com.google.android.material.card.MaterialCardView <com.google.android.material.appbar.CollapsingToolbarLayout
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">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
app:layout_collapseMode="parallax"
tools:ignore="ContentDescription" />
</com.google.android.material.card.MaterialCardView>
<androidx.core.widget.NestedScrollView
android:id="@+id/container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:background="@android:color/transparent"
android:elevation="@dimen/card_elevation" app:contentScrim="@android:color/transparent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"> 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="182dp"
app:layout_collapseMode="pin">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
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"
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="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 <LinearLayout
android:id="@+id/content_container" android:id="@+id/content_container"
@ -60,57 +113,12 @@
android:focusableInTouchMode="true" android:focusableInTouchMode="true"
android:orientation="vertical"> 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/abs_playlists" />
<include layout="@layout/home_section_content" /> <include layout="@layout/home_section_content" />
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </com.google.android.material.card.MaterialCardView>
</LinearLayout> </androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout> </LinearLayout>

View file

@ -27,62 +27,72 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea" android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal"> android:orientation="vertical">
<code.name.monkey.retromusic.views.HeightFitSquareLayout <FrameLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content">
android:layout_gravity="center_horizontal">
<fragment <include layout="@layout/status_bar" />
android:id="@+id/player_album_cover_fragment" </FrameLayout>
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="horizontal">
android:paddingTop="@dimen/status_bar_padding">
<fragment <code.name.monkey.retromusic.views.HeightFitSquareLayout
android:id="@+id/playback_controls_fragment" android:id="@+id/album_cover_container"
android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" /> android:layout_gravity="center_horizontal">
<FrameLayout <fragment
android:id="@+id/toolbar_container" android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_weight="0" android:orientation="vertical">
tools:background="@color/md_red_A700">
<androidx.appcompat.widget.Toolbar <fragment
android:id="@+id/player_toolbar" android:id="@+id/playback_controls_fragment"
style="@style/Toolbar48" android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment"
android:layout_height="48dp" android:layout_width="match_parent"
android:navigationIcon="@drawable/ic_close_white_24dp" android:layout_height="match_parent"
app:navigationIcon="@drawable/ic_close_white_24dp" /> android:layout_weight="1" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
tools:background="@color/md_red_A700">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -21,64 +21,68 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
<LinearLayout android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/status_bar" />
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp"
app:subtitleTextAppearance="@style/TextAppearance.AppCompat.Caption"
app:titleMargin="0dp"
app:titleMarginStart="0dp"
app:titleTextAppearance="@style/TextAppearance.AppCompat.Subhead" />
</FrameLayout>
<FrameLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="64dp"
android:layout_marginEnd="64dp"
android:layout_weight="1">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
</LinearLayout>
<FrameLayout <FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="0"> android:layout_gravity="bottom"
android:layout_marginStart="96dp"
<androidx.appcompat.widget.Toolbar android:layout_marginEnd="96dp">
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp"
app:subtitleTextAppearance="@style/TextAppearance.AppCompat.Caption"
app:titleMargin="0dp"
app:titleMarginStart="0dp"
app:titleTextAppearance="@style/TextAppearance.AppCompat.Subhead" />
</FrameLayout>
<FrameLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="64dp"
android:layout_marginEnd="64dp"
android:layout_weight="1">
<fragment <fragment
android:id="@+id/player_album_cover_fragment" android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment" android:name="code.name.monkey.retromusic.ui.fragments.player.cardblur.CardBlurPlaybackControlsFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="match_parent"
tools:layout="@layout/fragment_card_blur_player_playback_controls" />
</FrameLayout> </FrameLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:layout_marginStart="96dp"
android:layout_marginEnd="96dp">
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.cardblur.CardBlurPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_card_blur_player_playback_controls" />
</FrameLayout>
</FrameLayout> </FrameLayout>

View file

@ -20,57 +20,67 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_album_cover" /> tools:layout="@layout/fragment_album_cover" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
<LinearLayout android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<Space
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" /> android:orientation="vertical">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="64dp"
android:layout_marginEnd="64dp"
android:layout_marginBottom="8dp"
android:layout_weight="0"
app:cardBackgroundColor="?android:windowBackground"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true">
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="wrap_content">
<fragment <include layout="@layout/status_bar" />
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.card.CardPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_card_player_playback_controls" />
</FrameLayout> </FrameLayout>
</androidx.cardview.widget.CardView> <FrameLayout
</LinearLayout> android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<Space
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="64dp"
android:layout_marginEnd="64dp"
android:layout_marginBottom="8dp"
android:layout_weight="0"
app:cardBackgroundColor="?android:windowBackground"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.card.CardPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_card_player_playback_controls" />
</FrameLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
</FrameLayout> </FrameLayout>

View file

@ -14,109 +14,119 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal"> android:orientation="vertical">
<code.name.monkey.retromusic.views.HeightFitSquareLayout <FrameLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="wrap_content">
<androidx.cardview.widget.CardView <include layout="@layout/status_bar" />
android:layout_width="match_parent" </FrameLayout>
android:layout_height="match_parent"
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
app:cardPreventCornerOverlap="false"
app:cardUseCompatPadding="true">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
<ScrollView
android:id="@+id/lyrics_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/twenty_percent_black_overlay"
android:visibility="gone"
tools:visibility="visible">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/lyrics"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:lineSpacingExtra="4dp"
android:lineSpacingMultiplier="1.5"
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
android:textColor="@color/md_white_1000" />
</FrameLayout>
</ScrollView>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/expand"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:padding="16dp"
app:srcCompat="@drawable/ic_unfold_more_black_24dp"
app:tint="@color/md_white_1000" />
</androidx.cardview.widget.CardView>
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="horizontal">
<FrameLayout <code.name.monkey.retromusic.views.HeightFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent">
android:layout_weight="1">
<fragment <androidx.cardview.widget.CardView
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.color.ColorPlaybackControlsFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" /> app:cardCornerRadius="8dp"
</FrameLayout> app:cardElevation="8dp"
app:cardPreventCornerOverlap="false"
app:cardUseCompatPadding="true">
<FrameLayout <ImageView
android:id="@+id/toolbar_container" android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
<ScrollView
android:id="@+id/lyrics_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/twenty_percent_black_overlay"
android:visibility="gone"
tools:visibility="visible">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/lyrics"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:lineSpacingExtra="4dp"
android:lineSpacingMultiplier="1.5"
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
android:textColor="@color/md_white_1000" />
</FrameLayout>
</ScrollView>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/expand"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:padding="16dp"
app:srcCompat="@drawable/ic_unfold_more_black_24dp"
app:tint="@color/md_white_1000" />
</androidx.cardview.widget.CardView>
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_weight="0"> android:orientation="vertical">
<androidx.appcompat.widget.Toolbar <FrameLayout
android:id="@+id/player_toolbar" android:layout_width="match_parent"
style="@style/Toolbar48" android:layout_height="wrap_content"
android:layout_height="48dp" android:layout_weight="1">
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" /> <fragment
</FrameLayout> android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.color.ColorPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -15,60 +15,70 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea" android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal"> android:orientation="vertical">
<code.name.monkey.retromusic.views.HeightFitSquareLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="horizontal">
<FrameLayout <code.name.monkey.retromusic.views.HeightFitSquareLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent">
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar <fragment
android:id="@+id/player_toolbar" android:id="@+id/player_album_cover_fragment"
style="@style/Toolbar48" android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_height="48dp" android:layout_width="match_parent"
android:navigationIcon="@drawable/ic_close_white_24dp" android:layout_height="wrap_content"
app:navigationIcon="@drawable/ic_close_white_24dp" /> tools:layout="@layout/fragment_player_album_cover" />
</FrameLayout> </code.name.monkey.retromusic.views.HeightFitSquareLayout>
<fragment
android:id="@+id/playback_controls_fragment" <LinearLayout
android:name="code.name.monkey.retromusic.ui.fragments.player.flat.FlatPlaybackControlsFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="bottom" android:orientation="vertical">
android:layout_weight="1"
tools:layout="@layout/fragment_flat_player_playback_controls" /> <FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.flat.FlatPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:layout_weight="1"
tools:layout="@layout/fragment_flat_player_playback_controls" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

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

View file

@ -9,65 +9,75 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea" android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal"> android:orientation="vertical">
<code.name.monkey.retromusic.views.HeightFitSquareLayout <FrameLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="wrap_content">
<fragment <include layout="@layout/status_bar" />
android:id="@+id/player_album_cover_fragment" </FrameLayout>
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_album_cover" />
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="horizontal">
<FrameLayout <code.name.monkey.retromusic.views.HeightFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:layout_weight="1">
<fragment <fragment
android:id="@+id/playback_controls_fragment" android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.material.MaterialControlsFragment" android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_material_playback_controls" /> tools:layout="@layout/fragment_album_cover" />
</FrameLayout> </code.name.monkey.retromusic.views.HeightFitSquareLayout>
<FrameLayout <LinearLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_weight="0"> android:orientation="vertical">
<androidx.appcompat.widget.Toolbar <FrameLayout
android:id="@+id/player_toolbar" android:layout_width="match_parent"
style="@style/Toolbar48" android:layout_height="match_parent"
android:layout_height="48dp" android:layout_weight="1">
android:layout_gravity="bottom"
android:navigationIcon="@drawable/ic_close_white_24dp" <fragment
app:navigationIcon="@drawable/ic_close_white_24dp" /> android:id="@+id/playback_controls_fragment"
</FrameLayout> android:name="code.name.monkey.retromusic.ui.fragments.player.material.MaterialControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_material_playback_controls" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:layout_gravity="bottom"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -10,102 +10,112 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea" android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal"> android:orientation="vertical">
<code.name.monkey.retromusic.views.HeightFitSquareLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="wrap_content">
<fragment <include layout="@layout/status_bar" />
android:id="@+id/player_album_cover_fragment" </FrameLayout>
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="horizontal">
<LinearLayout <code.name.monkey.retromusic.views.HeightFitSquareLayout
android:id="@+id/title_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent">
android:layout_weight="0"
android:orientation="vertical"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:paddingEnd="16dp"
android:paddingBottom="16dp">
<TextView
android:id="@+id/title"
fontPath="@string/circular_std_black"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textSize="24sp"
tools:ignore="MissingPrefix"
tools:text="Title" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textColor="?android:attr/textColorSecondary"
tools:text="Text" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<fragment <fragment
android:id="@+id/playback_controls_fragment" android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.plain.PlainPlaybackControlsFragment" android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_plain_controls_fragment" /> tools:layout="@layout/fragment_player_album_cover" />
</FrameLayout> </code.name.monkey.retromusic.views.HeightFitSquareLayout>
<FrameLayout <LinearLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_weight="0"> android:orientation="vertical">
<LinearLayout
android:id="@+id/title_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="vertical"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:paddingEnd="16dp"
android:paddingBottom="16dp">
<TextView
android:id="@+id/title"
fontPath="@string/circular_std_black"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textSize="24sp"
tools:ignore="MissingPrefix"
tools:text="Title" />
<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textColor="?android:attr/textColorSecondary"
tools:text="Text" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1">
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.plain.PlainPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_plain_controls_fragment" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -14,60 +14,71 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal"> android:orientation="vertical">
<code.name.monkey.retromusic.views.HeightFitSquareLayout <FrameLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="wrap_content">
<fragment <include layout="@layout/status_bar" />
android:id="@+id/player_album_cover_fragment" </FrameLayout>
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="horizontal">
<FrameLayout <code.name.monkey.retromusic.views.HeightFitSquareLayout
android:id="@+id/toolbar_container" android:id="@+id/album_cover_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent">
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar <fragment
android:id="@+id/player_toolbar" android:id="@+id/player_album_cover_fragment"
style="@style/Toolbar48" android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_height="48dp" android:layout_width="match_parent"
android:navigationIcon="@drawable/ic_close_white_24dp" android:layout_height="match_parent"
app:navigationIcon="@drawable/ic_close_white_24dp" /> tools:layout="@layout/fragment_player_album_cover" />
</FrameLayout> </code.name.monkey.retromusic.views.HeightFitSquareLayout>
<fragment <LinearLayout
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.normal.PlayerPlaybackControlsFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="bottom" android:orientation="vertical">
android:layout_weight="1"
tools:layout="@layout/fragment_player_playback_controls" />
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.normal.PlayerPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:layout_weight="1"
tools:layout="@layout/fragment_player_playback_controls" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -16,61 +16,70 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea" android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="horizontal"> android:orientation="vertical">
<code.name.monkey.retromusic.views.HeightFitSquareLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="horizontal">
android:paddingTop="8dp">
<fragment <code.name.monkey.retromusic.views.HeightFitSquareLayout
android:id="@+id/playback_controls_fragment" android:layout_width="match_parent"
android:name="code.name.monkey.retromusic.ui.fragments.player.simple.SimplePlaybackControlsFragment" android:layout_height="match_parent">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.HeightFitSquareLayout>
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:orientation="vertical"
tools:layout="@layout/fragment_simple_controls_fragment" /> android:paddingTop="8dp">
<FrameLayout <fragment
android:id="@+id/toolbar_container" android:id="@+id/playback_controls_fragment"
android:layout_width="match_parent" android:name="code.name.monkey.retromusic.ui.fragments.player.simple.SimplePlaybackControlsFragment"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_weight="0"> android:layout_height="match_parent"
android:layout_weight="1"
tools:layout="@layout/fragment_simple_controls_fragment" />
<androidx.appcompat.widget.Toolbar <FrameLayout
android:id="@+id/player_toolbar" android:id="@+id/toolbar_container"
style="@style/Toolbar48" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="wrap_content"
android:navigationIcon="@drawable/ic_close_white_24dp" android:layout_weight="0">
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout> <androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

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

View file

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

View file

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

View file

@ -14,54 +14,57 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
<LinearLayout android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout <LinearLayout
android:id="@+id/container"
android:layout_width="400dp"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:orientation="vertical">
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.normal.PlayerPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" />
</LinearLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="0"> android:orientation="vertical">
<androidx.appcompat.widget.Toolbar <LinearLayout
android:id="@+id/player_toolbar" android:id="@+id/container"
android:layout_width="400dp"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:orientation="vertical">
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.normal.PlayerPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" />
</LinearLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="wrap_content"
app:navigationIcon="@drawable/ic_close_white_24dp" /> android:layout_weight="0">
</FrameLayout>
</LinearLayout> <androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
android:layout_width="match_parent"
android:layout_height="48dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</RelativeLayout> </RelativeLayout>

View file

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

View file

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

View file

@ -25,58 +25,60 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/shadow_up" /> android:background="@drawable/shadow_up" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
<LinearLayout android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:layout_gravity="center_horizontal"
android:layout_marginStart="64dp"
android:layout_marginEnd="64dp"
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:layout_gravity="center_horizontal"
tools:background="@color/md_white_1000"> android:layout_marginStart="64dp"
android:layout_marginEnd="64dp"
android:orientation="vertical">
<fragment <code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/playback_controls_fragment" android:id="@+id/album_cover_container"
android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_blur_playback_controls" /> android:layout_weight="1"
</FrameLayout> tools:background="@color/md_white_1000">
<FrameLayout <fragment
android:id="@+id/toolbar_container" android:id="@+id/playback_controls_fragment"
android:layout_width="match_parent" android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_weight="0" android:layout_height="match_parent"
tools:background="@color/md_red_A700"> tools:layout="@layout/fragment_blur_playback_controls" />
</FrameLayout>
<androidx.appcompat.widget.Toolbar <FrameLayout
android:id="@+id/player_toolbar" android:id="@+id/toolbar_container"
style="@style/Toolbar48" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="wrap_content"
android:navigationIcon="@drawable/ic_close_white_24dp" android:layout_weight="0"
app:navigationIcon="@drawable/ic_close_white_24dp" /> tools:background="@color/md_red_A700">
</FrameLayout>
</LinearLayout>
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -14,53 +14,58 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:orientation="vertical">
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="520dp"
android:layout_height="wrap_content">
<fragment <code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/player_album_cover_fragment" android:id="@+id/album_cover_container"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment" android:layout_width="520dp"
android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="520dp"
android:layout_height="wrap_content"
android:layout_weight="1">
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.normal.PlayerPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" /> android:layout_weight="0">
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout <androidx.appcompat.widget.Toolbar
android:layout_width="520dp" android:id="@+id/player_toolbar"
android:layout_height="wrap_content" style="@style/Toolbar48"
android:layout_weight="1"> android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
<fragment app:navigationIcon="@drawable/ic_close_white_24dp" />
android:id="@+id/playback_controls_fragment" </FrameLayout>
android:name="code.name.monkey.retromusic.ui.fragments.player.normal.PlayerPlaybackControlsFragment" </LinearLayout>
android:layout_width="match_parent" </code.name.monkey.retromusic.views.FitSystemWindowsLayout>
android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</FrameLayout> </FrameLayout>

View file

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

View file

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

View file

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

View file

@ -131,4 +131,12 @@
</com.google.android.material.card.MaterialCardView> </com.google.android.material.card.MaterialCardView>
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </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> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -52,9 +52,34 @@
android:background="?dividerColor" /> android:background="?dividerColor" />
</com.google.android.material.appbar.AppBarLayout> </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_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" /> 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> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -89,7 +89,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom|end" 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" /> app:showTitle="true" />
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -9,62 +9,72 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
<LinearLayout android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp"
app:subtitleTextAppearance="@style/TextAppearance.AppCompat.Caption"
app:titleMargin="0dp"
app:titleMarginStart="0dp"
app:titleTextAppearance="@style/TextAppearance.AppCompat.Subhead" />
</FrameLayout>
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:orientation="vertical">
app:cardCornerRadius="8dp"
app:cardElevation="8dp"
app:cardUseCompatPadding="true">
<fragment <FrameLayout
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="wrap_content">
</com.google.android.material.card.MaterialCardView> <include layout="@layout/status_bar" />
</FrameLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:id="@+id/toolbar_container"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_weight="0"> android:layout_height="wrap_content"
android:layout_weight="0">
<fragment <androidx.appcompat.widget.Toolbar
android:id="@+id/playback_controls_fragment" android:id="@+id/player_toolbar"
android:name="code.name.monkey.retromusic.ui.fragments.player.adaptive.AdaptivePlaybackControlsFragment" style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp"
app:subtitleTextAppearance="@style/TextAppearance.AppCompat.Caption"
app:titleMargin="0dp"
app:titleMarginStart="0dp"
app:titleTextAppearance="@style/TextAppearance.AppCompat.Subhead" />
</FrameLayout>
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_adaptive_player_playback_controls" /> android:layout_weight="1"
</FrameLayout> app:cardCornerRadius="8dp"
</LinearLayout> app:cardElevation="8dp"
app:cardUseCompatPadding="true">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.google.android.material.card.MaterialCardView>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.adaptive.AdaptivePlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_adaptive_player_playback_controls" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -1,31 +1,98 @@
<?xml version="1.0" encoding="utf-8"?> <?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:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_fragment_content"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<FrameLayout <com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:elevation="0dp"
app:elevation="0dp">
<include layout="@layout/status_bar" /> <com.google.android.material.appbar.CollapsingToolbarLayout
</FrameLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout
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_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
android:background="@drawable/bg_circular_top_corners" android:background="@android:color/transparent"
app:behavior_overlapTop="24dp" app:contentScrim="@android:color/transparent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"> 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: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"
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"
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 <LinearLayout
android:id="@+id/content_container" android:id="@+id/content_container"
@ -36,72 +103,10 @@
android:focusableInTouchMode="true" android:focusableInTouchMode="true"
android:orientation="vertical"> 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/abs_playlists" />
<include layout="@layout/home_section_content" /> <include layout="@layout/home_section_content" />
</LinearLayout> </LinearLayout>
</androidx.core.widget.NestedScrollView> </com.google.android.material.card.MaterialCardView>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.core.widget.NestedScrollView>
</LinearLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

@ -23,51 +23,62 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" android:orientation="vertical">
tools:background="@color/md_white_1000">
<fragment <FrameLayout
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="wrap_content">
</FrameLayout>
</LinearLayout> <include layout="@layout/status_bar" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
tools:background="@color/md_white_1000">
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.blur.BlurPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -21,66 +21,68 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
<FrameLayout android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="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" />
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp"
app:subtitleTextAppearance="@style/TextAppearance.AppCompat.Caption"
app:titleMargin="0dp"
app:titleMarginStart="0dp"
app:titleTextAppearance="@style/TextAppearance.AppCompat.Subhead" />
</FrameLayout>
<FrameLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
</LinearLayout>
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent">
android:layout_gravity="bottom">
<fragment <LinearLayout
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.cardblur.CardBlurPlaybackControlsFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content"
tools:layout="@layout/fragment_card_blur_player_playback_controls" /> android:orientation="vertical">
</FrameLayout>
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_keyboard_arrow_down_black_24dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetStartWithNavigation="0dp"
app:navigationIcon="@drawable/ic_keyboard_backspace_black_24dp"
app:subtitleTextAppearance="@style/TextAppearance.AppCompat.Caption"
app:titleMargin="0dp"
app:titleMarginStart="0dp"
app:titleTextAppearance="@style/TextAppearance.AppCompat.Subhead" />
</FrameLayout>
<FrameLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_weight="1">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</FrameLayout>
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom">
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.cardblur.CardBlurPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_card_blur_player_playback_controls" />
</FrameLayout>
</FrameLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -20,52 +20,63 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_album_full_cover" /> tools:layout="@layout/fragment_album_full_cover" />
<LinearLayout
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<Space
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1" /> android:orientation="vertical">
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:layout_weight="0"
app:cardBackgroundColor="?android:windowBackground"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true">
<FrameLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="wrap_content">
<fragment <include layout="@layout/status_bar" />
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.card.CardPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_card_player_playback_controls" />
</FrameLayout> </FrameLayout>
</com.google.android.material.card.MaterialCardView> <FrameLayout
</LinearLayout> android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<Space
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1" />
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:layout_weight="0"
app:cardBackgroundColor="?android:windowBackground"
app:cardCornerRadius="8dp"
app:cardUseCompatPadding="true">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.card.CardPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_card_player_playback_controls" />
</FrameLayout>
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -15,103 +15,113 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="4dp"
app:cardPreventCornerOverlap="false"
app:cardUseCompatPadding="true">
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
tools:ignore="ContentDescription,UnusedAttribute" />
<ScrollView
android:id="@+id/lyrics_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/twenty_percent_black_overlay"
android:visibility="gone"
tools:visibility="visible">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/lyrics"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:lineSpacingExtra="4dp"
android:lineSpacingMultiplier="1.5"
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
android:textColor="@color/md_white_1000" />
</FrameLayout>
</ScrollView>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/expand"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:padding="16dp"
app:srcCompat="@drawable/ic_unfold_more_black_24dp"
app:tint="@color/md_white_1000" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
</com.google.android.material.card.MaterialCardView>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1"> android:orientation="vertical">
<fragment <FrameLayout
android:id="@+id/playback_controls_fragment" android:layout_width="match_parent"
android:name="code.name.monkey.retromusic.ui.fragments.player.color.ColorPlaybackControlsFragment" android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<com.google.android.material.card.MaterialCardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
app:cardCornerRadius="8dp"
app:cardElevation="4dp"
app:cardPreventCornerOverlap="false"
app:cardUseCompatPadding="true">
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
tools:ignore="ContentDescription,UnusedAttribute" />
<ScrollView
android:id="@+id/lyrics_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/twenty_percent_black_overlay"
android:visibility="gone"
tools:visibility="visible">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/lyrics"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:lineSpacingExtra="4dp"
android:lineSpacingMultiplier="1.5"
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
android:textColor="@color/md_white_1000" />
</FrameLayout>
</ScrollView>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/expand"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:padding="16dp"
app:srcCompat="@drawable/ic_unfold_more_black_24dp"
app:tint="@color/md_white_1000" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
</com.google.android.material.card.MaterialCardView>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" /> android:layout_weight="1">
</FrameLayout>
<FrameLayout <fragment
android:id="@+id/toolbar_container" android:id="@+id/playback_controls_fragment"
android:layout_width="match_parent" android:name="code.name.monkey.retromusic.ui.fragments.player.color.ColorPlaybackControlsFragment"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_weight="0"> android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" />
</FrameLayout>
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0">
<androidx.appcompat.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar" android:id="@+id/player_toolbar"
style="@style/Toolbar48" style="@style/Toolbar48"
android:layout_height="48dp" android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp" android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" /> app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -15,52 +15,62 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
<FrameLayout
android:id="@+id/toolbar_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_weight="0"> android:orientation="vertical">
<androidx.appcompat.widget.Toolbar <FrameLayout
android:id="@+id/player_toolbar" android:layout_width="match_parent"
style="@style/Toolbar48" android:layout_height="wrap_content">
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout <include layout="@layout/status_bar" />
android:id="@+id/album_cover_container" </FrameLayout>
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment <FrameLayout
android:id="@+id/player_album_cover_fragment" android:id="@+id/toolbar_container"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" /> android:layout_weight="0">
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout <androidx.appcompat.widget.Toolbar
android:layout_width="match_parent" android:id="@+id/player_toolbar"
android:layout_height="wrap_content" style="@style/Toolbar48"
android:layout_weight="1"> android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
<fragment <code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/playback_controls_fragment" android:id="@+id/album_cover_container"
android:name="code.name.monkey.retromusic.ui.fragments.player.flat.FlatPlaybackControlsFragment"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="wrap_content">
tools:layout="@layout/fragment_flat_player_playback_controls" />
</FrameLayout>
</LinearLayout>
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<fragment
android:id="@+id/playback_controls_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.flat.FlatPlaybackControlsFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_flat_player_playback_controls" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -9,53 +9,64 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<code.name.monkey.retromusic.views.WidthFitSquareLayout <LinearLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1"> android:orientation="vertical">
<fragment <FrameLayout
android:id="@+id/playback_controls_fragment" android:layout_width="match_parent"
android:name="code.name.monkey.retromusic.ui.fragments.player.material.MaterialControlsFragment" android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_material_playback_controls" /> android:layout_weight="1">
</FrameLayout>
<FrameLayout <fragment
android:id="@+id/toolbar_container" android:id="@+id/playback_controls_fragment"
android:layout_width="match_parent" android:name="code.name.monkey.retromusic.ui.fragments.player.material.MaterialControlsFragment"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_weight="0"> android:layout_height="match_parent"
tools:layout="@layout/fragment_material_playback_controls" />
</FrameLayout>
<androidx.appcompat.widget.Toolbar <FrameLayout
android:id="@+id/player_toolbar" android:id="@+id/toolbar_container"
style="@style/Toolbar48" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:layout_weight="0">
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:layout_gravity="bottom"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -9,86 +9,97 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<LinearLayout <code.name.monkey.retromusic.views.FitSystemWindowsLayout
android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" />
<LinearLayout <LinearLayout
android:id="@+id/title_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="vertical"
android:paddingStart="16dp"
android:paddingEnd="16dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title"
fontPath="@string/circular_std_black"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textSize="22sp"
tools:ignore="MissingPrefix"
tools:text="Title" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textColor="?android:attr/textColorSecondary"
tools:text="Text" />
</LinearLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1"> android:orientation="vertical">
<fragment <FrameLayout
android:id="@+id/playback_controls_fragment" android:layout_width="match_parent"
android:name="code.name.monkey.retromusic.ui.fragments.player.plain.PlainPlaybackControlsFragment" android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<LinearLayout
android:id="@+id/title_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="vertical"
android:paddingStart="16dp"
android:paddingEnd="16dp">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/title"
fontPath="@string/circular_std_black"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:focusable="true"
android:focusableInTouchMode="true"
android:freezesText="true"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textSize="22sp"
tools:ignore="MissingPrefix"
tools:text="Title" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:textColor="?android:attr/textColorSecondary"
tools:text="Text" />
</LinearLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_player_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_plain_controls_fragment" /> android:layout_weight="1">
</FrameLayout>
<FrameLayout <fragment
android:id="@+id/toolbar_container" android:id="@+id/playback_controls_fragment"
android:layout_width="match_parent" android:name="code.name.monkey.retromusic.ui.fragments.player.plain.PlainPlaybackControlsFragment"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_weight="0"> android:layout_height="match_parent"
tools:layout="@layout/fragment_plain_controls_fragment" />
</FrameLayout>
<androidx.appcompat.widget.Toolbar <FrameLayout
android:id="@+id/player_toolbar" android:id="@+id/toolbar_container"
style="@style/Toolbar48" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="wrap_content"
android:navigationIcon="@drawable/ic_close_white_24dp" android:layout_weight="0">
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout> <androidx.appcompat.widget.Toolbar
</LinearLayout> android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</FrameLayout> </FrameLayout>

View file

@ -14,54 +14,63 @@
<include layout="@layout/shadow_statusbar_toolbar" /> <include layout="@layout/shadow_statusbar_toolbar" />
<code.name.monkey.retromusic.views.FitSystemWindowsLayout
<LinearLayout android:id="@+id/safeArea"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent">
android:orientation="vertical">
<include layout="@layout/status_bar" /> <LinearLayout
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="1"> android:orientation="vertical">
<fragment <FrameLayout
android:id="@+id/playback_controls_fragment" android:layout_width="match_parent"
android:name="code.name.monkey.retromusic.ui.fragments.player.normal.PlayerPlaybackControlsFragment" android:layout_height="wrap_content">
<include layout="@layout/status_bar" />
</FrameLayout>
<code.name.monkey.retromusic.views.WidthFitSquareLayout
android:id="@+id/album_cover_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<fragment
android:id="@+id/player_album_cover_fragment"
android:name="code.name.monkey.retromusic.ui.fragments.player.PlayerAlbumCoverFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:layout="@layout/fragment_album_cover" />
</code.name.monkey.retromusic.views.WidthFitSquareLayout>
<FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" /> android:layout_weight="1">
</FrameLayout>
<FrameLayout <fragment
android:id="@+id/toolbar_container" android:id="@+id/playback_controls_fragment"
android:layout_width="match_parent" android:name="code.name.monkey.retromusic.ui.fragments.player.normal.PlayerPlaybackControlsFragment"
android:layout_height="wrap_content" android:layout_width="match_parent"
android:layout_weight="0"> android:layout_height="match_parent"
tools:layout="@layout/fragment_player_playback_controls" />
</FrameLayout>
<androidx.appcompat.widget.Toolbar <FrameLayout
android:id="@+id/player_toolbar" android:id="@+id/toolbar_container"
style="@style/Toolbar48" android:layout_width="match_parent"
android:layout_height="48dp" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:layout_weight="0">
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
<androidx.appcompat.widget.Toolbar
android:id="@+id/player_toolbar"
style="@style/Toolbar48"
android:layout_height="48dp"
android:layout_gravity="bottom"
android:navigationIcon="@drawable/ic_close_white_24dp"
app:navigationIcon="@drawable/ic_close_white_24dp" />
</FrameLayout>
</LinearLayout>
</code.name.monkey.retromusic.views.FitSystemWindowsLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View file

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

View file

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

View file

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

View file

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

View file

@ -555,4 +555,7 @@
<string name="suggestion_songs">Suggestions</string> <string name="suggestion_songs">Suggestions</string>
<string name="fit">Fit</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> </resources>

View file

@ -60,7 +60,8 @@
</style> </style>
<style name="BigTitleTextAppearanceToolbar"> <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_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item> <item name="android:layout_height">wrap_content</item>
<item name="fontPath">@string/circular_std_black</item> <item name="fontPath">@string/circular_std_black</item>
@ -71,12 +72,11 @@
<style name="SubTitleTextAppearance"> <style name="SubTitleTextAppearance">
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Subhead</item> <item name="android:textAppearance">@style/TextAppearance.AppCompat.Subhead</item>
<item name="android:layout_gravity">start|center_vertical</item> <item name="android:layout_gravity">start|center_vertical</item>
<item name="android:paddingStart">12dp</item> <item name="android:padding">12dp</item>
<item name="android:paddingEnd">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_width">wrap_content</item>
<item name="android:layout_height">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>
<style name="BottomSheetTextAppearance"> <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.ATEPreferenceCategory android:title="Advanced">
<code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference <code.name.monkey.appthemehelper.common.prefs.supportv7.ATESwitchPreference
android:defaultValue="false" android:defaultValue="false"
android:key="keep_screen_on" android:key="keep_screen_on"
@ -21,6 +19,13 @@
android:title="@string/pref_keep_pause_on_zero_volume_title" android:title="@string/pref_keep_pause_on_zero_volume_title"
app:iconSpaceReserved="false" /> 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> </code.name.monkey.appthemehelper.common.prefs.supportv7.ATEPreferenceCategory>
</androidx.preference.PreferenceScreen> </androidx.preference.PreferenceScreen>

View file

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