2025-06-06 16:23:30 +03:00

68 lines
2.5 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.rehabilitation
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import androidx.appcompat.app.AppCompatActivity
import com.example.rehabilitation.databinding.ActivityCode429Binding
/**
* Активность, отображаемая при получении ошибки 429 (Too Many Requests)
* Информирует пользователя о превышении лимита запросов и предлагает повторить попытку позже
*/
class Code429Activity : AppCompatActivity() {
// ViewBinding для безопасного доступа к UI элементам
private lateinit var binding: ActivityCode429Binding
// Обработчик для обновления UI
private val handler = Handler(Looper.getMainLooper())
// Задержка между проверками (в миллисекундах)
private val CHECK_DELAY = 5000L
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityCode429Binding.inflate(layoutInflater)
setContentView(binding.root)
// Настройка обработчиков нажатий
setupClickListeners()
// Запуск периодической проверки
startRetryCheck()
}
/**
* Настройка обработчиков нажатий на кнопки
*/
private fun setupClickListeners() {
// Обработчик нажатия на кнопку "Повторить"
binding.retryButton.setOnClickListener {
finish()
}
// Обработчик нажатия на кнопку "Выход"
binding.exitButton.setOnClickListener {
finish()
}
}
/**
* Запуск периодической проверки возможности повторного запроса
*/
private fun startRetryCheck() {
handler.postDelayed(object : Runnable {
override fun run() {
// По истечении задержки возвращаемся к предыдущей активности
finish()
handler.postDelayed(this, CHECK_DELAY)
}
}, CHECK_DELAY)
}
override fun onDestroy() {
super.onDestroy()
// Останавливаем периодическую проверку при уничтожении активности
handler.removeCallbacksAndMessages(null)
}
}