| | |
| | | package com.dayu.general |
| | | |
| | | import android.app.Application |
| | | import android.nfc.Tag |
| | | import com.dayu.general.dao.BaseDaoSingleton |
| | | import com.dayu.general.dao.ProjectDataDao |
| | | |
| | | public class BaseApplication : Application() { |
| | | class BaseApplication private constructor() { |
| | | |
| | | override fun onCreate() { |
| | | super.onCreate() |
| | | companion object { |
| | | @JvmField |
| | | var application: Application? = null |
| | | |
| | | private const val TAG = "ApiManager" |
| | | |
| | | @Volatile |
| | | private var myApplication: BaseApplication? = null |
| | | |
| | | var tag: String = "" |
| | | var token: String = "" |
| | | var userId: String = "" |
| | | |
| | | var userName: String = "" |
| | | var userPhone: String = "" |
| | | |
| | | //片区信息 |
| | | var blockId:String="" |
| | | var blockName:String="" |
| | | |
| | | // 水价信息 |
| | | var waterPrice: Double = 0.0 |
| | | |
| | | // MainActivity的引用,用于调用水价获取方法 |
| | | private var mainActivityInstance: com.dayu.general.activity.MainActivity? = null |
| | | |
| | | var projectDataDao: ProjectDataDao? = null |
| | | |
| | | @JvmStatic |
| | | fun getInstance(application: Application): BaseApplication { |
| | | if (myApplication == null) { |
| | | BaseApplication.application = application |
| | | myApplication = BaseApplication().apply { |
| | | // 通过实例调用 init() |
| | | init() |
| | | } |
| | | } |
| | | return myApplication as BaseApplication |
| | | } |
| | | |
| | | /** |
| | | * 设置MainActivity实例 |
| | | */ |
| | | fun setMainActivity(activity: com.dayu.general.activity.MainActivity?) { |
| | | mainActivityInstance = activity |
| | | } |
| | | |
| | | /** |
| | | * 请求获取水价,如果为空则调用MainActivity的获取方法 |
| | | */ |
| | | fun requestWaterPrice(): Double { |
| | | if (waterPrice <= 0.0) { |
| | | // 如果水价为空且MainActivity实例存在,则调用获取方法 |
| | | mainActivityInstance?.getWaterPriceFromActivity() |
| | | } |
| | | // 如果水价仍为0,返回默认值 |
| | | return if (waterPrice > 0.0) waterPrice else 0.9 |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | fun init() { |
| | | projectDataDao = application?.let { BaseDaoSingleton.getInstance(it).projectDataDao() } |
| | | if (projectDataDao != null) { |
| | | val projectDataBean = projectDataDao?.findFirst() |
| | | if (projectDataBean != null) { |
| | | tag = projectDataBean.projectTag |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |