Fix spammy invalid media capabilities uid log event
Previously, we logged if a non app uid is passed in a Bundle, but if
it's empty and we get 0, we think an invalid uid was passed.
Now, we check if the media_capabilities uid is present in the bundle
before attempting to extract/log invalid
Test: atest TranscodeTest
Bug: 176157500
Change-Id: Ia356dc59d97422dd5a9adf0f3da75f99cc78dd27
diff --git a/src/com/android/providers/media/TranscodeHelper.java b/src/com/android/providers/media/TranscodeHelper.java
index 186c5bc..0daca36 100644
--- a/src/com/android/providers/media/TranscodeHelper.java
+++ b/src/com/android/providers/media/TranscodeHelper.java
@@ -413,16 +413,18 @@
}
private static int getMediaCapabilitiesUid(int uid, Bundle bundle) {
- if (bundle == null) {
+ if (bundle == null || !bundle.containsKey(MediaStore.EXTRA_MEDIA_CAPABILITIES_UID)) {
return uid;
}
+
int mediaCapabilitiesUid = bundle.getInt(MediaStore.EXTRA_MEDIA_CAPABILITIES_UID);
if (mediaCapabilitiesUid >= Process.FIRST_APPLICATION_UID) {
logVerbose(
"Media capabilities uid " + mediaCapabilitiesUid + ", passed for uid " + uid);
return mediaCapabilitiesUid;
}
- Log.d(TAG, "Ignoring invalid Media capabilities uid " + mediaCapabilitiesUid);
+ Log.w(TAG, "Ignoring invalid media capabilities uid " + mediaCapabilitiesUid
+ + " for uid: " + uid);
return uid;
}