BluetoothMetrics: Upload readable sha256, instead of bytes
Bug: 264937355
Test: atest BluetoothInstrumentationTests
(cherry picked from https://android-review.googlesource.com/q/commit:c5a164cfbf2771d49ccfa2a501fd8e6fcc490745)
Merged-In: Ica31ffcc22d5a75aa82b9e2f91b9239d63506a40
Change-Id: Ica31ffcc22d5a75aa82b9e2f91b9239d63506a40
diff --git a/android/app/src/com/android/bluetooth/btservice/MetricsLogger.java b/android/app/src/com/android/bluetooth/btservice/MetricsLogger.java
index f7eef60..2066eb7 100644
--- a/android/app/src/com/android/bluetooth/btservice/MetricsLogger.java
+++ b/android/app/src/com/android/bluetooth/btservice/MetricsLogger.java
@@ -27,6 +27,7 @@
import com.google.common.hash.BloomFilter;
import com.google.common.hash.Funnels;
+import com.google.common.hash.Hashing;
import java.io.File;
import java.io.FileInputStream;
@@ -276,16 +277,18 @@
if (matchedSha256 == null) {
return false;
}
- statslogBluetoothDeviceNames(metricId, matchedString, matchedSha256);
+ statslogBluetoothDeviceNames(
+ metricId,
+ matchedString,
+ Hashing.sha256().hashString(matchedString, StandardCharsets.UTF_8).toString());
return true;
}
- protected void statslogBluetoothDeviceNames(int metricId, String matchedString, byte[] sha256) {
- String sha256String = new String(sha256);
+ protected void statslogBluetoothDeviceNames(int metricId, String matchedString, String sha256) {
Log.d(TAG,
- "Uploading sha256 hash of matched bluetooth device name: " + sha256String);
+ "Uploading sha256 hash of matched bluetooth device name: " + sha256);
BluetoothStatsLog.write(
- BluetoothStatsLog.BLUETOOTH_HASHED_DEVICE_NAME_REPORTED, metricId, sha256String);
+ BluetoothStatsLog.BLUETOOTH_HASHED_DEVICE_NAME_REPORTED, metricId, sha256);
}
protected static byte[] getSha256(String name) {
diff --git a/android/app/tests/unit/src/com/android/bluetooth/btservice/MetricsLoggerTest.java b/android/app/tests/unit/src/com/android/bluetooth/btservice/MetricsLoggerTest.java
index 800666b..f665967 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/btservice/MetricsLoggerTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/btservice/MetricsLoggerTest.java
@@ -74,7 +74,7 @@
@Override
protected void statslogBluetoothDeviceNames(
- int metricId, String matchedString, byte[] sha256) {
+ int metricId, String matchedString, String sha256) {
mTestableDeviceNames.merge(matchedString, 1, Integer::sum);
}
}