Ensure WorkSource for location blaming has names (b/10378815)
Change-Id: Ic201f7112dd9c746fe71995fcc1a533ff4a582f2
diff --git a/services/java/com/android/server/LocationManagerService.java b/services/java/com/android/server/LocationManagerService.java
index 9761441..95c768f 100644
--- a/services/java/com/android/server/LocationManagerService.java
+++ b/services/java/com/android/server/LocationManagerService.java
@@ -1235,8 +1235,11 @@
if (UserHandle.getUserId(record.mReceiver.mUid) == mCurrentUserId) {
LocationRequest locationRequest = record.mRequest;
if (locationRequest.getInterval() <= thresholdInterval) {
- if (record.mReceiver.mWorkSource != null) {
+ if (record.mReceiver.mWorkSource != null
+ && record.mReceiver.mWorkSource.size() > 0
+ && record.mReceiver.mWorkSource.getName(0) != null) {
// Assign blame to another work source.
+ // Can only assign blame if the WorkSource contains names.
worksource.add(record.mReceiver.mWorkSource);
} else {
// Assign blame to caller.