add option to remove limit on query size

This commit is contained in:
dkanada 2020-06-19 07:34:46 +09:00
commit d5476cc9d0
5 changed files with 46 additions and 10 deletions

View file

@ -22,6 +22,7 @@ import java.util.List;
public final class PreferenceUtil {
public static final String CATEGORIES = "library_categories";
public static final String MAXIMUM_LIST_SIZE = "maximum_list_size";
public static final String REMEMBER_LAST_TAB = "remember_last_tab";
public static final String LAST_TAB = "last_tab";
@ -47,22 +48,22 @@ public final class PreferenceUtil {
public static final String ARTIST_COLORED_FOOTERS = "artist_colored_footers";
public static final String ALBUM_ARTIST_COLORED_FOOTERS = "album_artist_colored_footers";
public static final String COLORED_NOTIFICATION = "colored_notification";
public static final String CLASSIC_NOTIFICATION = "classic_notification";
public static final String GENERAL_THEME = "general_theme";
public static final String COLORED_NAVIGATION_BAR = "should_color_navigation_bar";
public static final String COLORED_SHORTCUTS = "colored_shortcuts";
public static final String CLASSIC_NOTIFICATION = "classic_notification";
public static final String COLORED_NOTIFICATION = "colored_notification";
public static final String SHOW_ALBUM_COVER = "show_album_cover";
public static final String BLUR_ALBUM_COVER = "blur_album_cover";
public static final String TRANSCODE_CODEC = "transcode_codec";
public static final String MAXIMUM_BITRATE = "maximum_bitrate";
public static final String AUDIO_DUCKING = "audio_ducking";
public static final String REMEMBER_SHUFFLE = "remember_shuffle";
public static final String REMEMBER_QUEUE = "remember_queue";
public static final String SHOW_ALBUM_COVER = "show_album_cover";
public static final String BLUR_ALBUM_COVER = "blur_album_cover";
public static final String SLEEP_TIMER_LAST_VALUE = "sleep_timer_last_value";
public static final String SLEEP_TIMER_ELAPSED_REALTIME = "sleep_timer_elapsed_real_time";
public static final String SLEEP_TIMER_FINISH_SONG = "sleep_timer_finish_music";
@ -113,6 +114,10 @@ public final class PreferenceUtil {
return mPreferences.getBoolean(REMEMBER_LAST_TAB, true);
}
public final int getMaximumListSize() {
return Integer.parseInt(mPreferences.getString(MAXIMUM_LIST_SIZE, "100"));
}
public final int getLastTab() {
return mPreferences.getInt(LAST_TAB, 0);
}
@ -149,8 +154,7 @@ public final class PreferenceUtil {
}
public final boolean getClassicNotification() {
return mPreferences.getBoolean(CLASSIC_NOTIFICATION,
Build.VERSION.SDK_INT <= Build.VERSION_CODES.O);
return mPreferences.getBoolean(CLASSIC_NOTIFICATION, Build.VERSION.SDK_INT <= Build.VERSION_CODES.O);
}
public void setClassicNotification(final boolean value) {

View file

@ -185,8 +185,10 @@ public class QueryUtil {
private static void applyProperties(ItemQuery query) {
query.setUserId(App.getApiClient().getCurrentUserId());
if (query.getParentId() == null && query.getArtistIds().length == 0) query.setLimit(100);
query.setRecursive(true);
if (query.getParentId() == null && query.getArtistIds().length == 0) {
query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getMaximumListSize());
}
if (currentLibrary == null || query.getParentId() != null) return;
if (query.getArtistIds().length == 0) query.setParentId(currentLibrary.getId());
@ -194,8 +196,10 @@ public class QueryUtil {
private static void applyProperties(ItemsByNameQuery query) {
query.setUserId(App.getApiClient().getCurrentUserId());
if (query.getParentId() == null) query.setLimit(100);
query.setRecursive(true);
if (query.getParentId() == null) {
query.setLimit(PreferenceUtil.getInstance(App.getInstance()).getMaximumListSize());
}
if (currentLibrary == null || query.getParentId() != null) return;
query.setParentId(currentLibrary.getId());

View file

@ -35,4 +35,21 @@
<item>256000</item>
<item>128000</item>
</string-array>
<string-array name="pref_maximum_list_size_titles">
<item>@string/unlimited</item>
<item>1000</item>
<item>400</item>
<item>200</item>
<item>100</item>
</string-array>
<string-array name="pref_maximum_list_size_values">
<item>10000000</item>
<item>1000</item>
<item>400</item>
<item>200</item>
<item>100</item>
</string-array>
</resources>

View file

@ -115,6 +115,7 @@
<string name="pref_title_remember_last_tab">Remember Tab</string>
<string name="pref_title_remember_shuffle">Remember Shuffle</string>
<string name="pref_title_remember_queue">Remember Queue</string>
<string name="pref_title_maximum_list_size">Maximum List Size</string>
<string name="primary_color_desc">The primary theme color for control elements.</string>
<string name="accent_color_desc">An alternate color used to accent elements.</string>
<string name="pref_summary_album_art_on_lockscreen">Uses the current song\'s album cover as the lockscreen wallpaper.</string>

View file

@ -9,6 +9,16 @@
android:summary="@string/pref_summary_library_categories"
android:title="@string/library_categories" />
<com.kabouzeid.appthemehelper.common.prefs.supportv7.ATEListPreference
app:iconSpaceReserved="false"
android:defaultValue="100"
android:entries="@array/pref_maximum_list_size_titles"
android:entryValues="@array/pref_maximum_list_size_values"
android:key="maximum_list_size"
android:negativeButtonText="@null"
android:positiveButtonText="@null"
android:title="@string/pref_title_maximum_list_size" />
<com.kabouzeid.appthemehelper.common.prefs.supportv7.ATESwitchPreference
app:iconSpaceReserved="false"
android:defaultValue="true"