package com.bbitcn.silk.ui.activity;

import com.bbitcn.silk.base.BaseActivity;
import com.bbitcn.silk.databinding.ActivityUpdateBinding;
import com.bbitcn.silk.ui.dialog.UpdateDialog;
import com.bbitcn.silk.utils.MyUtil;

import es.dmoral.toasty.Toasty;

/**
 * @Description 升级界面
 * @Author DuanKaiji
 * @CreateTime 2024年3月28日 10:12:15
 */
public class UpdateActivity extends BaseActivity<ActivityUpdateBinding, UpdateActivityPresenter> {
    /**
     * 升级地址
     */
    String updateUrl;
    /**
     * 新版本名
     */
    String lastVersionName;
    /**
     * 新版本描述
     */
    String versionDescription;

    @Override
    public void initView() {
        binding.btnUpdate.setEnabled(false);
        binding.tvCurVersion.setText(MyUtil.getVersionName(mContext));
        presenter.getVersionInfo().observe(this, model -> {
            int server = model.getVersionNumber();
            binding.tvLastVersion.setText(model.getVersionName());
            if (server > MyUtil.getVersion(mContext)) {
                //可以升级
                updateUrl = model.getUrl();
                binding.btnUpdate.setEnabled(true);
                lastVersionName = model.getVersionName();
                versionDescription = model.getVersionDescription();
                Toasty.success(mContext, "检测到新版本").show();
            } else {
                Toasty.success(mContext, "当前已是最新版本").show();
            }
        });
    }

    @Override
    public void initListener() {
        super.initListener();
        binding.ivBack.setOnClickListener(v -> finish());
        //升级
        binding.btnUpdate.setOnClickListener(v -> new UpdateDialog(mContext, updateUrl, lastVersionName, versionDescription).show());
    }
}
