mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-08-21 01:59:05 +02:00
Fix drawdown for paging with many of the same first letters, update series sequence ascending/descending string, universalize default drawdown grouping limit
This commit is contained in:
parent
8e6e0cf673
commit
847bedb65c
4 changed files with 15 additions and 13 deletions
|
@ -166,7 +166,7 @@ data class DeviceSettings(
|
||||||
languageCode = "en-us",
|
languageCode = "en-us",
|
||||||
downloadUsingCellular = DownloadUsingCellularSetting.ALWAYS,
|
downloadUsingCellular = DownloadUsingCellularSetting.ALWAYS,
|
||||||
streamingUsingCellular = StreamingUsingCellularSetting.ALWAYS,
|
streamingUsingCellular = StreamingUsingCellularSetting.ALWAYS,
|
||||||
androidAutoBrowseLimitForGrouping = 50,
|
androidAutoBrowseLimitForGrouping = 100,
|
||||||
androidAutoBrowseSeriesSequenceOrder = AndroidAutoBrowseSeriesSequenceOrderSetting.ASC
|
androidAutoBrowseSeriesSequenceOrder = AndroidAutoBrowseSeriesSequenceOrderSetting.ASC
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1372,8 +1372,9 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||||
Log.d(tag, "Loading series from library ${mediaIdParts[2]} with paging ${mediaIdParts[4]}")
|
Log.d(tag, "Loading series from library ${mediaIdParts[2]} with paging ${mediaIdParts[4]}")
|
||||||
mediaManager.loadLibrarySeriesWithAudio(mediaIdParts[2], mediaIdParts[4]) { seriesItems ->
|
mediaManager.loadLibrarySeriesWithAudio(mediaIdParts[2], mediaIdParts[4]) { seriesItems ->
|
||||||
Log.d(tag, "Received ${seriesItems.size} series")
|
Log.d(tag, "Received ${seriesItems.size} series")
|
||||||
if (seriesItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping) {
|
|
||||||
val seriesLetters = seriesItems.groupingBy { iwb -> iwb.title.substring(0, mediaIdParts[4].length + 1).uppercase() }.eachCount()
|
val seriesLetters = seriesItems.groupingBy { iwb -> iwb.title.substring(0, mediaIdParts[4].length + 1).uppercase() }.eachCount()
|
||||||
|
if (seriesItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping && seriesItems.size > 1 && seriesLetters.size > 1) {
|
||||||
val children = seriesLetters.map { (seriesLetter, seriesCount) ->
|
val children = seriesLetters.map { (seriesLetter, seriesCount) ->
|
||||||
MediaBrowserCompat.MediaItem(
|
MediaBrowserCompat.MediaItem(
|
||||||
MediaDescriptionCompat.Builder()
|
MediaDescriptionCompat.Builder()
|
||||||
|
@ -1397,7 +1398,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||||
Log.d(tag, "Loading series from library ${mediaIdParts[2]}")
|
Log.d(tag, "Loading series from library ${mediaIdParts[2]}")
|
||||||
mediaManager.loadLibrarySeriesWithAudio(mediaIdParts[2]) { seriesItems ->
|
mediaManager.loadLibrarySeriesWithAudio(mediaIdParts[2]) { seriesItems ->
|
||||||
Log.d(tag, "Received ${seriesItems.size} series")
|
Log.d(tag, "Received ${seriesItems.size} series")
|
||||||
if (seriesItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping) {
|
if (seriesItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping && seriesItems.size > 1) {
|
||||||
val seriesLetters = seriesItems.groupingBy { iwb -> iwb.title.first().uppercaseChar() }.eachCount()
|
val seriesLetters = seriesItems.groupingBy { iwb -> iwb.title.first().uppercaseChar() }.eachCount()
|
||||||
val children = seriesLetters.map { (seriesLetter, seriesCount) ->
|
val children = seriesLetters.map { (seriesLetter, seriesCount) ->
|
||||||
MediaBrowserCompat.MediaItem(
|
MediaBrowserCompat.MediaItem(
|
||||||
|
@ -1443,8 +1444,9 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||||
Log.d(tag, "Loading authors from library ${mediaIdParts[2]} with paging ${mediaIdParts[4]}")
|
Log.d(tag, "Loading authors from library ${mediaIdParts[2]} with paging ${mediaIdParts[4]}")
|
||||||
mediaManager.loadAuthorsWithBooks(mediaIdParts[2], mediaIdParts[4]) { authorItems ->
|
mediaManager.loadAuthorsWithBooks(mediaIdParts[2], mediaIdParts[4]) { authorItems ->
|
||||||
Log.d(tag, "Received ${authorItems.size} authors")
|
Log.d(tag, "Received ${authorItems.size} authors")
|
||||||
if (authorItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping) {
|
|
||||||
val authorLetters = authorItems.groupingBy { iwb -> iwb.name.substring(0, mediaIdParts[4].length + 1).uppercase() }.eachCount()
|
val authorLetters = authorItems.groupingBy { iwb -> iwb.name.substring(0, mediaIdParts[4].length + 1).uppercase() }.eachCount()
|
||||||
|
if (authorItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping && authorItems.size > 1 && authorLetters.size > 1) {
|
||||||
val children = authorLetters.map { (authorLetter, authorCount) ->
|
val children = authorLetters.map { (authorLetter, authorCount) ->
|
||||||
MediaBrowserCompat.MediaItem(
|
MediaBrowserCompat.MediaItem(
|
||||||
MediaDescriptionCompat.Builder()
|
MediaDescriptionCompat.Builder()
|
||||||
|
@ -1468,7 +1470,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||||
Log.d(tag, "Loading authors from library ${mediaIdParts[2]}")
|
Log.d(tag, "Loading authors from library ${mediaIdParts[2]}")
|
||||||
mediaManager.loadAuthorsWithBooks(mediaIdParts[2]) { authorItems ->
|
mediaManager.loadAuthorsWithBooks(mediaIdParts[2]) { authorItems ->
|
||||||
Log.d(tag, "Received ${authorItems.size} authors")
|
Log.d(tag, "Received ${authorItems.size} authors")
|
||||||
if (authorItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping) {
|
if (authorItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping && authorItems.size > 1) {
|
||||||
val authorLetters = authorItems.groupingBy { iwb -> iwb.name.first().uppercaseChar() }.eachCount()
|
val authorLetters = authorItems.groupingBy { iwb -> iwb.name.first().uppercaseChar() }.eachCount()
|
||||||
val children = authorLetters.map { (authorLetter, authorCount) ->
|
val children = authorLetters.map { (authorLetter, authorCount) ->
|
||||||
MediaBrowserCompat.MediaItem(
|
MediaBrowserCompat.MediaItem(
|
||||||
|
|
|
@ -210,7 +210,7 @@ export default {
|
||||||
languageCode: 'en-us',
|
languageCode: 'en-us',
|
||||||
downloadUsingCellular: 'ALWAYS',
|
downloadUsingCellular: 'ALWAYS',
|
||||||
streamingUsingCellular: 'ALWAYS',
|
streamingUsingCellular: 'ALWAYS',
|
||||||
androidAutoBrowseLimitForGrouping: 50,
|
androidAutoBrowseLimitForGrouping: 100,
|
||||||
androidAutoBrowseSeriesSequenceOrder: 'ASC'
|
androidAutoBrowseSeriesSequenceOrder: 'ASC'
|
||||||
},
|
},
|
||||||
theme: 'dark',
|
theme: 'dark',
|
||||||
|
@ -315,11 +315,11 @@ export default {
|
||||||
],
|
],
|
||||||
androidAutoBrowseSeriesSequenceOrderItems: [
|
androidAutoBrowseSeriesSequenceOrderItems: [
|
||||||
{
|
{
|
||||||
text: this.$strings.LabelAscending,
|
text: this.$strings.LabelSequenceAscending,
|
||||||
value: 'ASC'
|
value: 'ASC'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: this.$strings.LabelDescending,
|
text: this.$strings.LabelSequenceDescending,
|
||||||
value: 'DESC'
|
value: 'DESC'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -87,7 +87,6 @@
|
||||||
"HeaderTableOfContents": "Table of Contents",
|
"HeaderTableOfContents": "Table of Contents",
|
||||||
"HeaderUserInterfaceSettings": "User Interface Settings",
|
"HeaderUserInterfaceSettings": "User Interface Settings",
|
||||||
"HeaderYourStats": "Your Stats",
|
"HeaderYourStats": "Your Stats",
|
||||||
"LabelAscending": "Ascending",
|
|
||||||
"LabelAddToPlaylist": "Add to Playlist",
|
"LabelAddToPlaylist": "Add to Playlist",
|
||||||
"LabelAddedAt": "Added At",
|
"LabelAddedAt": "Added At",
|
||||||
"LabelAddedDate": "Added {0}",
|
"LabelAddedDate": "Added {0}",
|
||||||
|
@ -95,7 +94,7 @@
|
||||||
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
"LabelAllowSeekingOnMediaControls": "Allow position seeking on media notification controls",
|
||||||
"LabelAlways": "Always",
|
"LabelAlways": "Always",
|
||||||
"LabelAndroidAutoBrowseLimitForGrouping": "Alphabetical drawdown limit",
|
"LabelAndroidAutoBrowseLimitForGrouping": "Alphabetical drawdown limit",
|
||||||
"LabelAndroidAutoBrowseLimitForGroupingHelp": "Stop alphabetical drawdown when there is less than this amount of items to show",
|
"LabelAndroidAutoBrowseLimitForGroupingHelp": "Don't use alphabetical drawdown when there is less than this amount of items to show",
|
||||||
"LabelAndroidAutoBrowseSeriesSequenceOrder": "Series books order",
|
"LabelAndroidAutoBrowseSeriesSequenceOrder": "Series books order",
|
||||||
"LabelAskConfirmation": "Ask for confirmation",
|
"LabelAskConfirmation": "Ask for confirmation",
|
||||||
"LabelAuthor": "Author",
|
"LabelAuthor": "Author",
|
||||||
|
@ -120,7 +119,6 @@
|
||||||
"LabelContinueReading": "Continue Reading",
|
"LabelContinueReading": "Continue Reading",
|
||||||
"LabelContinueSeries": "Continue Series",
|
"LabelContinueSeries": "Continue Series",
|
||||||
"LabelCustomTime": "Custom time",
|
"LabelCustomTime": "Custom time",
|
||||||
"LabelDescending": "Descending",
|
|
||||||
"LabelDescription": "Description",
|
"LabelDescription": "Description",
|
||||||
"LabelDisableAudioFadeOut": "Disable audio fade out",
|
"LabelDisableAudioFadeOut": "Disable audio fade out",
|
||||||
"LabelDisableAudioFadeOutHelp": "Audio volume will start decreasing when there is less than 1 minute remaining on the sleep timer. Enable this setting to not fade out.",
|
"LabelDisableAudioFadeOutHelp": "Audio volume will start decreasing when there is less than 1 minute remaining on the sleep timer. Enable this setting to not fade out.",
|
||||||
|
@ -224,6 +222,8 @@
|
||||||
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
"LabelScaleElapsedTimeBySpeed": "Scale Elapsed Time by Speed",
|
||||||
"LabelSeason": "Season",
|
"LabelSeason": "Season",
|
||||||
"LabelSelectADevice": "Select a device",
|
"LabelSelectADevice": "Select a device",
|
||||||
|
"LabelSequenceAscending": "Sequence Ascending",
|
||||||
|
"LabelSequenceDescending": "Sequence Descending",
|
||||||
"LabelSeries": "Series",
|
"LabelSeries": "Series",
|
||||||
"LabelServerAddress": "Server address",
|
"LabelServerAddress": "Server address",
|
||||||
"LabelSetEbookAsPrimary": "Set as primary",
|
"LabelSetEbookAsPrimary": "Set as primary",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue