123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- package com.example.chemical
- import android.app.Application
- import android.content.Context
- import android.util.Log
- import androidx.multidex.MultiDex
- import com.blankj.utilcode.util.AppUtils
- import com.blankj.utilcode.util.CrashUtils
- import com.blankj.utilcode.util.FileUtils
- import com.blankj.utilcode.util.LogUtils
- import com.rc.core.log.RcLog
- import com.rc.core.util.ScreenAdapter
- import com.rc.httpcore.HttpConfig
- import com.rc.httpcore.apk.LabInfo
- import com.rc.httpcore.bean.ConfigBean
- import com.rc.httpcore.bean.UserData
- import com.tencent.smtt.export.external.TbsCoreSettings
- import com.tencent.smtt.sdk.QbSdk
- //新版化学品-使用V3版本API
- class ChemicalApp : Application() {
- companion object {
- lateinit var appContext: Context
- @JvmField
- var userData: UserData? = null
- var subjectId: String? = null //实验室id
- var subjectName: String? = null //实验室name
- var confs: ConfigBean? = null //基础信息以及 双人 认证方式
- var labInfo: LabInfo? = null //基础信息以及 双人 认证方式
- var subRoom: String? = null //房间号
- var administrators = false //是否是校院级管理员 管控类的仅校级管理员或院级管理员可操作 新增入库 操作管控or非管控
- var responsibles = false //是否是 责任人 实验室负责人或安全责任人、柜门管理员 新增入库 只能操作非管控
- }
- override fun onCreate() {
- super.onCreate()
- if (AppUtils.isAppDebug()) {
- HttpConfig.API_BASE_URL = "http://192.168.1.8/api/"
- HttpConfig.API_BASE_IMG_URL = "http://192.168.1.8/api/"
- }
- ScreenAdapter.initAppDensity(this)
- // initCrash(this)
- // initBugly()
- initX5()
- appContext = applicationContext
- initLog()
- }
- private fun initLog() {
- val logPath = "/sdcard/logs/"
- val crashPath = "/sdcard/logs/crash/"
- // log文件存储地址
- FileUtils.createOrExistsDir(logPath)
- FileUtils.createOrExistsDir(crashPath)
- CrashUtils.init(crashPath) { crashInfo ->
- LogUtils.e(crashInfo)
- }
- val config = LogUtils.getConfig()
- // log开关控制
- config.setLogSwitch(true)
- // log控制台开关
- config.setConsoleSwitch(true)
- // logTag
- config.setGlobalTag("Jayce")
- // log头部信息开关
- config.setLogHeadSwitch(true)
- // log文件开关
- config.setLog2FileSwitch(true)
- config.setDir(logPath)
- // log文件前缀
- config.setFilePrefix(AppUtils.getAppName() + "_App")
- // log边框开关
- config.setBorderSwitch(true)
- // log文件保存天数
- config.setSaveDays(7)
- }
- private fun initBugly() {
- /*
- * 第三个参数为SDK调试模式开关,调试模式的行为特性如下:
- * 1) 输出详细的Bugly SDK的Log;
- * 2) 每一条Crash都会被立即上报;
- * 3) 自定义日志将会在Logcat中输出。
- * 建议在测试阶段建议设置成true,发布时设置为false。
- */
- // if (BuildConfig.DEBUG) {//发布版x
- //
- // CrashReport.initCrashReport(this, Constants.APP_ID, false)
- // } else {
- // CrashReport.initCrashReport(this, Constants.APP_ID, true)
- // }
- RcLog.DE_BUG = true
- // CrashReport.initCrashReport(this, Constants.APP_ID, true)
- }
- override fun attachBaseContext(base: Context?) {
- super.attachBaseContext(base)
- MultiDex.install(this)
- }
- private fun initX5() {
- // TBS服务
- val initParam = mapOf(
- TbsCoreSettings.TBS_SETTINGS_USE_SPEEDY_CLASSLOADER to true,
- TbsCoreSettings.TBS_SETTINGS_USE_DEXLOADER_SERVICE to true
- )
- QbSdk.initTbsSettings(initParam)
- QbSdk.setDownloadWithoutWifi(true)
- QbSdk.initX5Environment(this, object : QbSdk.PreInitCallback {
- override fun onCoreInitFinished() {
- Log.i("LabApp", "onCoreInitFinished")
- }
- override fun onViewInitFinished(b: Boolean) {
- // 加载x5内核成功返回值为true,否则返回false,加载失败会调用系统的webview
- Log.i("LabApp", "x5初始化结果===$b")
- }
- })
- }
- }
|