|
23 | 23 | import android.content.pm.ApplicationInfo;
|
24 | 24 | import android.content.pm.PackageInfo;
|
25 | 25 | import android.content.pm.PackageManager;
|
| 26 | +import android.os.AsyncTask; |
26 | 27 |
|
27 | 28 | import org.json.JSONException;
|
28 | 29 | import org.json.JSONObject;
|
@@ -307,22 +308,29 @@ public void onHostDestroy() {
|
307 | 308 |
|
308 | 309 | @ReactMethod
|
309 | 310 | public void downloadUpdate(final ReadableMap updatePackage, final Promise promise) {
|
310 |
| - try { |
311 |
| - codePushPackage.downloadPackage(applicationContext, updatePackage, new DownloadProgressCallback() { |
312 |
| - @Override |
313 |
| - public void call(DownloadProgress downloadProgress) { |
314 |
| - getReactApplicationContext() |
315 |
| - .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class) |
316 |
| - .emit(DOWNLOAD_PROGRESS_EVENT_NAME, downloadProgress.createWritableMap()); |
317 |
| - } |
318 |
| - }); |
| 311 | + AsyncTask asyncTask = new AsyncTask() { |
| 312 | + @Override |
| 313 | + protected Object doInBackground(Object[] params) { |
| 314 | + try { |
| 315 | + codePushPackage.downloadPackage(applicationContext, updatePackage, new DownloadProgressCallback() { |
| 316 | + @Override |
| 317 | + public void call(DownloadProgress downloadProgress) { |
| 318 | + getReactApplicationContext() |
| 319 | + .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class) |
| 320 | + .emit(DOWNLOAD_PROGRESS_EVENT_NAME, downloadProgress.createWritableMap()); |
| 321 | + } |
| 322 | + }); |
319 | 323 |
|
320 |
| - WritableMap newPackage = codePushPackage.getPackage(CodePushUtils.tryGetString(updatePackage, codePushPackage.PACKAGE_HASH_KEY)); |
321 |
| - promise.resolve(newPackage); |
322 |
| - } catch (IOException e) { |
323 |
| - e.printStackTrace(); |
324 |
| - promise.reject(e.getMessage()); |
325 |
| - } |
| 324 | + WritableMap newPackage = codePushPackage.getPackage(CodePushUtils.tryGetString(updatePackage, codePushPackage.PACKAGE_HASH_KEY)); |
| 325 | + promise.resolve(newPackage); |
| 326 | + } catch (IOException e) { |
| 327 | + e.printStackTrace(); |
| 328 | + promise.reject(e.getMessage()); |
| 329 | + } |
| 330 | + return null; |
| 331 | + } |
| 332 | + }; |
| 333 | + asyncTask.execute(); |
326 | 334 | }
|
327 | 335 |
|
328 | 336 | @ReactMethod
|
@@ -424,4 +432,3 @@ public List<ViewManager> createViewManagers(ReactApplicationContext reactApplica
|
424 | 432 | }
|
425 | 433 |
|
426 | 434 | }
|
427 |
| - |
|
0 commit comments