Add logic for recording dex files use on disk
Add PackageDexUsage to handle the I/O operations of dex usage data. It
is responsible to encode, save and load dex
Test: runtest -x .../PackageDexUsageTests.java
Bug: 32871170
Change-Id: I2acc5430080a7e937c798513d8959ab631decfd9
diff --git a/services/core/java/com/android/server/pm/AbstractStatsBase.java b/services/core/java/com/android/server/pm/AbstractStatsBase.java
index 612c476..0053f58 100644
--- a/services/core/java/com/android/server/pm/AbstractStatsBase.java
+++ b/services/core/java/com/android/server/pm/AbstractStatsBase.java
@@ -60,12 +60,12 @@
return new AtomicFile(fname);
}
- void writeNow(final T data) {
+ protected void writeNow(final T data) {
writeImpl(data);
mLastTimeWritten.set(SystemClock.elapsedRealtime());
}
- boolean maybeWriteAsync(final T data) {
+ protected boolean maybeWriteAsync(final T data) {
if (SystemClock.elapsedRealtime() - mLastTimeWritten.get() < WRITE_INTERVAL_MS
&& !PackageManagerService.DEBUG_DEXOPT) {
return false;
@@ -105,7 +105,7 @@
protected abstract void writeInternal(T data);
- void read(T data) {
+ protected void read(T data) {
if (mLock) {
synchronized (data) {
synchronized (mFileLock) {