Merge branch 'master' into album-actions

This commit is contained in:
Eugene Cheung 2017-07-07 18:08:19 -04:00 committed by GitHub
commit 9e69136b1d
178 changed files with 628 additions and 514 deletions

View file

@ -21,7 +21,6 @@ import com.kabouzeid.gramophone.dialogs.DonationsDialog;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import com.kabouzeid.gramophone.ui.activities.bugreport.BugReportActivity;
import com.kabouzeid.gramophone.ui.activities.intro.AppIntroActivity;
import com.kabouzeid.gramophone.util.ViewUtil;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -69,7 +68,7 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
LinearLayout addToGooglePlusCircles;
@BindView(R.id.follow_on_twitter)
LinearLayout followOnTwitter;
@BindView(R.id.fork_on_git_hub)
@BindView(R.id.fork_on_github)
LinearLayout forkOnGitHub;
@BindView(R.id.visit_website)
LinearLayout visitWebsite;
@ -95,8 +94,6 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
AppCompatButton maartenCorpelGooglePlus;
@BindView(R.id.aleksandar_tesic_google_plus)
AppCompatButton aleksandarTesicGooglePlus;
@BindView(R.id.status_bar)
View statusBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -108,7 +105,6 @@ public class AboutActivity extends AbsBaseActivity implements View.OnClickListen
setStatusbarColorAuto();
setNavigationbarColorAuto();
setTaskDescriptionColorAuto();
ViewUtil.setStatusBarHeight(this, statusBar);
setUpViews();
}

View file

@ -5,18 +5,23 @@ import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.LoaderManager;
import android.support.v4.content.Loader;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.text.Html;
import android.text.Spanned;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.afollestad.materialcab.MaterialCab;
import com.afollestad.materialdialogs.MaterialDialog;
import com.afollestad.materialdialogs.util.DialogUtils;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestListener;
@ -36,6 +41,8 @@ import com.kabouzeid.gramophone.helper.MusicPlayerRemote;
import com.kabouzeid.gramophone.interfaces.CabHolder;
import com.kabouzeid.gramophone.interfaces.LoaderIds;
import com.kabouzeid.gramophone.interfaces.PaletteColorHolder;
import com.kabouzeid.gramophone.lastfm.rest.LastFMRestClient;
import com.kabouzeid.gramophone.lastfm.rest.model.LastFmAlbum;
import com.kabouzeid.gramophone.loader.AlbumLoader;
import com.kabouzeid.gramophone.misc.SimpleObservableScrollViewCallbacks;
import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader;
@ -47,12 +54,16 @@ import com.kabouzeid.gramophone.ui.activities.tageditor.AlbumTagEditorActivity;
import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PhonographColorUtil;
import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil;
import java.util.Locale;
import java.util.ArrayList;
import butterknife.BindView;
import butterknife.ButterKnife;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
/**
* Be careful when changing things in this Activity!
@ -77,8 +88,6 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
TextView albumTitleView;
@BindView(R.id.list_background)
View songsBackgroundView;
@BindView(R.id.status_bar)
View statusBar;
private AlbumSongAdapter adapter;
@ -89,6 +98,11 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
private int toolbarColor;
private float toolbarAlpha;
@Nullable
private Spanned wiki;
private MaterialDialog wikiDialog;
private LastFMRestClient lastFMRestClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -97,10 +111,11 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
supportPostponeEnterTransition();
lastFMRestClient = new LastFMRestClient(this);
setUpObservableListViewParams();
setUpToolBar();
setUpViews();
ViewUtil.setStatusBarHeight(this, statusBar);
getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this);
}
@ -242,6 +257,49 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
return true;
}
private void loadWiki() {
loadWiki(Locale.getDefault().getLanguage());
}
private void loadWiki(@Nullable final String lang) {
wiki = null;
lastFMRestClient.getApiService()
.getAlbumInfo(getAlbum().getTitle(), getAlbum().getArtistName(), lang)
.enqueue(new Callback<LastFmAlbum>() {
@Override
public void onResponse(@NonNull Call<LastFmAlbum> call, @NonNull Response<LastFmAlbum> response) {
final LastFmAlbum lastFmAlbum = response.body();
if (lastFmAlbum != null && lastFmAlbum.getAlbum() != null && lastFmAlbum.getAlbum().getWiki() != null) {
final String wikiContent = lastFmAlbum.getAlbum().getWiki().getContent();
if (wikiContent != null && !wikiContent.trim().isEmpty()) {
wiki = Html.fromHtml(wikiContent);
}
}
// If the "lang" parameter is set and no wiki is given, retry with default language
if (wiki == null && lang != null) {
loadWiki(null);
return;
}
if (!Util.isAllowedToDownloadMetadata(AlbumDetailActivity.this)) {
if (wiki != null) {
wikiDialog.setContent(wiki);
} else {
wikiDialog.dismiss();
Toast.makeText(AlbumDetailActivity.this, getResources().getString(R.string.wiki_unavailable), Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onFailure(@NonNull Call<LastFmAlbum> call, @NonNull Throwable t) {
t.printStackTrace();
}
});
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
@ -279,6 +337,25 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
case R.id.action_go_to_artist:
NavigationUtil.goToArtist(this, getAlbum().getArtistId());
return true;
case R.id.action_wiki:
if (wikiDialog == null) {
wikiDialog = new MaterialDialog.Builder(this)
.title(album.getTitle())
.positiveText(android.R.string.ok)
.build();
}
if (Util.isAllowedToDownloadMetadata(this)) {
if (wiki != null) {
wikiDialog.setContent(wiki);
wikiDialog.show();
} else {
Toast.makeText(this, getResources().getString(R.string.wiki_unavailable), Toast.LENGTH_SHORT).show();
}
} else {
wikiDialog.show();
loadWiki();
}
return true;
}
return super.onOptionsItemSelected(item);
}
@ -345,6 +422,11 @@ public class AlbumDetailActivity extends AbsSlidingMusicPanelActivity implements
private void setAlbum(Album album) {
this.album = album;
loadAlbumCover();
if (Util.isAllowedToDownloadMetadata(this)) {
loadWiki();
}
albumTitleView.setText(album.getTitle());
adapter.swapDataSet(album.songs);
}

View file

@ -57,7 +57,8 @@ import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PhonographColorUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil;
import java.util.Locale;
import java.util.ArrayList;
@ -87,8 +88,6 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
TextView artistName;
@BindView(R.id.toolbar)
Toolbar toolbar;
@BindView(R.id.status_bar)
View statusBar;
View songListHeader;
RecyclerView albumRecyclerView;
@ -104,6 +103,7 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
private Artist artist;
@Nullable
private Spanned biography;
private MaterialDialog biographyDialog;
private HorizontalAlbumAdapter albumAdapter;
private ArtistSongAdapter songAdapter;
@ -118,13 +118,12 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
supportPostponeEnterTransition();
lastFMRestClient = new LastFMRestClient(this);
usePalette=PreferenceUtil.getInstance(this).albumArtistColoredFooters();
usePalette = PreferenceUtil.getInstance(this).albumArtistColoredFooters();
initViews();
setUpObservableListViewParams();
setUpViews();
setUpToolbar();
ViewUtil.setStatusBarHeight(this, statusBar);
getSupportLoaderManager().initLoader(LOADER_ID, getIntent().getExtras(), this);
}
@ -227,34 +226,47 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
}
private void loadBiography() {
lastFMRestClient.getApiService().getArtistInfo(getArtist().getName(), null).enqueue(new Callback<LastFmArtist>() {
@Override
public void onResponse(Call<LastFmArtist> call, Response<LastFmArtist> response) {
LastFmArtist lastFmArtist = response.body();
if (lastFmArtist.getArtist() != null) {
String bio = lastFmArtist.getArtist().getBio().getContent();
if (bio != null && !bio.trim().equals("")) {
biography = Html.fromHtml(bio);
return;
}
}
biography = null;
}
@Override
public void onFailure(Call<LastFmArtist> call, Throwable t) {
t.printStackTrace();
biography = null;
}
});
loadBiography(Locale.getDefault().getLanguage());
}
private MaterialDialog getBiographyDialog() {
return new MaterialDialog.Builder(ArtistDetailActivity.this)
.title(getArtist().getName())
.content(biography != null ? biography : "")
.positiveText(android.R.string.ok)
.build();
private void loadBiography(@Nullable final String lang) {
biography = null;
lastFMRestClient.getApiService()
.getArtistInfo(getArtist().getName(), lang, null)
.enqueue(new Callback<LastFmArtist>() {
@Override
public void onResponse(@NonNull Call<LastFmArtist> call, @NonNull Response<LastFmArtist> response) {
final LastFmArtist lastFmArtist = response.body();
if (lastFmArtist != null && lastFmArtist.getArtist() != null) {
final String bioContent = lastFmArtist.getArtist().getBio().getContent();
if (bioContent != null && !bioContent.trim().isEmpty()) {
biography = Html.fromHtml(bioContent);
}
}
// If the "lang" parameter is set and no biography is given, retry with default language
if (biography == null && lang != null) {
loadBiography(null);
return;
}
if (!Util.isAllowedToDownloadMetadata(ArtistDetailActivity.this)) {
if (biography != null) {
biographyDialog.setContent(biography);
} else {
biographyDialog.dismiss();
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.biography_unavailable), Toast.LENGTH_SHORT).show();
}
}
}
@Override
public void onFailure(@NonNull Call<LastFmArtist> call, @NonNull Throwable t) {
t.printStackTrace();
biography = null;
}
});
}
private void loadArtistImage(final boolean forceDownload) {
@ -357,10 +369,22 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
super.onBackPressed();
return true;
case R.id.action_biography:
if (biography != null) {
getBiographyDialog().show();
if (biographyDialog == null) {
biographyDialog = new MaterialDialog.Builder(this)
.title(artist.getName())
.positiveText(android.R.string.ok)
.build();
}
if (Util.isAllowedToDownloadMetadata(ArtistDetailActivity.this)) {
if (biography != null) {
biographyDialog.setContent(biography);
biographyDialog.show();
} else {
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.biography_unavailable), Toast.LENGTH_SHORT).show();
}
} else {
Toast.makeText(ArtistDetailActivity.this, getResources().getString(R.string.biography_unavailable), Toast.LENGTH_SHORT).show();
biographyDialog.show();
loadBiography();
}
return true;
case R.id.action_re_download_artist_image:
@ -428,7 +452,11 @@ public class ArtistDetailActivity extends AbsSlidingMusicPanelActivity implement
private void setArtist(Artist artist) {
this.artist = artist;
loadArtistImage(false);
loadBiography();
if (Util.isAllowedToDownloadMetadata(this)) {
loadBiography();
}
artistName.setText(artist.getName());
songAdapter.swapDataSet(artist.getSongs());
albumAdapter.swapDataSet(artist.albums);

View file

@ -61,8 +61,6 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
Toolbar toolbar;
@BindView(android.R.id.empty)
TextView empty;
@BindView(R.id.status_bar)
View statusBar;
private Playlist playlist;
@ -81,7 +79,6 @@ public class PlaylistDetailActivity extends AbsSlidingMusicPanelActivity impleme
setStatusbarColorAuto();
setNavigationbarColorAuto();
setTaskDescriptionColorAuto();
ViewUtil.setStatusBarHeight(this, statusBar);
playlist = getIntent().getExtras().getParcelable(EXTRA_PLAYLIST);

View file

@ -27,7 +27,6 @@ import com.kabouzeid.gramophone.loader.SongLoader;
import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader;
import com.kabouzeid.gramophone.ui.activities.base.AbsMusicServiceActivity;
import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil;
import java.util.ArrayList;
import java.util.Collections;
@ -47,8 +46,6 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie
Toolbar toolbar;
@BindView(android.R.id.empty)
TextView empty;
@BindView(R.id.status_bar)
View statusBar;
SearchView searchView;
@ -65,7 +62,6 @@ public class SearchActivity extends AbsMusicServiceActivity implements SearchVie
setStatusbarColorAuto();
setNavigationbarColorAuto();
setTaskDescriptionColorAuto();
ViewUtil.setStatusBarHeight(this, statusBar);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
adapter = new SearchAdapter(this, Collections.emptyList());

View file

@ -33,7 +33,6 @@ import com.kabouzeid.gramophone.service.MusicService;
import com.kabouzeid.gramophone.ui.activities.base.AbsBaseActivity;
import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.kabouzeid.gramophone.util.ViewUtil;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -43,8 +42,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
@BindView(R.id.toolbar)
Toolbar toolbar;
@BindView(R.id.status_bar)
View statusBar;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
@ -56,7 +53,6 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
setStatusbarColorAuto();
setNavigationbarColorAuto();
setTaskDescriptionColorAuto();
ViewUtil.setStatusBarHeight(this, statusBar);
toolbar.setBackgroundColor(ThemeStore.primaryColor(this));
setSupportActionBar(toolbar);

View file

@ -100,7 +100,7 @@ public class AlbumTagEditorActivity extends AbsTagEditorActivity implements Text
Toast.makeText(this, getResources().getString(R.string.album_or_artist_empty), Toast.LENGTH_SHORT).show();
return;
}
lastFMRestClient.getApiService().getAlbumInfo(albumTitleStr, albumArtistNameStr).enqueue(new Callback<LastFmAlbum>() {
lastFMRestClient.getApiService().getAlbumInfo(albumTitleStr, albumArtistNameStr, null).enqueue(new Callback<LastFmAlbum>() {
@Override
public void onResponse(Call<LastFmAlbum> call, Response<LastFmAlbum> response) {
LastFmAlbum lastFmAlbum = response.body();

View file

@ -92,8 +92,6 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi
AppBarLayout appbar;
@BindView(R.id.recycler_view)
FastScrollRecyclerView recyclerView;
@BindView(R.id.status_bar)
View statusBar;
private SongFileAdapter adapter;
private MaterialCab cab;
@ -170,7 +168,6 @@ public class FoldersFragment extends AbsMainActivityFragment implements MainActi
setUpBreadCrumbs();
setUpRecyclerView();
setUpAdapter();
ViewUtil.setStatusBarHeight(getActivity(), statusBar);
}
private void setUpAppbarColor() {

View file

@ -39,7 +39,6 @@ import com.kabouzeid.gramophone.util.NavigationUtil;
import com.kabouzeid.gramophone.util.PhonographColorUtil;
import com.kabouzeid.gramophone.util.PreferenceUtil;
import com.kabouzeid.gramophone.util.Util;
import com.kabouzeid.gramophone.util.ViewUtil;
import butterknife.BindView;
import butterknife.ButterKnife;
@ -58,8 +57,6 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
AppBarLayout appbar;
@BindView(R.id.pager)
ViewPager pager;
@BindView(R.id.status_bar)
View statusBar;
private MusicLibraryPagerAdapter pagerAdapter;
private MaterialCab cab;
@ -93,8 +90,6 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
setUpToolbar();
setUpViewPager();
setUpStatusBar();
ViewUtil.setStatusBarHeight(getActivity(), statusBar);
}
private void setUpToolbar() {
@ -127,12 +122,6 @@ public class LibraryFragment extends AbsMainActivityFragment implements CabHolde
pager.addOnPageChangeListener(this);
}
private void setUpStatusBar() {
ViewGroup.LayoutParams layoutParams = statusBar.getLayoutParams();
layoutParams.height = Util.getStatusBarHeight(getMainActivity());
statusBar.setLayoutParams(layoutParams);
}
public Fragment getCurrentFragment() {
return pagerAdapter.getFragment(pager.getCurrentItem());
}

View file

@ -9,8 +9,8 @@ import android.support.v7.widget.GridLayoutManager;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.album.AlbumAdapter;
import com.kabouzeid.gramophone.loader.AlbumLoader;
import com.kabouzeid.gramophone.interfaces.LoaderIds;
import com.kabouzeid.gramophone.loader.AlbumLoader;
import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader;
import com.kabouzeid.gramophone.model.Album;
import com.kabouzeid.gramophone.util.PreferenceUtil;

View file

@ -9,8 +9,8 @@ import android.support.v7.widget.GridLayoutManager;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.artist.ArtistAdapter;
import com.kabouzeid.gramophone.loader.ArtistLoader;
import com.kabouzeid.gramophone.interfaces.LoaderIds;
import com.kabouzeid.gramophone.loader.ArtistLoader;
import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader;
import com.kabouzeid.gramophone.model.Artist;
import com.kabouzeid.gramophone.util.PreferenceUtil;

View file

@ -9,8 +9,8 @@ import android.support.v7.widget.LinearLayoutManager;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.PlaylistAdapter;
import com.kabouzeid.gramophone.loader.PlaylistLoader;
import com.kabouzeid.gramophone.interfaces.LoaderIds;
import com.kabouzeid.gramophone.loader.PlaylistLoader;
import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader;
import com.kabouzeid.gramophone.model.Playlist;
import com.kabouzeid.gramophone.model.smartplaylist.HistoryPlaylist;

View file

@ -10,8 +10,8 @@ import android.support.v7.widget.GridLayoutManager;
import com.kabouzeid.gramophone.R;
import com.kabouzeid.gramophone.adapter.song.ShuffleButtonSongAdapter;
import com.kabouzeid.gramophone.adapter.song.SongAdapter;
import com.kabouzeid.gramophone.loader.SongLoader;
import com.kabouzeid.gramophone.interfaces.LoaderIds;
import com.kabouzeid.gramophone.loader.SongLoader;
import com.kabouzeid.gramophone.misc.WrappedAsyncTaskLoader;
import com.kabouzeid.gramophone.model.Song;
import com.kabouzeid.gramophone.util.PreferenceUtil;

View file

@ -88,6 +88,10 @@ public abstract class AbsPlayerFragment extends AbsMusicServiceFragment implemen
MusicUtil.toggleFavorite(getActivity(), song);
}
protected String getUpNextAndQueueTime() {
return getResources().getString(R.string.up_next) + "" + MusicUtil.getReadableDurationString(MusicPlayerRemote.getQueueDurationMillis(MusicPlayerRemote.getPosition()));
}
public abstract void onShow();
public abstract void onHide();

View file

@ -119,12 +119,6 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
setUpPlayerToolbar();
setUpSubFragments();
// portrait view doesn't have a statusBar, so can't bind it up top as will throw an exception.
View statusBar = view.findViewById(R.id.status_bar);
if (statusBar != null) {
ViewUtil.setStatusBarHeight(getActivity(), statusBar);
}
setUpRecyclerView();
slidingUpPanelLayout.addPanelSlideListener(this);
@ -204,7 +198,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
private void updateQueue() {
playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
playerQueueSubHeader.setText(getResources().getString(R.string.up_next) + "" + MusicUtil.getReadableDurationString(MusicPlayerRemote.getQueueDurationMillis(MusicPlayerRemote.getPosition())));
playerQueueSubHeader.setText(getUpNextAndQueueTime());
if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
resetToCurrentPosition();
}
@ -212,7 +206,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
private void updateQueuePosition() {
playingQueueAdapter.setCurrent(MusicPlayerRemote.getPosition());
playerQueueSubHeader.setText(getResources().getString(R.string.up_next) + "" + MusicUtil.getReadableDurationString(MusicPlayerRemote.getQueueDurationMillis(MusicPlayerRemote.getPosition())));
playerQueueSubHeader.setText(getUpNextAndQueueTime());
if (slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
resetToCurrentPosition();
}
@ -323,6 +317,7 @@ public class CardPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
try {
return AudioFileIO.read(new File(song.data)).getTagOrCreateDefault().getFirst(FieldKey.LYRICS);
} catch (Exception e) {
e.printStackTrace();
cancel(false);
return null;
}

View file

@ -114,9 +114,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
impl.init();
setUpPlayerToolbar();
setUpStatusBar();
setUpSubFragments();
ViewUtil.setStatusBarHeight(getActivity(), playerStatusBar);
setUpRecyclerView();
@ -196,7 +194,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
private void updateQueue() {
playingQueueAdapter.swapDataSet(MusicPlayerRemote.getPlayingQueue(), MusicPlayerRemote.getPosition());
playerQueueSubHeader.setText(getResources().getString(R.string.up_next) + "" + MusicUtil.getReadableDurationString(MusicPlayerRemote.getQueueDurationMillis(MusicPlayerRemote.getPosition())));
playerQueueSubHeader.setText(getUpNextAndQueueTime());
if (slidingUpPanelLayout == null || slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
resetToCurrentPosition();
}
@ -204,7 +202,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
private void updateQueuePosition() {
playingQueueAdapter.setCurrent(MusicPlayerRemote.getPosition());
playerQueueSubHeader.setText(getResources().getString(R.string.up_next) + "" + MusicUtil.getReadableDurationString(MusicPlayerRemote.getQueueDurationMillis(MusicPlayerRemote.getPosition())));
playerQueueSubHeader.setText(getUpNextAndQueueTime());
if (slidingUpPanelLayout == null || slidingUpPanelLayout.getPanelState() == SlidingUpPanelLayout.PanelState.COLLAPSED) {
resetToCurrentPosition();
}
@ -234,12 +232,6 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
toolbar.setOnMenuItemClickListener(this);
}
private void setUpStatusBar() {
ViewGroup.LayoutParams layoutParams = playerStatusBar.getLayoutParams();
layoutParams.height = Util.getStatusBarHeight(getActivity());
playerStatusBar.setLayoutParams(layoutParams);
}
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
@ -321,6 +313,7 @@ public class FlatPlayerFragment extends AbsPlayerFragment implements PlayerAlbum
try {
return AudioFileIO.read(new File(song.data)).getTagOrCreateDefault().getFirst(FieldKey.LYRICS);
} catch (Exception e) {
e.printStackTrace();
cancel(false);
return null;
}