[incremental] expose more metrics fields

Exposing more data loader states as per
go/incremental-crash-reports-1-pager.

BUG: 184844615
Test: atest service.incremental_test
Test: atest android.cts.statsdatom.incremental.AppErrorAtomTests
Change-Id: I532513453411b2ccdb21311d0bc3dee0641837db
diff --git a/services/incremental/IncrementalService.h b/services/incremental/IncrementalService.h
index 95a17d1..8dc789f 100644
--- a/services/incremental/IncrementalService.h
+++ b/services/incremental/IncrementalService.h
@@ -249,7 +249,7 @@
         bool isSystemDataLoader() const;
         void setHealthListener(const StorageHealthCheckParams& healthCheckParams,
                                StorageHealthListener&& healthListener);
-        long elapsedMsSinceOldestPendingRead();
+        void getMetrics(android::os::PersistableBundle* _aidl_return);
 
     private:
         binder::Status onStatusChanged(MountId mount, int newStatus) final;
@@ -281,6 +281,7 @@
         BootClockTsUs getOldestPendingReadTs();
         BootClockTsUs getOldestTsFromLastPendingReads();
         Milliseconds elapsedMsSinceKernelTs(TimePoint now, BootClockTsUs kernelTsUs);
+        long elapsedMsSinceOldestPendingRead();
 
         // If the stub has to bind to the DL.
         // Returns {} if bind operation is already in progress.
@@ -298,6 +299,7 @@
         content::pm::FileSystemControlParcel mControl;
         DataLoaderStatusListener mStatusListener;
         StorageHealthListener mHealthListener;
+        std::atomic<int> mHealthStatus = IStorageHealthListener::HEALTH_STATUS_OK;
 
         std::condition_variable mStatusCondition;
         int mCurrentStatus = content::pm::IDataLoaderStatusListener::DATA_LOADER_DESTROYED;
@@ -468,7 +470,6 @@
 
     bool updateLoadingProgress(int32_t storageId,
                                StorageLoadingProgressListener&& progressListener);
-    long getMillsSinceOldestPendingRead(StorageId storage);
 
     void trimReservedSpaceV1(const IncFsMount& ifs);