123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248 |
- package com.develop.common.utils
- import android.content.Context
- import android.util.Log
- import com.azhon.appupdate.util.LogUtil
- import com.develop.base.ext.GlobalApp
- import com.develop.base.ext.getSN
- import com.develop.common.bean.CfConfig
- import com.develop.common.bean.TuyaConfig
- import com.develop.common.bean.WorkMode
- import com.google.gson.Gson
- import org.json.JSONObject
- import java.io.IOException
- import java.io.InputStream
- import java.nio.charset.Charset
- object ConfigUtils {
- data class Lang(
- val name: String?,
- val value: String,
- val icon: String?,
- val show: Boolean?,
- val showName: String
- )
- data class LangConfig(var langs: ArrayList<Lang>)
- fun loadConfig(): CfConfig? {
- return try {
- var sn = getSN()
- var brandNum = sn.substring(0, 3)
- val fileList = GlobalApp().assets.list("") ?: arrayOf()
- var inputStream: InputStream? = null
- if (sn.startsWith("000B")) {
- //由于000B 是要黑色风格,因为皮肤包问题,估在这添加多000B配置
- inputStream = GlobalApp().assets.open("config_000B.json")
- }else if (sn.startsWith("010I")||sn.startsWith("010H")){
- inputStream = GlobalApp().assets.open("config_010IH.json")
- } else if (sn.startsWith("011F")){
- inputStream = GlobalApp().assets.open("config_011F.json")
- }else {
- if (fileList.contains("config_${brandNum}.json")) {
- inputStream = GlobalApp().assets.open("config_${brandNum}.json")
- } else {
- inputStream = GlobalApp().assets.open("config.json")
- }
- }
- // inputStream = GlobalApp().assets.open("config_036.json")
- val size = inputStream.available()
- val buffer = ByteArray(size)
- inputStream.read(buffer)
- inputStream.close()
- val jsonString = String(buffer, Charset.defaultCharset())
- val gson = Gson()
- var cfConfig = gson.fromJson(jsonString, CfConfig::class.java)
- if (sn.startsWith("033I") || sn.startsWith("033K")) {
- /**
- * 由于config_033的json配置没有扭橙,但是033I的客户需要添加一个,估在这做判断
- * */
- var workMode = WorkMode(
- "citrus_juicer", "CITRUS_JUICER",
- "ic_grid_citrus_juicer", "ic_mode_citrus_juicer", "SOUP", true
- );
- cfConfig.workModes.add(workMode)
- }
- return cfConfig
- } catch (ex: IOException) {
- ex.printStackTrace()
- null
- }
- }
- fun loadCookConfig(): CfConfig? {
- return try {
- var sn = getSN()
- var brandNum = sn.substring(0, 3)
- val fileList = GlobalApp().assets.list("") ?: arrayOf()
- var inputStream: InputStream? = null
- // if (fileList.contains("config_${brandNum}.json")) {
- // inputStream = GlobalApp().assets.open("config_${brandNum}.json")
- // } else {
- // inputStream = GlobalApp().assets.open("config.json")
- // }
- inputStream = GlobalApp().assets.open("config.json")
- // inputStream = GlobalApp().assets.open("config_036.json")
- val size = inputStream.available()
- val buffer = ByteArray(size)
- inputStream.read(buffer)
- inputStream.close()
- val jsonString = String(buffer, Charset.defaultCharset())
- val gson = Gson()
- val cfConfig = gson.fromJson(jsonString, CfConfig::class.java)
- cfConfig;
- } catch (ex: IOException) {
- ex.printStackTrace()
- null
- }
- }
- fun loadLangConfig(): LangConfig? {
- return try {
- var sn = getSN()
- var brandNum = sn.substring(0, 3)
- val fileList = GlobalApp().assets.list("") ?: arrayOf()
- var inputStream: InputStream? = null
- if (fileList.contains("lang_config_${brandNum}.json")) {
- inputStream = GlobalApp().assets.open("lang_config_${brandNum}.json")
- } else {
- inputStream = GlobalApp().assets.open("lang_config.json")
- }
- val size = inputStream.available()
- val buffer = ByteArray(size)
- inputStream.read(buffer)
- inputStream.close()
- val jsonString = String(buffer, Charset.defaultCharset())
- val gson = Gson()
- val cfConfig = gson.fromJson(jsonString, LangConfig::class.java)
- return cfConfig
- } catch (ex: IOException) {
- ex.printStackTrace()
- null
- }
- }
- fun selectLangConfig(): LangConfig? {
- return try {
- var inputStream: InputStream? = null
- inputStream = GlobalApp().assets.open("lang_config.json")
- val size = inputStream.available()
- val buffer = ByteArray(size)
- inputStream.read(buffer)
- inputStream.close()
- val jsonString = String(buffer, Charset.defaultCharset())
- val gson = Gson()
- val cfConfig = gson.fromJson(jsonString, LangConfig::class.java)
- return cfConfig
- } catch (ex: IOException) {
- ex.printStackTrace()
- null
- }
- }
- fun loadTuyaConfig(): Map<String, String>? {
- return try {
- var sn = getSN()
- var inputStream: InputStream? = null
- inputStream = GlobalApp().assets.open("tuya_config.json")
- val size = inputStream.available()
- val buffer = ByteArray(size)
- inputStream.read(buffer)
- inputStream.close()
- val jsonString = String(buffer, Charset.defaultCharset())
- val gson = Gson()
- val cfConfig = gson.fromJson(jsonString, TuyaConfig::class.java)
- cfConfig.licences.get(sn)
- } catch (ex: IOException) {
- ex.printStackTrace()
- null
- }
- }
- fun getMode(type: String): WorkMode? {
- return loadConfig()?.workModes?.find { it.type == type }?.copy()
- }
- fun getErrCodeStr(context: Context, code: Int): String {
- var str = when (code) {
- 7 -> {
- context.getString(com.develop.common.R.string.e7_errCode)
- }
- 8 -> {
- context.getString(com.develop.common.R.string.e8_errCode)
- }
- 9 -> {
- context.getString(com.develop.common.R.string.e9_errCode)
- }
- 10 -> {
- context.getString(com.develop.common.R.string.e10_errCode)
- }
- 11 -> {
- context.getString(com.develop.common.R.string.e11_errCode)
- }
- 12 -> {
- context.getString(com.develop.common.R.string.e12_errCode)
- }
- 13 -> {
- context.getString(com.develop.common.R.string.e13_errCode)
- }
- 14 -> {
- context.getString(com.develop.common.R.string.e14_errCode)
- }
- 15 -> {
- ""
- // context.getString(com.develop.common.R.string.e15_errCode)
- }
- 16 -> {
- context.getString(com.develop.common.R.string.e16_errCode)
- }
- else -> {
- ""
- }
- }
- return str
- }
- fun getBooleanErrCode(code: Int): Boolean {
- //客户要求 errorCode 15 (彩屏错误提示) 跳过判断
- return code == 7 || code == 8 || code == 9 || code == 10 || code == 11 || code == 12 || code == 13 || code == 14 || code == 16
- }
- }
|