Timer/app/src/main/java/com/example/timert/SettingsActivity.kt

83 lines
3.9 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.example.timert
import android.content.Context
import android.content.pm.PackageManager
import android.os.Bundle
import android.widget.Switch
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate
import android.widget.Button
import androidx.appcompat.app.AlertDialog
import androidx.core.text.HtmlCompat
class SettingsActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings2)
val versionTextView: TextView = findViewById(R.id.versionTextView)
val darkModeSwitch: Switch = findViewById(R.id.darkModeSwitch)
val aboutButton: Button = findViewById(R.id.aboutButton)
val developersButton: Button = findViewById(R.id.developersButton)
// Получаем сохраненное состояние темы из SharedPreferences
val sharedPreferences = getSharedPreferences("AppSettings", Context.MODE_PRIVATE)
val isDarkMode = sharedPreferences.getBoolean("DarkMode", false) // По умолчанию - светлая тема
darkModeSwitch.isChecked = isDarkMode
// Применяем тему
if (isDarkMode) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
} else {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
}
try {
val packageInfo = packageManager.getPackageInfo(packageName, 0)
val versionName = packageInfo.versionName
versionTextView.text = "Версия: $versionName"
} catch (e: PackageManager.NameNotFoundException) {
versionTextView.text = "Версия: Неизвестно"
}
// Устанавливаем слушатель для Switch
darkModeSwitch.setOnCheckedChangeListener { _, isChecked ->
// Сохраняем состояние темы в SharedPreferences
val editor = sharedPreferences.edit()
editor.putBoolean("DarkMode", isChecked)
editor.apply()
// Применяем тему
if (isChecked) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
} else {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
}
}
// Обработчик нажатия на кнопку "О программе"
aboutButton.setOnClickListener {
AlertDialog.Builder(this)
.setTitle("О программе")
.setMessage("Краткое описание пользования приложением.\n\nНапример: Это приложение позволяет тренироваться, чтобы быть как арнольдшварцнигер 😄")
.setPositiveButton("ОК", null)
.show()
}
// Обработчик нажатия на кнопку "Разработчики"
developersButton.setOnClickListener {
AlertDialog.Builder(this)
.setTitle("Разработчики")
.setMessage(HtmlCompat.fromHtml(
"<p style='margin-left: 2em;'><b>Вятский государственный университет</b></p><br>" +
"<p style='margin-left: 2em;'>Емцова Надежда Александровна</p>" +
"<p style='margin-left: 2em;'>Новиков Николай Алексеевич</p>" +
"<p style='margin-left: 2em;'>Пискун Алёна Викторовна</p>",
HtmlCompat.FROM_HTML_MODE_LEGACY
))
.setPositiveButton("ОК", null)
.show()
}
}
}