binder: Add more debugging information to dumpsys

Usage:
$> adb shell dumpsys iorapd

Example output:
----------------------------------
Recent prefetches:
  /data/misc/iorapd/com.google.android.GoogleCamera/60092050/com.android.camera.CameraLauncher/compiled_traces/compiled_trace.pb
    Task ID: 48
    Bytes count: 37552128
  /data/misc/iorapd/com.google.android.GoogleCamera/60092050/com.android.camera.CameraLauncher/compiled_traces/compiled_trace.pb
    Task ID: 50
    Bytes count: 37552128

Perfetto consumer state:
  Last destroyed handle: 3
  Last created handle: 4

  In-flight handles:
    Handle 4
      Kind: kStartedTracing
      Perfetto State: 3
      Started tracing at: 1583366848124890862
      Last transition at: 1583366848124890862

Background job:
  Last run at: (None)
  Activities last compiled: 0

Package history in database:
  com.google.android.GoogleCamera/com.android.camera.CameraLauncher@60092050
    Compiled Status: Usable compiled trace
      Bytes to be prefetched: 37552128
      Time compiled: Thu Feb 27 19:29:44 2020
      /data/misc/iorapd/com.google.android.GoogleCamera/60092050/com.android.camera.CameraLauncher/compiled_traces/compiled_trace.pb
    Raw traces:
      Trace count: 4
      /data/misc/iorapd/com.google.android.GoogleCamera/60092050/com.android.camera.CameraLauncher/raw_traces/1582849735195156086.perfetto_trace.pb
      /data/misc/iorapd/com.google.android.GoogleCamera/60092050/com.android.camera.CameraLauncher/raw_traces/1582849740552479901.perfetto_trace.pb
      /data/misc/iorapd/com.google.android.GoogleCamera/60092050/com.android.camera.CameraLauncher/raw_traces/1582849747538387055.perfetto_trace.pb
      /data/misc/iorapd/com.google.android.GoogleCamera/60092050/com.android.camera.CameraLauncher/raw_traces/1582849754783053715.perfetto_trace.pb
  com.android.chrome/com.google.android.apps.chrome.Main@406800383
    Compiled Status: Usable compiled trace
      Bytes to be prefetched: 22462464
      Time compiled: Tue Mar 03 17:37:55 2020
      /data/misc/iorapd/com.android.chrome/406800383/com.google.android.apps.chrome.Main/compiled_traces/compiled_trace.pb
    Raw traces:
      Trace count: 3
      /data/misc/iorapd/com.android.chrome/406800383/com.google.android.apps.chrome.Main/raw_traces/1583194201492399331.perfetto_trace.pb
      /data/misc/iorapd/com.android.chrome/406800383/com.google.android.apps.chrome.Main/raw_traces/1583255733288245600.perfetto_trace.pb
      /data/misc/iorapd/com.android.chrome/406800383/com.google.android.apps.chrome.Main/raw_traces/1583275047005372750.perfetto_trace.pb
  com.google.android.apps.nexuslauncher/com.google.android.apps.nexuslauncher.NexusLauncherActivity@806
    Compiled Status: Need 3 more traces for compilation
    Raw traces:
      Trace count: 0
  com.facebook.orca/com.facebook.orca.auth.StartScreenActivity@197803942
    Compiled Status: Need 2 more traces for compilation
    Raw traces:
      Trace count: 1
      /data/misc/iorapd/com.facebook.orca/197803942/com.facebook.orca.auth.StartScreenActivity/raw_traces/1583255729334294165.perfetto_trace.pb
  com.google.android.apps.messaging/com.google.android.apps.messaging.ui.ConversationListActivity@52062040
    Compiled Status: Usable compiled trace
      Bytes to be prefetched: 135168
      Time compiled: Wed Mar 04 17:35:05 2020
      /data/misc/iorapd/com.google.android.apps.messaging/52062040/com.google.android.apps.messaging.ui.ConversationListActivity/compiled_traces/compiled_trace.pb
    Raw traces:
      Trace count: 3
      /data/misc/iorapd/com.google.android.apps.messaging/52062040/com.google.android.apps.messaging.ui.ConversationListActivity/raw_traces/1583358909410587832.perfetto_trace.pb
      /data/misc/iorapd/com.google.android.apps.messaging/52062040/com.google.android.apps.messaging.ui.ConversationListActivity/raw_traces/1583361233567436080.perfetto_trace.pb
      /data/misc/iorapd/com.google.android.apps.messaging/52062040/com.google.android.apps.messaging.ui.ConversationListActivity/raw_traces/1583361249989595059.perfetto_trace.pb
  com.google.android.dialer/com.google.android.dialer.extensions.GoogleDialtactsActivity@5013553
    Compiled Status: Need 2 more traces for compilation
    Raw traces:
      Trace count: 1
      /data/misc/iorapd/com.google.android.dialer/5013553/com.google.android.dialer.extensions.GoogleDialtactsActivity/raw_traces/1583360061315454718.perfetto_trace.pb
  com.google.android.apps.photos/com.google.android.apps.photos.home.HomeActivity@17136497
    Compiled Status: Need 3 more traces for compilation
    Raw traces:
      Trace count: 0

Test: adb shell dumpsys iorapd
Bug: 150710847
Change-Id: Idd1a4668c407c5233bdc603470864632c8a41a22
diff --git a/src/db/models.h b/src/db/models.h
index bfe8cfc..1feac47 100644
--- a/src/db/models.h
+++ b/src/db/models.h
@@ -1070,6 +1070,23 @@
     return p;
   }
 
+  static std::vector<PrefetchFileModel> SelectAll(DbHandle db) {
+    ScopedLockDb lock{db};
+
+    std::string query =
+      "SELECT prefetch_files.id, prefetch_files.activity_id, prefetch_files.file_path "
+      "FROM prefetch_files";
+    DbStatement stmt = DbStatement::Prepare(db, query);
+
+    std::vector<PrefetchFileModel> prefetch_files;
+    PrefetchFileModel p{db};
+    while (DbQueryBuilder::SelectOnce(stmt, p.id, p.activity_id, p.file_path)) {
+      prefetch_files.push_back(p);
+    }
+
+    return prefetch_files;
+  }
+
   static std::optional<PrefetchFileModel> Insert(DbHandle db,
                                                  int activity_id,
                                                  std::string file_path) {