You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.4 KiB

"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