|
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