Proper retrying DL installation sessions.

Plus more robust handling of broken DLs.

Bug: 190012477
Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest com.google.android.packageinstallerv2proxy.host.gts.IncrementalInstallerHostTest
Change-Id: I5cb037d49cd2b140bed1045c99f072112495acfc
diff --git a/services/incremental/IncrementalService.h b/services/incremental/IncrementalService.h
index 5de7325..b81e1b1 100644
--- a/services/incremental/IncrementalService.h
+++ b/services/incremental/IncrementalService.h
@@ -255,6 +255,7 @@
         binder::Status onStatusChanged(MountId mount, int newStatus) final;
 
         void setCurrentStatus(int newStatus);
+        void compareAndSetCurrentStatus(int expectedStatus, int newStatus);
 
         sp<content::pm::IDataLoader> getDataLoader();