load sort order if limiter changes
This commit is contained in:
parent
4af00dfe7b
commit
c898969de1
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2012 Christopher Eby <kreed@kreed.org>
|
* Copyright (C) 2012 Christopher Eby <kreed@kreed.org>
|
||||||
* Copyright (C) 2015 Adrian Ulrich <adrian@blinkenlights.ch>
|
* Copyright (C) 2015-2018 Adrian Ulrich <adrian@blinkenlights.ch>
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@ -459,47 +459,49 @@ public class LibraryPagerAdapter
|
|||||||
*/
|
*/
|
||||||
public void clearLimiter(int type)
|
public void clearLimiter(int type)
|
||||||
{
|
{
|
||||||
|
ArrayList<LibraryAdapter> targets = new ArrayList<LibraryAdapter>();
|
||||||
|
|
||||||
maintainPosition();
|
maintainPosition();
|
||||||
|
|
||||||
if (type == MediaUtils.TYPE_FILE) {
|
if (type == MediaUtils.TYPE_FILE) {
|
||||||
if (mFilesAdapter == null) {
|
if (mFilesAdapter == null) {
|
||||||
mPendingFileLimiter = null;
|
mPendingFileLimiter = null;
|
||||||
} else {
|
} else {
|
||||||
mFilesAdapter.setLimiter(null);
|
targets.add(mFilesAdapter);
|
||||||
requestRequery(mFilesAdapter);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (mArtistAdapter == null) {
|
if (mArtistAdapter == null) {
|
||||||
mPendingArtistLimiter = null;
|
mPendingArtistLimiter = null;
|
||||||
} else {
|
} else {
|
||||||
mArtistAdapter.setLimiter(null);
|
targets.add(mArtistAdapter);
|
||||||
requestRequery(mArtistAdapter);
|
|
||||||
}
|
}
|
||||||
if (mAlbArtAdapter == null) {
|
if (mAlbArtAdapter == null) {
|
||||||
mPendingAlbArtLimiter = null;
|
mPendingAlbArtLimiter = null;
|
||||||
} else {
|
} else {
|
||||||
mAlbArtAdapter.setLimiter(null);
|
targets.add(mAlbArtAdapter);
|
||||||
requestRequery(mAlbArtAdapter);
|
|
||||||
}
|
}
|
||||||
if (mComposerAdapter == null) {
|
if (mComposerAdapter == null) {
|
||||||
mPendingComposerLimiter = null;
|
mPendingComposerLimiter = null;
|
||||||
} else {
|
} else {
|
||||||
mComposerAdapter.setLimiter(null);
|
targets.add(mComposerAdapter);
|
||||||
requestRequery(mComposerAdapter);
|
|
||||||
}
|
}
|
||||||
if (mAlbumAdapter == null) {
|
if (mAlbumAdapter == null) {
|
||||||
mPendingAlbumLimiter = null;
|
mPendingAlbumLimiter = null;
|
||||||
} else {
|
} else {
|
||||||
mAlbumAdapter.setLimiter(null);
|
targets.add(mAlbumAdapter);
|
||||||
requestRequery(mAlbumAdapter);
|
|
||||||
}
|
}
|
||||||
if (mSongAdapter == null) {
|
if (mSongAdapter == null) {
|
||||||
mPendingSongLimiter = null;
|
mPendingSongLimiter = null;
|
||||||
} else {
|
} else {
|
||||||
mSongAdapter.setLimiter(null);
|
targets.add(mSongAdapter);
|
||||||
requestRequery(mSongAdapter);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (LibraryAdapter adapter : targets) {
|
||||||
|
adapter.setLimiter(null);
|
||||||
|
loadSortOrder((SortableAdapter)adapter);
|
||||||
|
requestRequery(adapter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -511,6 +513,7 @@ public class LibraryPagerAdapter
|
|||||||
public int setLimiter(Limiter limiter)
|
public int setLimiter(Limiter limiter)
|
||||||
{
|
{
|
||||||
int tab;
|
int tab;
|
||||||
|
ArrayList<LibraryAdapter> targets = new ArrayList<LibraryAdapter>();
|
||||||
|
|
||||||
maintainPosition();
|
maintainPosition();
|
||||||
|
|
||||||
@ -519,8 +522,7 @@ public class LibraryPagerAdapter
|
|||||||
if (mSongAdapter == null) {
|
if (mSongAdapter == null) {
|
||||||
mPendingSongLimiter = limiter;
|
mPendingSongLimiter = limiter;
|
||||||
} else {
|
} else {
|
||||||
mSongAdapter.setLimiter(limiter);
|
targets.add(mSongAdapter);
|
||||||
requestRequery(mSongAdapter);
|
|
||||||
}
|
}
|
||||||
tab = getMediaTypePosition(MediaUtils.TYPE_SONG);
|
tab = getMediaTypePosition(MediaUtils.TYPE_SONG);
|
||||||
break;
|
break;
|
||||||
@ -530,14 +532,12 @@ public class LibraryPagerAdapter
|
|||||||
if (mAlbumAdapter == null) {
|
if (mAlbumAdapter == null) {
|
||||||
mPendingAlbumLimiter = limiter;
|
mPendingAlbumLimiter = limiter;
|
||||||
} else {
|
} else {
|
||||||
mAlbumAdapter.setLimiter(limiter);
|
targets.add(mAlbumAdapter);
|
||||||
requestRequery(mAlbumAdapter);
|
|
||||||
}
|
}
|
||||||
if (mSongAdapter == null) {
|
if (mSongAdapter == null) {
|
||||||
mPendingSongLimiter = limiter;
|
mPendingSongLimiter = limiter;
|
||||||
} else {
|
} else {
|
||||||
mSongAdapter.setLimiter(limiter);
|
targets.add(mSongAdapter);
|
||||||
requestRequery(mSongAdapter);
|
|
||||||
}
|
}
|
||||||
tab = getMediaTypePosition(MediaUtils.TYPE_ALBUM);
|
tab = getMediaTypePosition(MediaUtils.TYPE_ALBUM);
|
||||||
if (tab == -1)
|
if (tab == -1)
|
||||||
@ -547,32 +547,27 @@ public class LibraryPagerAdapter
|
|||||||
if (mArtistAdapter == null) {
|
if (mArtistAdapter == null) {
|
||||||
mPendingArtistLimiter = limiter;
|
mPendingArtistLimiter = limiter;
|
||||||
} else {
|
} else {
|
||||||
mArtistAdapter.setLimiter(limiter);
|
targets.add(mArtistAdapter);
|
||||||
requestRequery(mArtistAdapter);
|
|
||||||
}
|
}
|
||||||
if (mAlbArtAdapter == null) {
|
if (mAlbArtAdapter == null) {
|
||||||
mPendingAlbArtLimiter = limiter;
|
mPendingAlbArtLimiter = limiter;
|
||||||
} else {
|
} else {
|
||||||
mAlbArtAdapter.setLimiter(limiter);
|
targets.add(mAlbArtAdapter);
|
||||||
requestRequery(mAlbArtAdapter);
|
|
||||||
}
|
}
|
||||||
if (mComposerAdapter == null) {
|
if (mComposerAdapter == null) {
|
||||||
mPendingComposerLimiter = limiter;
|
mPendingComposerLimiter = limiter;
|
||||||
} else {
|
} else {
|
||||||
mComposerAdapter.setLimiter(limiter);
|
targets.add(mComposerAdapter);
|
||||||
requestRequery(mComposerAdapter);
|
|
||||||
}
|
}
|
||||||
if (mAlbumAdapter == null) {
|
if (mAlbumAdapter == null) {
|
||||||
mPendingAlbumLimiter = limiter;
|
mPendingAlbumLimiter = limiter;
|
||||||
} else {
|
} else {
|
||||||
mAlbumAdapter.setLimiter(limiter);
|
targets.add(mAlbumAdapter);
|
||||||
requestRequery(mAlbumAdapter);
|
|
||||||
}
|
}
|
||||||
if (mSongAdapter == null) {
|
if (mSongAdapter == null) {
|
||||||
mPendingSongLimiter = limiter;
|
mPendingSongLimiter = limiter;
|
||||||
} else {
|
} else {
|
||||||
mSongAdapter.setLimiter(limiter);
|
targets.add(mSongAdapter);
|
||||||
requestRequery(mSongAdapter);
|
|
||||||
}
|
}
|
||||||
tab = getMediaTypePosition(MediaUtils.TYPE_ARTIST);
|
tab = getMediaTypePosition(MediaUtils.TYPE_ARTIST);
|
||||||
if (tab == -1)
|
if (tab == -1)
|
||||||
@ -584,12 +579,11 @@ public class LibraryPagerAdapter
|
|||||||
if (mFilesAdapter == null) {
|
if (mFilesAdapter == null) {
|
||||||
mPendingFileLimiter = limiter;
|
mPendingFileLimiter = limiter;
|
||||||
} else {
|
} else {
|
||||||
mFilesAdapter.setLimiter(limiter);
|
targets.add(mFilesAdapter);
|
||||||
// forcefully jump to beginning - commit query might restore a saved position
|
// forcefully jump to beginning - commit query might restore a saved position
|
||||||
// but if it doesn't we would end up at the same scrolling position in a new
|
// but if it doesn't we would end up at the same scrolling position in a new
|
||||||
// folder which is uncool.
|
// folder which is uncool.
|
||||||
mLists[MediaUtils.TYPE_FILE].setSelection(0);
|
mLists[MediaUtils.TYPE_FILE].setSelection(0);
|
||||||
requestRequery(mFilesAdapter);
|
|
||||||
}
|
}
|
||||||
tab = getMediaTypePosition(MediaUtils.TYPE_FILE);
|
tab = getMediaTypePosition(MediaUtils.TYPE_FILE);
|
||||||
break;
|
break;
|
||||||
@ -597,6 +591,12 @@ public class LibraryPagerAdapter
|
|||||||
throw new IllegalArgumentException("Unsupported limiter type: " + limiter.type);
|
throw new IllegalArgumentException("Unsupported limiter type: " + limiter.type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (LibraryAdapter adapter : targets) {
|
||||||
|
adapter.setLimiter(limiter);
|
||||||
|
loadSortOrder((SortableAdapter)adapter);
|
||||||
|
requestRequery(adapter);
|
||||||
|
}
|
||||||
|
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user