package com.wall.exquisite.wallpaper;

import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.widget.ProgressBar;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;

public class StartuppageActivity extends AppCompatActivity {

    private ProgressBar progressBar;
    // 倒计时总时长（毫秒），这里设置1500ms=1.5秒，和你原来的逻辑一致
    private static final long TOTAL_COUNT_DOWN_TIME = 1500;
    // 倒计时间隔（毫秒），每15ms更新一次进度，和原逻辑匹配
    private static final long COUNT_DOWN_INTERVAL = 15;
    private CountDownTimer countDownTimer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        EdgeToEdge.enable(this);
        setContentView(R.layout.activity_startuppage);

        // 初始化控件
        progressBar = findViewById(R.id.progressBar);

        // 初始化并启动CountDownTimer倒计时
        initCountDownTimer();

        // 适配系统状态栏（保留原有逻辑）
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
            return insets;
        });
    }

    /**
     * 初始化CountDownTimer，实现倒计时和进度条更新
     */
    private void initCountDownTimer() {
        // CountDownTimer参数说明：
        // 第一个参数：总倒计时时长（ms）
        // 第二个参数：倒计时间隔（ms），每隔这个时间回调一次onTick
        countDownTimer = new CountDownTimer(TOTAL_COUNT_DOWN_TIME, COUNT_DOWN_INTERVAL) {
            @Override
            public void onTick(long millisUntilFinished) {
                // 计算当前进度：(总时长 - 剩余时长) / 总时长 * 100
                int progress = (int) ((TOTAL_COUNT_DOWN_TIME - millisUntilFinished) * 100 / TOTAL_COUNT_DOWN_TIME);
                // 更新进度条（CountDownTimer的回调默认在主线程，可直接更新UI）
                progressBar.setProgress(progress);
            }

            @Override
            public void onFinish() {
                // 倒计时结束，设置进度条为100
                progressBar.setProgress(100);
                // 跳转到MainActivity2
                Intent intent = new Intent(StartuppageActivity.this, FirstMainActivity.class);
                startActivity(intent);
                finish(); // 关闭启动页，避免返回键回到此页面
            }
        };

        // 启动倒计时
        countDownTimer.start();
    }

    /**
     * 防止内存泄漏：页面销毁时取消倒计时
     */
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (countDownTimer != null) {
            countDownTimer.cancel(); // 取消倒计时
        }
    }
}