feat: Rows preferance in libraries view set default to 3 / settings defaults fix

This commit is contained in:
nomadics9 2024-07-05 20:00:21 +03:00
parent e6c49ea660
commit eac3eaa3f3
16 changed files with 57 additions and 39 deletions

View file

@ -37,6 +37,7 @@ import org.jellyfin.sdk.model.api.SortOrder
import java.lang.IllegalArgumentException import java.lang.IllegalArgumentException
import javax.inject.Inject import javax.inject.Inject
import com.nomadics9.ananas.core.R as CoreR import com.nomadics9.ananas.core.R as CoreR
import androidx.recyclerview.widget.GridLayoutManager
@AndroidEntryPoint @AndroidEntryPoint
class LibraryFragment : Fragment() { class LibraryFragment : Fragment() {
@ -62,6 +63,11 @@ class LibraryFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
binding.itemsRecyclerView.layoutManager =
GridLayoutManager(context, preferences.spanCount)
val menuHost: MenuHost = requireActivity() val menuHost: MenuHost = requireActivity()
menuHost.addMenuProvider( menuHost.addMenuProvider(
object : MenuProvider { object : MenuProvider {

View file

@ -16,7 +16,7 @@
} }
], ],
"attributes": [], "attributes": [],
"versionCode": 1, "versionCode": 6,
"versionName": "0.14.2", "versionName": "0.14.2",
"outputFile": "tv-libre-armeabi-v7a-debug.apk" "outputFile": "tv-libre-armeabi-v7a-debug.apk"
}, },
@ -29,23 +29,10 @@
} }
], ],
"attributes": [], "attributes": [],
"versionCode": 1, "versionCode": 6,
"versionName": "0.14.2", "versionName": "0.14.2",
"outputFile": "tv-libre-x86_64-debug.apk" "outputFile": "tv-libre-x86_64-debug.apk"
}, },
{
"type": "ONE_OF_MANY",
"filters": [
{
"filterType": "ABI",
"value": "x86"
}
],
"attributes": [],
"versionCode": 1,
"versionName": "0.14.2",
"outputFile": "tv-libre-x86-debug.apk"
},
{ {
"type": "ONE_OF_MANY", "type": "ONE_OF_MANY",
"filters": [ "filters": [
@ -55,9 +42,22 @@
} }
], ],
"attributes": [], "attributes": [],
"versionCode": 1, "versionCode": 6,
"versionName": "0.14.2", "versionName": "0.14.2",
"outputFile": "tv-libre-arm64-v8a-debug.apk" "outputFile": "tv-libre-arm64-v8a-debug.apk"
},
{
"type": "ONE_OF_MANY",
"filters": [
{
"filterType": "ABI",
"value": "x86"
}
],
"attributes": [],
"versionCode": 6,
"versionName": "0.14.2",
"outputFile": "tv-libre-x86-debug.apk"
} }
], ],
"elementType": "File", "elementType": "File",

View file

@ -16,10 +16,23 @@
} }
], ],
"attributes": [], "attributes": [],
"versionCode": 1, "versionCode": 6,
"versionName": "0.14.2", "versionName": "0.14.2",
"outputFile": "tv-libre-armeabi-v7a-release.apk" "outputFile": "tv-libre-armeabi-v7a-release.apk"
}, },
{
"type": "ONE_OF_MANY",
"filters": [
{
"filterType": "ABI",
"value": "x86"
}
],
"attributes": [],
"versionCode": 6,
"versionName": "0.14.2",
"outputFile": "tv-libre-x86-release.apk"
},
{ {
"type": "ONE_OF_MANY", "type": "ONE_OF_MANY",
"filters": [ "filters": [
@ -29,7 +42,7 @@
} }
], ],
"attributes": [], "attributes": [],
"versionCode": 1, "versionCode": 6,
"versionName": "0.14.2", "versionName": "0.14.2",
"outputFile": "tv-libre-arm64-v8a-release.apk" "outputFile": "tv-libre-arm64-v8a-release.apk"
}, },
@ -42,22 +55,9 @@
} }
], ],
"attributes": [], "attributes": [],
"versionCode": 1, "versionCode": 6,
"versionName": "0.14.2", "versionName": "0.14.2",
"outputFile": "tv-libre-x86_64-release.apk" "outputFile": "tv-libre-x86_64-release.apk"
},
{
"type": "ONE_OF_MANY",
"filters": [
{
"filterType": "ABI",
"value": "x86"
}
],
"attributes": [],
"versionCode": 1,
"versionName": "0.14.2",
"outputFile": "tv-libre-x86-release.apk"
} }
], ],
"elementType": "File", "elementType": "File",
@ -67,9 +67,9 @@
"maxApi": 30, "maxApi": 30,
"baselineProfiles": [ "baselineProfiles": [
"baselineProfiles/1/tv-libre-armeabi-v7a-release.dm", "baselineProfiles/1/tv-libre-armeabi-v7a-release.dm",
"baselineProfiles/1/tv-libre-x86-release.dm",
"baselineProfiles/1/tv-libre-arm64-v8a-release.dm", "baselineProfiles/1/tv-libre-arm64-v8a-release.dm",
"baselineProfiles/1/tv-libre-x86_64-release.dm", "baselineProfiles/1/tv-libre-x86_64-release.dm"
"baselineProfiles/1/tv-libre-x86-release.dm"
] ]
}, },
{ {
@ -77,9 +77,9 @@
"maxApi": 2147483647, "maxApi": 2147483647,
"baselineProfiles": [ "baselineProfiles": [
"baselineProfiles/0/tv-libre-armeabi-v7a-release.dm", "baselineProfiles/0/tv-libre-armeabi-v7a-release.dm",
"baselineProfiles/0/tv-libre-x86-release.dm",
"baselineProfiles/0/tv-libre-arm64-v8a-release.dm", "baselineProfiles/0/tv-libre-arm64-v8a-release.dm",
"baselineProfiles/0/tv-libre-x86_64-release.dm", "baselineProfiles/0/tv-libre-x86_64-release.dm"
"baselineProfiles/0/tv-libre-x86-release.dm"
] ]
} }
], ],

View file

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"> <PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference <ListPreference
app:defaultValue="system" app:defaultValue="system"
app:entries="@array/themes" app:entries="@array/themes"
@ -22,4 +23,12 @@
app:key="pref_display_extra_info" app:key="pref_display_extra_info"
app:summary="@string/extra_info_summary" app:summary="@string/extra_info_summary"
app:title="@string/extra_info" /> app:title="@string/extra_info" />
<SeekBarPreference
app:defaultValue="2"
app:key="pref_span_count"
android:max="5"
app:seekBarIncrement="1"
app:min="1"
app:showSeekBarValue="true"
app:title="Number of rows in libraries view" />
</PreferenceScreen> </PreferenceScreen>

View file

@ -9,7 +9,8 @@
<SwitchPreferenceCompat <SwitchPreferenceCompat
app:key="pref_player_mpv" app:key="pref_player_mpv"
app:summary="@string/mpv_player_summary" app:summary="@string/mpv_player_summary"
app:title="@string/mpv_player" /> app:title="@string/mpv_player"
app:defaultValue="true"/>
<ListPreference <ListPreference
app:defaultValue="mediacodec" app:defaultValue="mediacodec"
app:dependency="pref_player_mpv" app:dependency="pref_player_mpv"

View file

@ -34,6 +34,7 @@ constructor(
val theme get() = sharedPreferences.getString(Constants.PREF_THEME, null) val theme get() = sharedPreferences.getString(Constants.PREF_THEME, null)
val dynamicColors get() = sharedPreferences.getBoolean(Constants.PREF_DYNAMIC_COLORS, true) val dynamicColors get() = sharedPreferences.getBoolean(Constants.PREF_DYNAMIC_COLORS, true)
val amoledTheme get() = sharedPreferences.getBoolean(Constants.PREF_AMOLED_THEME, true) val amoledTheme get() = sharedPreferences.getBoolean(Constants.PREF_AMOLED_THEME, true)
val spanCount get() = sharedPreferences.getInt(Constants.PREF_SPAN_NO, 3)
var displayExtraInfo: Boolean var displayExtraInfo: Boolean
get() = sharedPreferences.getBoolean(Constants.PREF_DISPLAY_EXTRA_INFO, false) get() = sharedPreferences.getBoolean(Constants.PREF_DISPLAY_EXTRA_INFO, false)
set(value) { set(value) {

View file

@ -38,6 +38,7 @@ object Constants {
const val PREF_THEME = "theme" const val PREF_THEME = "theme"
const val PREF_DYNAMIC_COLORS = "dynamic_colors" const val PREF_DYNAMIC_COLORS = "dynamic_colors"
const val PREF_AMOLED_THEME = "pref_amoled_theme" const val PREF_AMOLED_THEME = "pref_amoled_theme"
const val PREF_SPAN_NO = "pref_span_count"
const val PREF_NETWORK_REQUEST_TIMEOUT = "pref_network_request_timeout" const val PREF_NETWORK_REQUEST_TIMEOUT = "pref_network_request_timeout"
const val PREF_NETWORK_CONNECT_TIMEOUT = "pref_network_connect_timeout" const val PREF_NETWORK_CONNECT_TIMEOUT = "pref_network_connect_timeout"
const val PREF_NETWORK_SOCKET_TIMEOUT = "pref_network_socket_timeout" const val PREF_NETWORK_SOCKET_TIMEOUT = "pref_network_socket_timeout"

View file

@ -3,7 +3,7 @@ enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
rootProject.name = "ananas" rootProject.name = "ananas"
include(":app:phone") include(":app:phone")
// include(":app:tv") include(":app:tv")
include(":core") include(":core")
include(":data") include(":data")
include(":preferences") include(":preferences")