package com.narutohuo.xindazhou

import android.content.Intent
import android.os.Bundle
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsControllerCompat
import com.narutohuo.xindazhou.core.log.ILog
import com.narutohuo.xindazhou.common.ui.BaseActivity
import com.narutohuo.xindazhou.common.version.VersionUpdateManager
import com.narutohuo.xindazhou.databinding.ActivityMainBinding

/**
 * 主界面 Activity（架构A：每个页面一个Activity）
 * 
 * 职责：
 * 1. 作为应用的启动 Activity，包含底部导航栏和 MainFragment
 * 2. 点击底部导航栏时跳转到对应的业务模块 Activity
 * 3. 版本检查（启动时检查是否有新版本）
 * 
 * 注意：
 * - MainActivity 显示 MainFragment 作为主页内容
 * - 底部导航栏用于在不同业务模块之间切换
 * - 点击底部导航栏时，跳转到对应的 Activity（VehicleActivity, ShopActivity等）
 */
class MainActivity : BaseActivity<ActivityMainBinding>() {
    
    private val TAG = "MainActivity"
    
    override fun getViewBinding(): ActivityMainBinding {
        return ActivityMainBinding.inflate(layoutInflater)
    }
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        
        // 设置全屏模式（隐藏状态栏和导航栏）
        setFullScreenMode()
        
        // 版本检查（独立处理，不影响页面显示）
        VersionUpdateManager.checkUpdate(this)
    }
    
    /**
     * 设置全屏模式（使用新 API，兼容 Android 11+）
     */
    private fun setFullScreenMode() {
        // 使用新 API（WindowInsetsController）替代废弃的 systemUiVisibility
        WindowCompat.setDecorFitsSystemWindows(window, false)
        val insetsController = WindowInsetsControllerCompat(window, window.decorView)
        insetsController.apply {
            // 隐藏状态栏
            hide(androidx.core.view.WindowInsetsCompat.Type.statusBars())
            // 隐藏导航栏
            hide(androidx.core.view.WindowInsetsCompat.Type.navigationBars())
            // 设置沉浸式粘性模式（用户滑动时自动隐藏/显示）
            systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
        }
    }
    
    override fun initView() {
        // MainFragment 中已经处理了底部导航栏的点击事件
        // 这里不需要额外处理
    }
}

