1 package expo.modules.updates 2 3 import android.content.Context 4 import expo.modules.core.ExportedModule 5 import expo.modules.core.Promise 6 import expo.modules.core.interfaces.ExpoMethod 7 import java.util.* 8 9 class UpdatesE2ETestModule(context: Context) : ExportedModule(context) { getNamenull10 override fun getName() = "ExpoUpdatesE2ETest" 11 12 @ExpoMethod 13 fun clearInternalAssetsFolderAsync(promise: Promise) { 14 try { 15 val assetsFolder = UpdatesController.instance.updatesDirectory 16 assetsFolder!!.deleteRecursively() 17 promise.resolve(null) 18 } catch (e: Throwable) { 19 promise.reject(e) 20 } 21 } 22 23 @ExpoMethod readInternalAssetsFolderAsyncnull24 fun readInternalAssetsFolderAsync(promise: Promise) { 25 try { 26 val assetsFolder = UpdatesController.instance.updatesDirectory 27 if (!assetsFolder!!.exists()) { 28 return promise.resolve(0) 29 } 30 val count = assetsFolder.walk().count() - 1 // subtract one for the folder itself, which is included in walk() 31 promise.resolve(count) 32 } catch (e: Throwable) { 33 promise.reject(e) 34 } 35 } 36 } 37