package com.sw.dualscreen import android.app.Activity import android.os.Bundle import com.sw.dualscreen.objbox.ObjectBox import com.sw.dualscreen.sdk.SensorScaleUtils import com.sw.dualscreen.utils.ActivityManager import com.sw.dualscreen.utils.CrashHandler import com.sw.plate.App import com.sw.plate.utils.AppUtil import timber.log.Timber class MyApp : App() { companion object { const val DEBUG: Boolean = true var instance: MyApp?=null } override fun onCreate() { super.onCreate() instance = this Timber.plant(Timber.DebugTree()) var deviceId = AppUtil.getUDID(this) Timber.d("UDID = ${AppUtil.getUDID(this)}") // deviceId = "3ea47dc0-3cf0-3c2f-909c-265a9a65572e" GlobalData.deviceId = deviceId GlobalData.appBaseUrl = "http://192.168.1.201:14801" ObjectBox.init(this) // 初始化崩溃处理器 CrashHandler.init(this) SensorScaleUtils.startScale() //addActivityLifecycleListener() } private fun addActivityLifecycleListener() { registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks { override fun onActivityCreated( activity: Activity, savedInstanceState: Bundle? ) { ActivityManager.addActivity(activity) } override fun onActivityStarted(activity: Activity) { } override fun onActivityResumed(activity: Activity) { } override fun onActivityPaused(activity: Activity) { } override fun onActivityStopped(activity: Activity) { } override fun onActivitySaveInstanceState( activity: Activity, outState: Bundle ) { } override fun onActivityDestroyed(activity: Activity) { ActivityManager.removeActivity(activity) if (ActivityManager.isEmpty()) { SensorScaleUtils.closeScale() } } }) } }