mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2026-08-06 20:08:48 +02:00
Added Android Auto browsing settings
This commit is contained in:
@@ -133,7 +133,10 @@ data class DeviceSettings(
|
||||
var disableSleepTimerResetFeedback: Boolean,
|
||||
var languageCode: String,
|
||||
var downloadUsingCellular: DownloadUsingCellularSetting,
|
||||
var streamingUsingCellular: StreamingUsingCellularSetting
|
||||
var streamingUsingCellular: StreamingUsingCellularSetting,
|
||||
var androidAutoBrowseForceGrouping: Boolean,
|
||||
var androidAutoBrowseTopLevelLimitForGrouping: Int,
|
||||
var androidAutoBrowseLimitForGrouping: Int
|
||||
) {
|
||||
companion object {
|
||||
// Static method to get default device settings
|
||||
@@ -159,7 +162,10 @@ data class DeviceSettings(
|
||||
disableSleepTimerResetFeedback = false,
|
||||
languageCode = "en-us",
|
||||
downloadUsingCellular = DownloadUsingCellularSetting.ALWAYS,
|
||||
streamingUsingCellular = StreamingUsingCellularSetting.ALWAYS
|
||||
streamingUsingCellular = StreamingUsingCellularSetting.ALWAYS,
|
||||
androidAutoBrowseForceGrouping = false,
|
||||
androidAutoBrowseTopLevelLimitForGrouping = 100,
|
||||
androidAutoBrowseLimitForGrouping = 50
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,6 +61,16 @@ object DeviceManager {
|
||||
if (deviceData.deviceSettings?.streamingUsingCellular == null) {
|
||||
deviceData.deviceSettings?.streamingUsingCellular = StreamingUsingCellularSetting.ALWAYS
|
||||
}
|
||||
|
||||
if (deviceData.deviceSettings?.androidAutoBrowseForceGrouping == null) {
|
||||
deviceData.deviceSettings?.androidAutoBrowseForceGrouping = false
|
||||
}
|
||||
if (deviceData.deviceSettings?.androidAutoBrowseTopLevelLimitForGrouping == null) {
|
||||
deviceData.deviceSettings?.androidAutoBrowseTopLevelLimitForGrouping = 100
|
||||
}
|
||||
if (deviceData.deviceSettings?.androidAutoBrowseLimitForGrouping == null) {
|
||||
deviceData.deviceSettings?.androidAutoBrowseLimitForGrouping = 50
|
||||
}
|
||||
}
|
||||
|
||||
fun getBase64Id(id:String):String {
|
||||
|
||||
+4
-4
@@ -1148,7 +1148,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||
Log.d(tag, "Loading series from library ${mediaIdParts[2]} with paging ${mediaIdParts[4]}")
|
||||
mediaManager.loadLibrarySeriesWithAudio(mediaIdParts[2], mediaIdParts[4]) { seriesItems ->
|
||||
Log.d(tag, "Received ${seriesItems.size} series")
|
||||
if (seriesItems.size > 500) {
|
||||
if (seriesItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping) {
|
||||
val seriesLetters = seriesItems.groupingBy { iwb -> iwb.title.substring(0, mediaIdParts[4].length + 1).uppercase() }.eachCount()
|
||||
val children = seriesLetters.map { (seriesLetter, seriesCount) ->
|
||||
MediaBrowserCompat.MediaItem(
|
||||
@@ -1173,7 +1173,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||
Log.d(tag, "Loading series from library ${mediaIdParts[2]}")
|
||||
mediaManager.loadLibrarySeriesWithAudio(mediaIdParts[2]) { seriesItems ->
|
||||
Log.d(tag, "Received ${seriesItems.size} series")
|
||||
if (seriesItems.size > 1000) {
|
||||
if (DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseForceGrouping || seriesItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseTopLevelLimitForGrouping) {
|
||||
val seriesLetters = seriesItems.groupingBy { iwb -> iwb.title.first().uppercaseChar() }.eachCount()
|
||||
val children = seriesLetters.map { (seriesLetter, seriesCount) ->
|
||||
MediaBrowserCompat.MediaItem(
|
||||
@@ -1215,7 +1215,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||
Log.d(tag, "Loading authors from library ${mediaIdParts[2]} with paging ${mediaIdParts[4]}")
|
||||
mediaManager.loadAuthorsWithBooks(mediaIdParts[2], mediaIdParts[4]) { authorItems ->
|
||||
Log.d(tag, "Received ${authorItems.size} authors")
|
||||
if (authorItems.size > 100) {
|
||||
if (authorItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseLimitForGrouping) {
|
||||
val authorLetters = authorItems.groupingBy { iwb -> iwb.name.substring(0, mediaIdParts[4].length + 1).uppercase() }.eachCount()
|
||||
val children = authorLetters.map { (authorLetter, authorCount) ->
|
||||
MediaBrowserCompat.MediaItem(
|
||||
@@ -1240,7 +1240,7 @@ class PlayerNotificationService : MediaBrowserServiceCompat() {
|
||||
Log.d(tag, "Loading authors from library ${mediaIdParts[2]}")
|
||||
mediaManager.loadAuthorsWithBooks(mediaIdParts[2]) { authorItems ->
|
||||
Log.d(tag, "Received ${authorItems.size} authors")
|
||||
if (authorItems.size > 1000) {
|
||||
if (DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseForceGrouping || authorItems.size > DeviceManager.deviceData.deviceSettings!!.androidAutoBrowseTopLevelLimitForGrouping) {
|
||||
val authorLetters = authorItems.groupingBy { iwb -> iwb.name.first().uppercaseChar() }.eachCount()
|
||||
val children = authorLetters.map { (authorLetter, authorCount) ->
|
||||
MediaBrowserCompat.MediaItem(
|
||||
|
||||
Reference in New Issue
Block a user