package com.cr.pages

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ListView
import com.cr.adapter.DownloadDataAdapter
import com.cr.cruav.R
import com.cr.data.CrUtil
import com.cr.models.DownloadDataModel

/**
 * 操作系统：MAC系统
 * 创建者：王成
 * 创建日期：2023/4/11 16:03
 * 描述：数据下载页面
 */
class FragmentSetDataDownload:CrNavigationFragment() {
    // define: 2023/4/11 定义控件
    private var listView:ListView? = null

    // define: 2023/4/11 定义变量
    private var dataList:MutableList<DownloadDataModel> = mutableListOf()
    private var downloadAdapter:DownloadDataAdapter?=null
    /**
     * 创建视图
     * @param inflater LayoutInflater
     * @param container ViewGroup?
     * @param savedInstanceState Bundle?
     * @return View?
     */
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        self = this
        mainView = inflater.inflate(R.layout.frag_set_data_download,null)
        // todo: 2023/4/11 挂载控件
        joinControls()
        return mainView
    }

    /**
     * 重写挂载控件
     */
    override fun joinControls() {
        // todo: 2023/4/11 挂载列表控件
        listView = mainView?.findViewById(R.id.list_view)
        // todo: 2023/4/12 初始化
        downloadAdapter = DownloadDataAdapter(context!!,dataList)
        listView?.adapter = downloadAdapter
    }

    /**
     * 重写初始化页面
     */
    override fun initPage() {
        dataList.clear()
        dataList.add(DownloadDataModel("矢量地图集", CrUtil.MAP_BASE_FILE_NAME, false))
        dataList.add(DownloadDataModel("编辑地图集", CrUtil.MAP_EDIT_FILE_NAME, false))
        dataList.add(DownloadDataModel("飞行数据库", CrUtil.DATA_FILE_NAME, false))
        dataList.add(DownloadDataModel("基础配置库", CrUtil.CONFIG_FILE_NAME, false))
        downloadAdapter?.notifyUpdate(dataList)
    }

    // todo: 2023/4/12 Fragment 生命周期

    /**
     * 重新显示 由后台到前台
     */
    override fun onResume() {
        super.onResume()
        initPage()
    }
}