Log database UUID onUpgrade and onDowngrade
We log database schema change onUpgrade and onDowngrade, added
additional field to log database UUID
Bug: 192102594
Test: Manual. Verified that we add persistent logging for UUID on
database upgrade and downgrade
Test: Sample log: "Changed schema version on internal from 1301 to 1302,
69 items taking 86ms UUID 61a23787-050d-4cd1-b33e-48338717c4a9 "
Change-Id: I6a9968bf11bb13a5f352a4590e65a593b545046e
diff --git a/src/com/android/providers/media/DatabaseHelper.java b/src/com/android/providers/media/DatabaseHelper.java
index 53c579d..7f863bd 100644
--- a/src/com/android/providers/media/DatabaseHelper.java
+++ b/src/com/android/providers/media/DatabaseHelper.java
@@ -141,7 +141,7 @@
public interface OnSchemaChangeListener {
public void onSchemaChange(@NonNull String volumeName, int versionFrom, int versionTo,
- long itemCount, long durationMillis);
+ long itemCount, long durationMillis, String databaseUuid);
}
public interface OnFilesChangeListener {
@@ -1827,7 +1827,7 @@
final long elapsedMillis = (SystemClock.elapsedRealtime() - startTime);
if (mSchemaListener != null) {
mSchemaListener.onSchemaChange(mVolumeName, fromVersion, toVersion,
- getItemCount(db), elapsedMillis);
+ getItemCount(db), elapsedMillis, getOrCreateUuid(db));
}
}
@@ -1840,7 +1840,7 @@
final long elapsedMillis = (SystemClock.elapsedRealtime() - startTime);
if (mSchemaListener != null) {
mSchemaListener.onSchemaChange(mVolumeName, fromVersion, toVersion,
- getItemCount(db), elapsedMillis);
+ getItemCount(db), elapsedMillis, getOrCreateUuid(db));
}
}
diff --git a/src/com/android/providers/media/util/Metrics.java b/src/com/android/providers/media/util/Metrics.java
index 410da3a..024151d 100644
--- a/src/com/android/providers/media/util/Metrics.java
+++ b/src/com/android/providers/media/util/Metrics.java
@@ -111,10 +111,10 @@
}
public static void logSchemaChange(@NonNull String volumeName, int versionFrom, int versionTo,
- long itemCount, long durationMillis) {
+ long itemCount, long durationMillis, @NonNull String databaseUuid) {
Logging.logPersistent(String.format(
- "Changed schema version on %s from %d to %d, %d items taking %dms",
- volumeName, versionFrom, versionTo, itemCount, durationMillis));
+ "Changed schema version on %s from %d to %d, %d items taking %dms UUID %s",
+ volumeName, versionFrom, versionTo, itemCount, durationMillis, databaseUuid));
final float normalizedDurationMillis = ((float) durationMillis) / itemCount;
diff --git a/tests/src/com/android/providers/media/util/MetricsTest.java b/tests/src/com/android/providers/media/util/MetricsTest.java
index 688e2e9..264cb1b 100644
--- a/tests/src/com/android/providers/media/util/MetricsTest.java
+++ b/tests/src/com/android/providers/media/util/MetricsTest.java
@@ -45,7 +45,7 @@
Metrics.logDeletion(volumeName, 42, packageName, 42, new int[] { 42 });
Metrics.logPermissionGranted(volumeName, 42, packageName, 42);
Metrics.logPermissionDenied(volumeName, 42, packageName, 42);
- Metrics.logSchemaChange(volumeName, 42, 42, 42, 42);
+ Metrics.logSchemaChange(volumeName, 42, 42, 42, 42, "UUID");
Metrics.logIdleMaintenance(volumeName, 42, 42, 42, 42);
}
}