@@ -259,15 +259,23 @@ public void downloadPackage(Context applicationContext, ReadableMap updatePackag
259
259
CodePushUtils .writeReadableMapToFile (updatePackage , bundlePath );
260
260
}
261
261
262
- public void installPackage (ReadableMap updatePackage ) throws IOException {
262
+ public void installPackage (ReadableMap updatePackage , boolean removePendingUpdate ) throws IOException {
263
263
String packageHash = CodePushUtils .tryGetString (updatePackage , PACKAGE_HASH_KEY );
264
264
WritableMap info = getCurrentPackageInfo ();
265
- String previousPackageHash = getPreviousPackageHash ();
266
- if (previousPackageHash != null && !previousPackageHash .equals (packageHash )) {
267
- FileUtils .deleteDirectoryAtPath (getPackageFolderPath (previousPackageHash ));
265
+ if (removePendingUpdate ) {
266
+ String currentPackageFolderPath = getCurrentPackageFolderPath ();
267
+ if (currentPackageFolderPath != null ) {
268
+ FileUtils .deleteDirectoryAtPath (currentPackageFolderPath );
269
+ }
270
+ } else {
271
+ String previousPackageHash = getPreviousPackageHash ();
272
+ if (previousPackageHash != null && !previousPackageHash .equals (packageHash )) {
273
+ FileUtils .deleteDirectoryAtPath (getPackageFolderPath (previousPackageHash ));
274
+ }
275
+
276
+ info .putString (PREVIOUS_PACKAGE_KEY , CodePushUtils .tryGetString (info , CURRENT_PACKAGE_KEY ));
268
277
}
269
278
270
- info .putString (PREVIOUS_PACKAGE_KEY , CodePushUtils .tryGetString (info , CURRENT_PACKAGE_KEY ));
271
279
info .putString (CURRENT_PACKAGE_KEY , packageHash );
272
280
updateCurrentPackageInfo (info );
273
281
}
0 commit comments