diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/Anilist.kt b/app/src/main/java/ani/dantotsu/connections/anilist/Anilist.kt index 200bff75..8b8080f6 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/Anilist.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/Anilist.kt @@ -163,11 +163,11 @@ object Anilist { "3 Point Smiley :)", ) - val RowOrder = listOf( - "Score", - "Title", - "Last Updated", - "Last Added", + val rowOrderMap = mapOf( + "Score" to "score", + "Title" to "title", + "Last Updated" to "updatedAt", + "Last Added" to "id" ) private val cal: Calendar = Calendar.getInstance() diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistMutations.kt b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistMutations.kt index 0297f7f3..411f2922 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistMutations.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistMutations.kt @@ -72,7 +72,7 @@ class AnilistMutations { ${displayAdultContent?.let { """"displayAdultContent":$it""" } ?: ""} ${restrictMessagesToFollowing?.let { """"restrictMessagesToFollowing":$it""" } ?: ""} ${scoreFormat?.let { """"scoreFormat":"$it"""" } ?: ""} - ${rowOrder?.let { """"rowOrder":$it""" } ?: ""} + ${rowOrder?.let { """"rowOrder":"$it"""" } ?: ""} } """.trimIndent().replace("\n", "").replace(""" """, "").replace(",}", "}") diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsAnilistActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsAnilistActivity.kt index 9946d15e..ea34c71c 100644 --- a/app/src/main/java/ani/dantotsu/settings/SettingsAnilistActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/SettingsAnilistActivity.kt @@ -10,6 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import ani.dantotsu.R import ani.dantotsu.connections.anilist.Anilist import ani.dantotsu.connections.anilist.Anilist.ScoreFormat +import ani.dantotsu.connections.anilist.Anilist.rowOrderMap import ani.dantotsu.connections.anilist.Anilist.staffNameLang import ani.dantotsu.connections.anilist.Anilist.titleLang import ani.dantotsu.connections.anilist.AnilistMutations @@ -125,6 +126,22 @@ class SettingsAnilistActivity : AppCompatActivity() { settingsAnilistScoreFormat.clearFocus() } + val currentRowOrder = rowOrderMap.entries.firstOrNull { it.value == Anilist.rowOrder }?.key ?: "Score" + settingsAnilistRowOrder.setText(currentRowOrder) + settingsAnilistRowOrder.setAdapter( + ArrayAdapter(context, R.layout.item_dropdown, rowOrderMap.keys.toList()) + ) + settingsAnilistRowOrder.setOnItemClickListener { _, _, i, _ -> + val selectedDisplayOrder = rowOrderMap.keys.toList()[i] + val selectedApiOrder = rowOrderMap[selectedDisplayOrder] ?: "score" + lifecycleScope.launch { + anilistMutations.updateSettings(rowOrder = selectedApiOrder) + Anilist.rowOrder = selectedApiOrder + restartApp() + } + settingsAnilistRowOrder.clearFocus() + } + val currentTimezone = Anilist.timezone?.let { Anilist.getDisplayTimezone(it) } ?: "(GMT+00:00) London" settingsAnilistTimezone.setText(currentTimezone) settingsAnilistTimezone.setAdapter(