feat: reorganized stuff

This commit is contained in:
sneazy-ibo
2024-07-06 16:47:47 +02:00
parent df36adba54
commit 6daf9d4981
10 changed files with 363 additions and 106 deletions

View File

@@ -41,6 +41,10 @@ object Anilist {
var staffNameLanguage: String? = null
var airingNotifications: Boolean = false
var restrictMessagesToFollowing: Boolean = false
var scoreFormat: String? = null
var rowOrder: String? = null
var activityMergeTime: Int? = null
var timezone: String? = null
val sortBy = listOf(
"SCORE_DESC",
@@ -101,6 +105,47 @@ object Anilist {
"Original Creator", "Story & Art", "Story"
)
val timeZone = listOf(
"(GMT-06:00) Central Time",
"(GMT-05:00) Eastern Time",
"(GMT-04:00) Atlantic Time",
"(GMT-01:00) Central Time",
"(GMT+00:00) London",
"(GMT+01:00) Berlin",
"(GMT+04:00) Dubai",
"(GMT+05:30) India Standard Time",
"(GMT+06:00) Dhaka",
"(GMT+07:00) Bangkok",
"(GMT+09:00) Tokyo",
)
val titleLang = listOf(
"English (Attack on Titan)",
"Romaji (Shingeki no Kyojin)",
"Native (進撃の巨人)"
)
val staffNameLang = listOf(
"Romaji, Western Order (Killua Zoldyck)",
"Romaji (Zoldyck Killua)",
"Native (キルア=ゾルディック)"
)
val ScoreFormat = listOf(
"100 Point (55/100)",
"10 Point Decimal (5.5/10)",
"10 Point (5/10)",
"5 Star (3/5)",
"3 Point Smiley :)",
)
val RowOrder = listOf(
"Score",
"Title",
"Last Updated",
"Last Added",
)
private val cal: Calendar = Calendar.getInstance()
private val currentYear = cal.get(Calendar.YEAR)
private val currentSeason: Int = when (cal.get(Calendar.MONTH)) {

View File

@@ -17,7 +17,9 @@ class AnilistMutations {
activityMergeTime: Int? = null,
airingNotifications: Boolean? = null,
displayAdultContent: Boolean? = null,
restrictMessagesToFollowing: Boolean? = null
restrictMessagesToFollowing: Boolean? = null,
scoreFormat: String? = null,
rowOrder: String? = null,
) {
val query = """
mutation (
@@ -26,8 +28,10 @@ class AnilistMutations {
${"$"}staffNameLanguage: UserStaffNameLanguage,
${"$"}activityMergeTime: Int,
${"$"}airingNotifications: Boolean,
${"$"}displayAdultContent: Boolean
${"$"}restrictMessagesToFollowing: Boolean
${"$"}displayAdultContent: Boolean,
${"$"}restrictMessagesToFollowing: Boolean,
${"$"}scoreFormat: ScoreFormat,
${"$"}rowOrder: String
) {
UpdateUser(
timezone: ${"$"}timezone,
@@ -36,7 +40,9 @@ class AnilistMutations {
activityMergeTime: ${"$"}activityMergeTime,
airingNotifications: ${"$"}airingNotifications,
displayAdultContent: ${"$"}displayAdultContent
restrictMessagesToFollowing: ${"$"}restrictMessagesToFollowing
restrictMessagesToFollowing: ${"$"}restrictMessagesToFollowing.
scoreFormat: ${"$"}scoreFormat,
rowOrder: ${"$"}rowOrder,
) {
id
options {
@@ -48,6 +54,10 @@ class AnilistMutations {
displayAdultContent
restrictMessagesToFollowing
}
mediaListOptions {
scoreFormat
rowOrder
}
}
}
""".trimIndent()
@@ -61,6 +71,8 @@ class AnilistMutations {
${airingNotifications?.let { """"airingNotifications":$it""" } ?: ""}
${displayAdultContent?.let { """"displayAdultContent":$it""" } ?: ""}
${restrictMessagesToFollowing?.let { """"restrictMessagesToFollowing":$it""" } ?: ""}
${scoreFormat?.let { """"scoreFormat":$it""" } ?: ""}
${rowOrder?.let { """"rowOrder":$it""" } ?: ""}
}
""".trimIndent().replace("\n", "").replace(""" """, "").replace(",}", "}")

View File

@@ -58,6 +58,7 @@ class AnilistQueries {
bannerImage
id
mediaListOptions {
scoreFormat
rowOrder
animeList { sectionOrder customLists }
mangaList { sectionOrder customLists }
@@ -92,6 +93,12 @@ class AnilistQueries {
Anilist.staffNameLanguage = it.staffNameLanguage.toString()
Anilist.airingNotifications = it.airingNotifications ?: false
Anilist.restrictMessagesToFollowing = it.restrictMessagesToFollowing ?: false
Anilist.timezone = it.timezone
Anilist.activityMergeTime = it.activityMergeTime
}
user.mediaListOptions?.let {
Anilist.scoreFormat = it.scoreFormat.toString()
Anilist.rowOrder = it.rowOrder
}
return true
}

View File

@@ -88,11 +88,11 @@ data class UserOptions(
// // Notification options
// // @SerialName("notificationOptions") var notificationOptions: List<NotificationOption>?,
//
// // The user's timezone offset (Auth user only)
// @SerialName("timezone") var timezone: String?,
// The user's timezone offset (Auth user only)
@SerialName("timezone") var timezone: String?,
//
// // Minutes between activity for them to be merged together. 0 is Never, Above 2 weeks (20160 mins) is Always.
// @SerialName("activityMergeTime") var activityMergeTime: Int?,
// Minutes between activity for them to be merged together. 0 is Never, Above 2 weeks (20160 mins) is Always.
@SerialName("activityMergeTime") var activityMergeTime: Int?,
//
// The language the user wants to see staff and character names in
@SerialName("staffNameLanguage") var staffNameLanguage: UserStaffNameLanguage?,
@@ -123,10 +123,8 @@ data class UserStatisticTypes(
enum class UserTitleLanguage {
@SerialName("ENGLISH")
ENGLISH,
@SerialName("ROMAJI")
ROMAJI,
@SerialName("NATIVE")
NATIVE
}
@@ -197,6 +195,15 @@ data class MediaListOptions(
// The user's manga list options
@SerialName("mangaList") var mangaList: MediaListTypeOptions?,
)
@Serializable
enum class ScoreFormat {
@SerialName("ENGLISH")
ENGLISH,
@SerialName("ROMAJI")
ROMAJI,
@SerialName("NATIVE")
NATIVE
}
@Serializable
data class MediaListTypeOptions(

View File

@@ -1,14 +1,18 @@
package ani.dantotsu.settings
import android.content.Intent
import android.os.Bundle
import android.view.HapticFeedbackConstants
import android.view.View
import android.widget.ArrayAdapter
import android.view.ViewGroup
import android.view.animation.AnimationUtils
import android.widget.TextView
import androidx.activity.OnBackPressedCallback
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.updateLayoutParams
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import ani.dantotsu.R
import ani.dantotsu.connections.anilist.Anilist
import ani.dantotsu.connections.discord.Discord
@@ -19,6 +23,7 @@ import ani.dantotsu.loadImage
import ani.dantotsu.navBarHeight
import ani.dantotsu.openLinkInBrowser
import ani.dantotsu.others.CustomBottomDialog
import ani.dantotsu.restartApp
import ani.dantotsu.settings.saving.PrefManager
import ani.dantotsu.settings.saving.PrefName
import ani.dantotsu.startMainActivity
@@ -26,6 +31,7 @@ import ani.dantotsu.statusBarHeight
import ani.dantotsu.themes.ThemeManager
import io.noties.markwon.Markwon
import io.noties.markwon.SoftBreakAddsNewLinePlugin
import kotlinx.coroutines.launch
class SettingsAccountActivity : AppCompatActivity() {
private lateinit var binding: ActivitySettingsAccountsBinding
@@ -202,6 +208,25 @@ class SettingsAccountActivity : AppCompatActivity() {
}
reload()
}
}
binding.settingsRecyclerView.adapter = SettingsAdapter(
arrayListOf(
Settings(
type = 1,
name = getString(R.string.anilist_settings),
desc = getString(R.string.alsettings_desc),
icon = R.drawable.ic_anilist,
onClick = {
lifecycleScope.launch {
Anilist.query.getUserData()
startActivity(Intent(context, SettingsAnilistActivity::class.java))
}
},
isActivity = true
),
)
)
binding.settingsRecyclerView.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
}
}

View File

@@ -18,7 +18,6 @@ import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import ani.dantotsu.BuildConfig
import ani.dantotsu.R
import ani.dantotsu.connections.anilist.Anilist
import ani.dantotsu.copyToClipboard
import ani.dantotsu.databinding.ActivitySettingsBinding
import ani.dantotsu.initActivity
@@ -154,19 +153,6 @@ class SettingsActivity : AppCompatActivity() {
},
isActivity = true
),
Settings(
type = 1,
name = getString(R.string.anilist_settings),
desc = getString(R.string.alsettings_desc),
icon = R.drawable.ic_anilist,
onClick = {
lifecycleScope.launch {
Anilist.query.getUserData()
startActivity(Intent(context, SettingsAnilistActivity::class.java))
}
},
isActivity = true
),
Settings(
type = 1,
name = getString(R.string.notifications),

View File

@@ -9,15 +9,15 @@ import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager
import ani.dantotsu.R
import ani.dantotsu.connections.anilist.Anilist
import ani.dantotsu.connections.anilist.Anilist.staffNameLang
import ani.dantotsu.connections.anilist.Anilist.titleLang
import ani.dantotsu.connections.anilist.AnilistMutations
import ani.dantotsu.databinding.ActivitySettingsAnilistBinding
import ani.dantotsu.initActivity
import ani.dantotsu.navBarHeight
import ani.dantotsu.restartApp
import ani.dantotsu.statusBarHeight
import ani.dantotsu.themes.ThemeManager
import ani.dantotsu.connections.anilist.AnilistMutations
import ani.dantotsu.restartApp
import ani.dantotsu.settings.saving.PrefManager
import ani.dantotsu.settings.saving.PrefName
import kotlinx.coroutines.launch
class SettingsAnilistActivity : AppCompatActivity() {
@@ -49,26 +49,6 @@ class SettingsAnilistActivity : AppCompatActivity() {
onBackPressedDispatcher.onBackPressed()
}
val timeZone = listOf(
"(GMT-06:00) Central Time",
"(GMT-05:00) Eastern Time",
"(GMT-04:00) Atlantic Time",
"(GMT-01:00) Central Time",
"(GMT+00:00) London",
"(GMT+01:00) Berlin",
"(GMT+04:00) Dubai",
"(GMT+05:30) India Standard Time",
"(GMT+06:00) Dhaka",
"(GMT+07:00) Bangkok",
"(GMT+09:00) Tokyo",
)
val titleLang = listOf(
"English (Attack on Titan)",
"Romaji (Shingeki no Kyojin)",
"Native (進撃の巨人)"
)
val currentTitleLang = Anilist.titleLanguage
val titleFormat = Format.entries.firstOrNull { it.name == currentTitleLang } ?: Format.ENGLISH
@@ -91,13 +71,6 @@ class SettingsAnilistActivity : AppCompatActivity() {
settingsAnilistTitleLanguage.clearFocus()
}
val staffNameLang = listOf(
"Romaji, Western Order (Killua Zoldyck)",
"Romaji (Zoldyck Killua)",
"Native (キルア=ゾルディック)"
)
val currentStaffNameLang = Anilist.staffNameLanguage
val staffNameFormat = Format.entries.firstOrNull { it.name == currentStaffNameLang } ?: Format.ENGLISH
@@ -120,11 +93,11 @@ class SettingsAnilistActivity : AppCompatActivity() {
settingsAnilistStaffLanguage.clearFocus()
}
val currentScoreFormat = Anilist.scoreFormat
val displayAdultContent = Anilist.adult
val airingNotifications = Anilist.airingNotifications
val restrictMessagesToFollowing = Anilist.restrictMessagesToFollowing
binding.settingsRecyclerView.adapter = SettingsAdapter(
binding.settingsRecyclerView1.adapter = SettingsAdapter(
arrayListOf(
Settings(
type = 2,
@@ -154,25 +127,33 @@ class SettingsAnilistActivity : AppCompatActivity() {
}
}
),
Settings(
type = 2,
name = getString(R.string.restrict_messages),
desc = getString(R.string.restrict_messages_desc),
icon = R.drawable.ic_round_lock_open_24,
isChecked = restrictMessagesToFollowing,
switch = { isChecked, _ ->
lifecycleScope.launch {
anilistMutations.updateSettings(restrictMessagesToFollowing = isChecked)
Anilist.restrictMessagesToFollowing = isChecked
restartApp()
}
}
),
)
)
binding.settingsRecyclerView.layoutManager =
binding.settingsRecyclerView1.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
}
binding.settingsRecyclerView2.adapter = SettingsAdapter(
arrayListOf(
Settings(
type = 2,
name = getString(R.string.restrict_messages),
desc = getString(R.string.restrict_messages_desc),
icon = R.drawable.ic_round_lock_open_24,
isChecked = Anilist.restrictMessagesToFollowing,
switch = { isChecked, _ ->
lifecycleScope.launch {
anilistMutations.updateSettings(restrictMessagesToFollowing = isChecked)
Anilist.restrictMessagesToFollowing = isChecked
restartApp()
}
}
),
)
)
binding.settingsRecyclerView2.layoutManager =
LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
}
}

View File

@@ -186,6 +186,15 @@
</LinearLayout>
<ImageView
android:id="@+id/settingsAccountHelp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/account_help"
android:padding="16dp"
android:src="@drawable/ic_round_help_24"
app:tint="?attr/colorPrimary"/>
<com.google.android.material.card.MaterialCardView
android:id="@+id/settingsMALAvatarContainer"
android:layout_width="51dp"
@@ -259,6 +268,7 @@
android:id="@+id/settingsImageSwitcher"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@string/discord_rich_presence"
android:padding="16dp"
android:src="@drawable/discord_status_idle" />
@@ -281,27 +291,13 @@
</com.google.android.material.card.MaterialCardView>
</LinearLayout>
<TextView
android:id="@+id/settingsAccountHelp"
<ani.dantotsu.FadingEdgeRecyclerView
android:id="@+id/settingsRecyclerView"
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_marginStart="-31dp"
android:layout_marginEnd="-31dp"
android:background="?android:colorBackground"
android:drawablePadding="16dp"
android:fontFamily="@font/poppins_bold"
android:gravity="center_vertical"
android:insetTop="0dp"
android:insetBottom="0dp"
android:paddingStart="31dp"
android:paddingEnd="31dp"
android:text="@string/account_help"
android:textAllCaps="false"
android:textColor="?attr/colorOnBackground"
app:cornerRadius="0dp"
app:drawableStartCompat="@drawable/ic_round_help_24"
app:drawableTint="?attr/colorPrimary" />
android:layout_height="match_parent"
android:nestedScrollingEnabled="false"
android:requiresFadingEdge="vertical"
tools:itemCount="1"
tools:listitem="@layout/item_settings" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>

View File

@@ -69,16 +69,20 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:alpha="0.58"
android:layout_height="64dp"
android:layout_marginTop="8dp"
android:fontFamily="@font/poppins_bold"
android:text="something" />
android:gravity="center_vertical"
android:paddingHorizontal="32dp"
android:text="@string/anime_manga"
android:textColor="?attr/colorSecondary"
app:drawableEndCompat="@drawable/ic_round_arrow_drop_down_24"
tools:ignore="TextContrastCheck" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginHorizontal="32dp"
android:alpha="0.58"
android:fontFamily="@font/poppins_bold"
android:text="@string/selected_title_language" />
@@ -87,7 +91,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginHorizontal="32dp"
android:layout_marginBottom="8dp"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusBottomStart="8dp"
@@ -115,7 +119,7 @@
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginHorizontal="32dp"
android:alpha="0.58"
android:fontFamily="@font/poppins_bold"
android:text="@string/selected_staff_language" />
@@ -124,7 +128,7 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginHorizontal="32dp"
android:layout_marginBottom="8dp"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusBottomStart="8dp"
@@ -148,17 +152,205 @@
android:textSize="14sp"
tools:ignore="LabelFor,TextContrastCheck,DuplicateSpeakableTextCheck" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp"
android:alpha="0.58"
android:fontFamily="@font/poppins_bold"
android:text="@string/selected_merge_time" />
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp"
android:layout_marginBottom="8dp"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusBottomStart="8dp"
app:boxCornerRadiusTopEnd="8dp"
app:boxCornerRadiusTopStart="8dp"
app:hintAnimationEnabled="true"
app:startIconDrawable="@drawable/ic_round_dns_24">
<AutoCompleteTextView
android:id="@+id/settingsAnilistMergeTime"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/poppins_bold"
android:freezesText="false"
android:inputType="none"
android:padding="8dp"
android:text="@string/placeholder"
android:textAllCaps="true"
android:textColor="?android:attr/textColorSecondary"
android:textSize="14sp"
tools:ignore="LabelFor,TextContrastCheck,DuplicateSpeakableTextCheck" />
</com.google.android.material.textfield.TextInputLayout>
<ani.dantotsu.FadingEdgeRecyclerView
android:id="@+id/settingsRecyclerView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="14dp"
android:layout_marginHorizontal="32dp"
android:nestedScrollingEnabled="false"
android:requiresFadingEdge="vertical"
tools:itemCount="2"
tools:listitem="@layout/item_settings" />
</ani.dantotsu.others.Xpandable>
<ani.dantotsu.others.Xpandable
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_marginTop="8dp"
android:fontFamily="@font/poppins_bold"
android:gravity="center_vertical"
android:paddingHorizontal="32dp"
android:text="@string/list_settings"
android:textColor="?attr/colorSecondary"
app:drawableEndCompat="@drawable/ic_round_arrow_drop_down_24"
tools:ignore="TextContrastCheck" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp"
android:alpha="0.58"
android:fontFamily="@font/poppins_bold"
android:text="@string/selected_score_format" />
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp"
android:layout_marginBottom="8dp"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusBottomStart="8dp"
app:boxCornerRadiusTopEnd="8dp"
app:boxCornerRadiusTopStart="8dp"
app:hintAnimationEnabled="true"
app:startIconDrawable="@drawable/ic_round_dns_24">
<AutoCompleteTextView
android:id="@+id/settingsAnilistScoreFormat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/poppins_bold"
android:freezesText="false"
android:inputType="none"
android:padding="8dp"
android:text="@string/placeholder"
android:textAllCaps="true"
android:textColor="?android:attr/textColorSecondary"
android:textSize="14sp"
tools:ignore="LabelFor,TextContrastCheck,DuplicateSpeakableTextCheck" />
</com.google.android.material.textfield.TextInputLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp"
android:alpha="0.58"
android:fontFamily="@font/poppins_bold"
android:text="@string/selected_row_order" />
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp"
android:layout_marginBottom="8dp"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusBottomStart="8dp"
app:boxCornerRadiusTopEnd="8dp"
app:boxCornerRadiusTopStart="8dp"
app:hintAnimationEnabled="true"
app:startIconDrawable="@drawable/ic_round_dns_24">
<AutoCompleteTextView
android:id="@+id/settingsAnilistRowOrder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/poppins_bold"
android:freezesText="false"
android:inputType="none"
android:padding="8dp"
android:text="@string/placeholder"
android:textAllCaps="true"
android:textColor="?android:attr/textColorSecondary"
android:textSize="14sp"
tools:ignore="LabelFor,TextContrastCheck,DuplicateSpeakableTextCheck" />
</com.google.android.material.textfield.TextInputLayout>
</ani.dantotsu.others.Xpandable>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="@font/poppins_bold"
android:gravity="center_vertical"
android:paddingHorizontal="32dp"
android:paddingTop="20dp"
android:text="@string/other"
android:textColor="?attr/colorSecondary"
tools:ignore="TextContrastCheck" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginHorizontal="32dp"
android:alpha="0.58"
android:fontFamily="@font/poppins_bold"
android:text="@string/selected_time_zone" />
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="32dp"
android:layout_marginBottom="8dp"
app:boxCornerRadiusBottomEnd="8dp"
app:boxCornerRadiusBottomStart="8dp"
app:boxCornerRadiusTopEnd="8dp"
app:boxCornerRadiusTopStart="8dp"
app:hintAnimationEnabled="true"
app:startIconDrawable="@drawable/ic_round_dns_24">
<AutoCompleteTextView
android:id="@+id/settingsAnilistTimeZone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:fontFamily="@font/poppins_bold"
android:freezesText="false"
android:inputType="none"
android:padding="8dp"
android:text="@string/placeholder"
android:textAllCaps="true"
android:textColor="?android:attr/textColorSecondary"
android:textSize="14sp"
tools:ignore="LabelFor,TextContrastCheck,DuplicateSpeakableTextCheck" />
</com.google.android.material.textfield.TextInputLayout>
<ani.dantotsu.FadingEdgeRecyclerView
android:id="@+id/settingsRecyclerView"
android:id="@+id/settingsRecyclerView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginHorizontal="24dp"
android:layout_marginHorizontal="32dp"
android:nestedScrollingEnabled="false"
android:requiresFadingEdge="vertical"
tools:itemCount="5"
tools:itemCount="1"
tools:listitem="@layout/item_settings" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>

View File

@@ -328,9 +328,15 @@
<string name="prefer_dub">Prefer Dubbed Anime</string>
<string name="none">None</string>
<string name="selected_dns">Selected DNS</string>
<string name="anime_manga">Anime and Manga</string>
<string name="list_settings">List Settings</string>
<string name="dns_info">Change if your ISP blocks any source</string>
<string name="selected_title_language">Selected Title Language</string>
<string name="selected_staff_language">Selected Staff Language</string>
<string name="selected_merge_time">Activity Merge Time</string>
<string name="selected_score_format">Scoring System</string>
<string name="selected_time_zone">Timezone</string>
<string name="selected_row_order">Default List Order</string>
<string name="keep_screen_on">Keep Screen On</string>
<string name="layout">Layout</string>
<string name="spaced_pages">Spaced Pages</string>