SystemParameterDialog.kt 3.46 KB
Newer Older
赵鹏翔's avatar
赵鹏翔 committed
1
package com.miya.fastcashier.ui.dialog
2 3 4 5 6

import android.app.Dialog
import android.content.Context
import android.view.Gravity
import android.view.View
7 8 9
import android.view.WindowManager
import android.widget.TextView
import com.fastcashier.lib_common.BuildConfig
10
import com.fastcashier.lib_common.function.account.AccountService.getAccountInfo
赵鹏翔's avatar
赵鹏翔 committed
11
import com.fastcashier.lib_common.net.ApiConfig.baseUrl
12
import com.fastcashier.lib_common.util.DateUtils
13 14 15
import com.fastcashier.lib_common.util.getVersion
import com.fastcashier.lib_common.util.getVersionCode
import com.fastcashier.lib_common.util.getWifyName
16
import com.miya.fastcashier.R
17
import com.miya.fastcashier.databinding.DialogSystemParameterBinding
18
import com.miya.fastcashier.util.manage.ChannelManageKit
19
import com.miya.print.PrinterManager
20
import java.util.*
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

class SystemParameterDialog(context: Context) : Dialog(context, R.style.CommonDialog) {

    private val viewBinding: DialogSystemParameterBinding

    init {
        viewBinding = DialogSystemParameterBinding.inflate(
            layoutInflater
        )
        setContentView(viewBinding.root)
        setCanceledOnTouchOutside(false)
        setCancelable(true)
        init()
    }

    private fun init() {
        val accountInfo = getAccountInfo()
        setInfo(viewBinding.tvVersion, getVersion(context))
赵鹏翔's avatar
赵鹏翔 committed
39 40 41 42 43
        setInfo(viewBinding.tvStoreName, accountInfo!!.shopInfo?.storeName)
        setInfo(viewBinding.tvStoreNum, accountInfo.shopInfo?.storeId)
        setInfo(viewBinding.tvMerchantNum, accountInfo.shopInfo?.hhMerchant)
        setInfo(viewBinding.tvPos, accountInfo.shopInfo?.posId)
        setInfo(viewBinding.tvCashier, accountInfo.shopInfo?.operatorId)
44 45 46 47
        setInfo(viewBinding.tvVersionType, "fastCashier_" + BuildConfig.appType)
        setInfo(viewBinding.tvEquipment, "sunmi_v2pro")
        setInfo(viewBinding.tvServerUrl, baseUrl)
        setInfo(viewBinding.tvWifiName, getWifyName(context))
48 49 50 51
        setInfo(
            viewBinding.tvLog,
            "${getVersionCode(context)}_${DateUtils.format8(Date())}.txt"
        )
52 53 54 55
        setInfo(
            viewBinding.tvPrintType,
            if (PrinterManager.getInstance().printer == null) context.resources.getString(R.string.app_unkown) else PrinterManager.getInstance().printer.printerName
        )
56
        setInfo(viewBinding.tvChannel, ChannelManageKit.getAppChannelName(context))
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
        viewBinding.ivClose.setOnClickListener(View.OnClickListener { dismiss() })
        resize()
    }

    private fun setInfo(view: View, info: String?) {
        (view as TextView).text = info
    }

    /**
     * 设置对话框大小
     *
     * @param width  宽度,传0表示走默认宽度
     * @param height 高度,传0表示走默认高度
     */
    fun setSize(width: Int, height: Int): SystemParameterDialog {
        if (width < 0 || height < 0) {
            return this
        }
        val layoutParams = window!!.attributes
        if (width != 0 && height != 0) {
            layoutParams.width = width
            layoutParams.height = height
        } else if (width == 0 && height != 0) {
            layoutParams.height = height
        } else if (width != 0 && height == 0) {
            layoutParams.width = width
        }
        window!!.setGravity(Gravity.CENTER)
        window!!.attributes = layoutParams
        return this
    }

    private fun resize() {
        this.window!!.setLayout(
            WindowManager.LayoutParams.MATCH_PARENT,
            WindowManager.LayoutParams.MATCH_PARENT
        )
    }
}