1 // Copyright 2015-present 650 Industries. All rights reserved. 2 package host.exp.exponent.kernel 3 4 object KernelProvider { 5 private var factory: KernelFactory = object : KernelFactory { 6 override fun create(): KernelInterface { 7 return ExpoViewKernel.instance 8 } 9 } 10 11 @JvmStatic fun setFactory(factory: KernelFactory) { 12 this.factory = factory 13 } 14 15 @JvmStatic val instance: KernelInterface by lazy { 16 factory.create() 17 } 18 19 interface KernelFactory { 20 fun create(): KernelInterface 21 } 22 } 23