diff options
| author | 2022-04-13 16:04:19 +0800 | |
|---|---|---|
| committer | 2022-05-24 10:30:14 +0800 | |
| commit | 807a7f37f096514ea5ed7cf0620f5e081e7ae424 (patch) | |
| tree | 3b53ad03feaf2033b13f49e4c268af54a6fa4db0 | |
| parent | 92ce74409b095c3e653f91f2a5a77e57fe8cae66 (diff) | |
[MS82.2] Add a rewriteSingle method that takes two timestamps
This CL provides a public method in FileRotator to
allow caller to write data to a specified standalone file.
This CL also fix a file name generatign error in platform
tools.
Test: NetworkStatsServiceTest NetworkStatsCollectionTest
Bug: 230289468
Change-Id: I17558f349cb2a33062972fe1af96a19356798692
Merged-In: I17558f349cb2a33062972fe1af96a19356798692
(pure cherry-picked from ag/18408306)
| -rw-r--r-- | core/java/android/net/netstats/NetworkStatsDataMigrationUtils.java | 2 | ||||
| -rw-r--r-- | core/java/com/android/internal/util/FileRotator.java | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/core/java/android/net/netstats/NetworkStatsDataMigrationUtils.java b/core/java/android/net/netstats/NetworkStatsDataMigrationUtils.java index 5c9989e9d981..de2f10b86a77 100644 --- a/core/java/android/net/netstats/NetworkStatsDataMigrationUtils.java +++ b/core/java/android/net/netstats/NetworkStatsDataMigrationUtils.java @@ -161,7 +161,7 @@ public class NetworkStatsDataMigrationUtils { @NonNull private static ArrayList<File> getPlatformFileListForPrefix(@NonNull @Prefix String prefix) { final ArrayList<File> list = new ArrayList<>(); - final File platformFiles = new File(getPlatformBaseDir(), "netstats"); + final File platformFiles = getPlatformBaseDir(); if (platformFiles.exists()) { for (String name : platformFiles.list()) { // Skip when prefix doesn't match. diff --git a/core/java/com/android/internal/util/FileRotator.java b/core/java/com/android/internal/util/FileRotator.java index 4b3af1536175..5bc48c5172f0 100644 --- a/core/java/com/android/internal/util/FileRotator.java +++ b/core/java/com/android/internal/util/FileRotator.java @@ -16,6 +16,7 @@ package com.android.internal.util; +import android.annotation.NonNull; import android.os.FileUtils; import android.util.Log; @@ -282,6 +283,20 @@ public class FileRotator { } /** + * Process a single file atomically, with the given start and end timestamps. + * If a file with these exact start and end timestamps does not exist, a new + * empty file will be written. + */ + public void rewriteSingle(@NonNull Rewriter rewriter, long startTimeMillis, long endTimeMillis) + throws IOException { + final FileInfo info = new FileInfo(mPrefix); + + info.startMillis = startTimeMillis; + info.endMillis = endTimeMillis; + rewriteSingle(rewriter, info.build()); + } + + /** * Read any rotated data that overlap the requested time range. */ public void readMatching(Reader reader, long matchStartMillis, long matchEndMillis) |