MyApplication.kt 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. package com.jld.vod.base
  2. import android.app.Activity
  3. import android.app.Application
  4. import android.content.Context
  5. import android.os.Bundle
  6. import android.preference.PreferenceManager
  7. import android.util.Log
  8. import com.facebook.drawee.backends.pipeline.Fresco
  9. import com.jld.vod.model.bean.ContextBean
  10. import com.jld.vod.ui.XBasicLibInit
  11. import com.jld.vod.utils.http.RetrofitUtils
  12. import com.xuexiang.xui.XUI
  13. import com.zzhoujay.richtext.RichText
  14. import org.mapsforge.map.android.graphics.AndroidGraphicFactory
  15. import org.mapsforge.map.layer.renderer.MapWorkerPool
  16. import org.mapsforge.map.model.DisplayModel
  17. import org.mapsforge.map.reader.MapFile
  18. /**
  19. * @author ZhaoFuXin
  20. * @Email:18276061387@163.com
  21. * @description:
  22. * @date :2019/11/26 14:47
  23. */
  24. class MyApplication : Application(){
  25. val TAG = "Mapsforge Samples"
  26. val SETTING_DEBUG_TIMING = "debug_timing"
  27. val SETTING_LANGUAGE_SHOWLOCAL = "language_showlocal"
  28. val SETTING_PREFERRED_LANGUAGE = "language_selection"
  29. val SETTING_RENDERING_THREADS = "rendering_threads"
  30. val SETTING_SCALE = "scale"
  31. val SETTING_TEXTWIDTH = "textwidth"
  32. val SETTING_TILECACHE_PERSISTENCE = "tilecache_persistence"
  33. val SETTING_WAYFILTERING = "wayfiltering"
  34. val SETTING_WAYFILTERING_DISTANCE = "wayfiltering_distance"
  35. private var callbacks:ActivityLifecycleCallbacks? = null
  36. /**
  37. * 内存检测
  38. */
  39. companion object{
  40. fun isDebug(): Boolean {
  41. return false
  42. }
  43. lateinit var app: Application
  44. }
  45. override fun onCreate() {
  46. super.onCreate()
  47. app = this
  48. RetrofitUtils.init()
  49. Fresco.initialize(app)
  50. /**
  51. * 地图
  52. */
  53. AndroidGraphicFactory.createInstance(this)
  54. Log.e(TAG, "Device scale factor " + java.lang.Float.toString(DisplayModel.getDeviceScaleFactor()))
  55. val preferences = PreferenceManager.getDefaultSharedPreferences(this)
  56. val fs = java.lang.Float.valueOf(preferences.getString(SETTING_SCALE, java.lang.Float.toString(DisplayModel.getDefaultUserScaleFactor()))!!)
  57. Log.e(TAG, "User ScaleFactor " + java.lang.Float.toString(fs))
  58. if (fs != DisplayModel.getDefaultUserScaleFactor()) { DisplayModel.setDefaultUserScaleFactor(fs) }
  59. MapFile.wayFilterEnabled = preferences.getBoolean(SETTING_WAYFILTERING, true)
  60. if (MapFile.wayFilterEnabled) {
  61. MapFile.wayFilterDistance = preferences.getString(SETTING_WAYFILTERING_DISTANCE, "20")!!.toInt()
  62. }
  63. MapWorkerPool.DEBUG_TIMING = preferences.getBoolean(SETTING_DEBUG_TIMING, false)
  64. //XUI
  65. initUI()
  66. //初始化基础库
  67. XBasicLibInit.init(this)
  68. //html
  69. RichText.initCacheDir(this)
  70. RichText.debugMode = true
  71. initActivityLifecycle()
  72. }
  73. private fun initActivityLifecycle() {
  74. app.registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks{
  75. override fun onActivityPaused(activity: Activity) {
  76. }
  77. override fun onActivityStarted(activity: Activity) {
  78. }
  79. override fun onActivityDestroyed(activity: Activity) {
  80. if (activity == ContextBean.getInstance().getActivity()) {
  81. ContextBean.getInstance().setActivity(null)
  82. }
  83. }
  84. override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {
  85. }
  86. override fun onActivityStopped(activity: Activity) {
  87. }
  88. override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
  89. ContextBean.getInstance().setActivity(activity);
  90. }
  91. override fun onActivityResumed(activity: Activity) {
  92. }
  93. })
  94. }
  95. /**
  96. * 初始化XUI 框架
  97. */
  98. private fun initUI() {
  99. XUI.init(this)
  100. XUI.debug(isDebug())
  101. }
  102. }