"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.downloadApkAsync = downloadApkAsync; function _fsExtra() { const data = _interopRequireDefault(require("fs-extra")); _fsExtra = function () { return data; }; return data; } function _path() { const data = _interopRequireDefault(require("path")); _path = function () { return data; }; return data; } function _internal() { const data = require("../internal"); _internal = function () { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _apkCacheDirectory() { const dotExpoHomeDirectory = _internal().UserSettings.dotExpoHomeDirectory(); const dir = _path().default.join(dotExpoHomeDirectory, 'android-apk-cache'); _fsExtra().default.mkdirpSync(dir); return dir; } async function downloadApkAsync(url, downloadProgressCallback) { if (!url) { const versions = await _internal().Versions.versionsAsync(); url = versions.androidUrl; } const filename = _path().default.parse(url).name; const apkPath = _path().default.join(_apkCacheDirectory(), `${filename}.apk`); if (await _fsExtra().default.pathExists(apkPath)) { return apkPath; } await (0, _internal().downloadAppAsync)(url, apkPath, undefined, downloadProgressCallback); return apkPath; } //# sourceMappingURL=downloadApkAsync.js.map