diff options
author | 2025-02-25 18:58:24 +0000 | |
---|---|---|
committer | 2025-02-25 21:55:56 +0000 | |
commit | f0511296c7f8b3a2fc77eb486a12fa0d68c0de68 (patch) | |
tree | 49ab5623af0109552a07b2ba7bc48ad3dccd8c00 | |
parent | b3619b0e011917d4c4e7cd696d35f9fcc465f7be (diff) |
[CDM] Remove mac address while storing last removed association.
Sample dump:
1740519388424 shell Association{mId=5, mUserId=0, mPackageName='testapp', mDeviceMacAddress=null, mDisplayName='', mDeviceProfile='null', mSelfManaged=false, mAssociatedDevice=null, mNotifyOnDeviceNearby=false, mRevoked=false, mPending=false, mTimeApprovedMs=Tue Feb 25 13:36:20 PST 2025, mLastTimeConnectedMs=None, mSystemDataSyncFlags=0, mDeviceId='null}
Fix: 397461312
Flag: EXEMPT bugfix
Test: manual
Change-Id: I1ecd8ad8d6579191197fae36a25048e034e725a7
-rw-r--r-- | services/companion/java/com/android/server/companion/association/AssociationDiskStore.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/services/companion/java/com/android/server/companion/association/AssociationDiskStore.java b/services/companion/java/com/android/server/companion/association/AssociationDiskStore.java index ce7dcd0fa1d4..03107563ec22 100644 --- a/services/companion/java/com/android/server/companion/association/AssociationDiskStore.java +++ b/services/companion/java/com/android/server/companion/association/AssociationDiskStore.java @@ -299,14 +299,24 @@ public final class AssociationDiskStore { public void writeLastRemovedAssociation(AssociationInfo association, String reason) { Slog.i(TAG, "Writing last removed association=" + association.getId() + " to disk..."); + // Remove indirect identifier i.e. Mac Address + AssociationInfo.Builder builder = new AssociationInfo.Builder(association) + .setDeviceMacAddress(null); + // Set a placeholder display name if it's null because Mac Address and display name can't be + // both null. + if (association.getDisplayName() == null) { + builder.setDisplayName(""); + } + AssociationInfo redactedAssociation = builder.build(); + final AtomicFile file = createStorageFileForUser( - association.getUserId(), FILE_NAME_LAST_REMOVED_ASSOCIATION); + redactedAssociation.getUserId(), FILE_NAME_LAST_REMOVED_ASSOCIATION); writeToFileSafely(file, out -> { out.write(String.valueOf(System.currentTimeMillis()).getBytes()); out.write(' '); out.write(reason.getBytes()); out.write(' '); - out.write(association.toString().getBytes()); + out.write(redactedAssociation.toString().getBytes()); }); } |