1 package expo.modules.test.core 2 3 import expo.modules.kotlin.ModuleHolder 4 import expo.modules.kotlin.events.EventName 5 6 interface ModuleController { onCreatenull7 fun onCreate() 8 fun onDestroy() 9 fun onActivityEntersForeground() 10 fun onActivityEntersBackground() 11 fun onActivityDestroys() 12 } 13 14 class ModuleControllerImpl(private val holder: ModuleHolder) : ModuleController { 15 override fun onCreate() { 16 holder.post(EventName.MODULE_CREATE) 17 } 18 19 override fun onDestroy() { 20 holder.post(EventName.MODULE_DESTROY) 21 } 22 23 override fun onActivityEntersForeground() { 24 holder.post(EventName.ACTIVITY_ENTERS_FOREGROUND) 25 } 26 27 override fun onActivityEntersBackground() { 28 holder.post(EventName.ACTIVITY_ENTERS_BACKGROUND) 29 } 30 31 override fun onActivityDestroys() { 32 holder.post(EventName.ACTIVITY_DESTROYS) 33 } 34 } 35