SharedContextHolder.kt (642B) - raw


      1 package me.rhunk.snapenhance
      2 
      3 import android.app.Activity
      4 import android.content.Context
      5 import java.lang.ref.WeakReference
      6 
      7 object SharedContextHolder {
      8     private lateinit var _remoteSideContext: WeakReference<RemoteSideContext>
      9 
     10     fun remote(context: Context): RemoteSideContext {
     11         if (!::_remoteSideContext.isInitialized || _remoteSideContext.get() == null) {
     12             _remoteSideContext = WeakReference(RemoteSideContext(context.let {
     13                 if (it is Activity) it.applicationContext else it
     14             }))
     15             _remoteSideContext.get()?.reload()
     16         }
     17 
     18         return _remoteSideContext.get()!!
     19     }
     20 }