diff --git a/libstats/pull/Android.bp b/libstats/pull/Android.bp
index 9772da1..72eb0e9 100644
--- a/libstats/pull/Android.bp
+++ b/libstats/pull/Android.bp
@@ -19,6 +19,9 @@
 // ==========================================================
 cc_library_shared {
     name: "libstatspull",
+    aidl: {
+        include_dirs: ["frameworks/base/core/java"],
+    },
     srcs: [
         ":statsd_aidl",
         "stats_pull_atom_callback.cpp",
diff --git a/libstats/pull/stats_pull_atom_callback.cpp b/libstats/pull/stats_pull_atom_callback.cpp
index f61d646..011ab76 100644
--- a/libstats/pull/stats_pull_atom_callback.cpp
+++ b/libstats/pull/stats_pull_atom_callback.cpp
@@ -23,7 +23,7 @@
 #include <android/os/BnPullAtomCallback.h>
 #include <android/os/IPullAtomResultReceiver.h>
 #include <android/os/IStatsManager.h>
-#include <android/util/StatsEvent.h>
+#include <android/util/StatsEventParcel.h>
 #include <binder/IServiceManager.h>
 #include "include/stats_pull_atom_callback.h"
 
@@ -56,9 +56,21 @@
             const ::android::sp<::android::os::IPullAtomResultReceiver>& resultReceiver) override {
         pulled_stats_event_list statsEventList;
         bool success = (*mCallback)(atomTag, &statsEventList, mCookie);
-        std::vector<android::util::StatsEvent> output;
-        // TODO convert stats_event into parcelable stats_event.
-        resultReceiver->pullFinished(atomTag, success, output);
+
+        // Convert stats_events into StatsEventParcels.
+        std::vector<android::util::StatsEventParcel> parcels;
+        for (int i = 0; i < statsEventList.data.size(); i++) {
+            size_t size;
+            uint8_t* buffer = stats_event_get_buffer(statsEventList.data[i], &size);
+
+            android::util::StatsEventParcel p;
+            // vector.assign() creates a copy, but this is inevitable unless
+            // stats_event.h/c uses a vector as opposed to a buffer.
+            p.buffer.assign(buffer, buffer + size);
+            parcels.push_back(std::move(p));
+        }
+
+        resultReceiver->pullFinished(atomTag, success, parcels);
         for (int i = 0; i < statsEventList.data.size(); i++) {
             stats_event_release(statsEventList.data[i]);
         }
