diff --git a/apex/statsd/framework/java/android/app/StatsManager.java b/apex/statsd/framework/java/android/app/StatsManager.java index d2c6c095b81f2..a7d20572ca968 100644 --- a/apex/statsd/framework/java/android/app/StatsManager.java +++ b/apex/statsd/framework/java/android/app/StatsManager.java @@ -561,7 +561,15 @@ public final class StatsManager { try { resultReceiver.pullFinished(atomTag, success, parcels); } catch (RemoteException e) { - Log.w(TAG, "StatsPullResultReceiver failed for tag " + mAtomId); + Log.w(TAG, "StatsPullResultReceiver failed for tag " + mAtomId + + " due to TransactionTooLarge. Calling pullFinish with no data"); + StatsEventParcel[] emptyData = new StatsEventParcel[0]; + try { + resultReceiver.pullFinished(atomTag, /*success=*/false, emptyData); + } catch (RemoteException nestedException) { + Log.w(TAG, "StatsPullResultReceiver failed for tag " + mAtomId + + " with empty payload"); + } } }); } finally {