diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt index 2022fac1..ac130497 100644 --- a/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/SettingsActivity.kt @@ -153,6 +153,16 @@ 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 = { + startActivity(Intent(context, SettingsAnilistActivity::class.java)) + }, + isActivity = true + ), Settings( type = 1, name = getString(R.string.notifications), diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsAnilistActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsAnilistActivity.kt new file mode 100644 index 00000000..c56d4ee6 --- /dev/null +++ b/app/src/main/java/ani/dantotsu/settings/SettingsAnilistActivity.kt @@ -0,0 +1,79 @@ +package ani.dantotsu.settings + +import android.content.Context +import android.os.Bundle +import android.view.ViewGroup +import android.view.animation.LinearInterpolator +import android.widget.ArrayAdapter +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.databinding.ActivitySettingsAnilistBinding +import ani.dantotsu.databinding.ItemSettingsBinding +import ani.dantotsu.initActivity +import ani.dantotsu.navBarHeight +import ani.dantotsu.restartApp +import ani.dantotsu.settings.saving.PrefManager +import ani.dantotsu.settings.saving.PrefName +import ani.dantotsu.statusBarHeight +import ani.dantotsu.themes.ThemeManager +import ani.dantotsu.util.Logger + +class SettingsAnilistActivity : AppCompatActivity() { + private lateinit var binding: ActivitySettingsAnilistBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + ThemeManager(this).applyTheme() + initActivity(this) + val context = this + binding = ActivitySettingsAnilistBinding.inflate(layoutInflater) + setContentView(binding.root) + + binding.apply { + settingsAnilistLayout.updateLayoutParams { + topMargin = statusBarHeight + bottomMargin = navBarHeight + } + binding.anilistSettingsBack.setOnClickListener { + onBackPressedDispatcher.onBackPressed() + } + + val titleLang = listOf( + "English (Attack on Titan)", + "Romaji (Shingeki no Kyojin)", + "Native (進撃の巨人)" + ) + settingsAnilistLanguage.setText(titleLang[PrefManager.getVal(PrefName.SelectedLanguage)]) + settingsAnilistLanguage.setAdapter( + ArrayAdapter( + context, R.layout.item_dropdown, titleLang + ) + ) + settingsAnilistLanguage.setOnItemClickListener { _, _, i, _ -> + PrefManager.setVal(PrefName.SelectedLanguage, i) + settingsAnilistLanguage.clearFocus() + } + + binding.settingsRecyclerView.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_24, + isChecked = PrefManager.getVal(PrefName.SettingsPreferDub), + switch = { isChecked, _ -> + PrefManager.setVal(PrefName.SettingsPreferDub, isChecked) + } + ), + ) + ) + binding.settingsRecyclerView.layoutManager = + LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) + + } + } +} \ No newline at end of file diff --git a/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt b/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt index b4e43ac8..6bd425ba 100644 --- a/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt +++ b/app/src/main/java/ani/dantotsu/settings/saving/Preferences.kt @@ -18,6 +18,7 @@ enum class PrefName(val data: Pref) { //TODO: Split this into multiple files SearchSources(Pref(Location.General, Boolean::class, false)), RecentlyListOnly(Pref(Location.General, Boolean::class, false)), SettingsPreferDub(Pref(Location.General, Boolean::class, false)), + SelectedLanguage(Pref(Location.General, Int::class, 1)), SubscriptionCheckingNotifications(Pref(Location.General, Boolean::class, true)), CheckUpdate(Pref(Location.General, Boolean::class, true)), VerboseLogging(Pref(Location.General, Boolean::class, false)), diff --git a/app/src/main/res/drawable/ic_round_lock_24.xml b/app/src/main/res/drawable/ic_round_lock_24.xml index 68cb9c1f..87281bf0 100644 --- a/app/src/main/res/drawable/ic_round_lock_24.xml +++ b/app/src/main/res/drawable/ic_round_lock_24.xml @@ -1,6 +1,7 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3660dae9..13fc0fdc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -329,6 +329,7 @@ None Selected DNS Change if your ISP blocks any source + Selected Language Keep Screen On Layout Spaced Pages @@ -387,7 +388,6 @@ FAQ Accounts Add-ons - Get more features out of your app MyAnimeList Login with Anilist! Anilist @@ -902,11 +902,13 @@ Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exerc \[%1$s\] Unknown Anilist, MAL and Discord.\nWhat more could you need? Change the vibe of your app - Manage your reliable repositories UI and other mischievous stuff - Customise your news and updates Choose how you watch Choose how you read + Manage your reliable repositories + Get more features out of your app + Change your AniList settings + Customise your news and updates Learn more about Dantotsu General questions about Dantotsu Check Github for app updates @@ -958,6 +960,9 @@ Non quae tempore quo provident laudantium qui illo dolor vel quia dolor et exerc Add-on update available Install Add-on Add-on not found + Follower only + Restrict Messages to following + Image Failed to install extension due to conflict READING