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("deviceId = $deviceId") // deviceId = "3ea47dc0-3cf0-3c2f-909c-265a9a65572e" GlobalData.deviceId = deviceId 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() } } }) } }