From 6ab2284c98c08df68ed1ca8f7ac9748387ba6cb2 Mon Sep 17 00:00:00 2001 From: David Christie Date: Fri, 13 Sep 2013 17:11:53 -0700 Subject: [PATCH] Strip names out of externally supplied WorkSources to WifiManager (b/10710007). Change-Id: I69bd7ce9e942c2f9327415b2821d805e1b50a1a4 --- core/java/android/os/WorkSource.java | 10 ++++++++++ services/java/com/android/server/wifi/WifiService.java | 3 +++ 2 files changed, 13 insertions(+) diff --git a/core/java/android/os/WorkSource.java b/core/java/android/os/WorkSource.java index b79bdee93d97..30d535bdcd00 100644 --- a/core/java/android/os/WorkSource.java +++ b/core/java/android/os/WorkSource.java @@ -97,6 +97,16 @@ public class WorkSource implements Parcelable { } /** + * Clear names from this WorkSource. Uids are left intact. + * + *

Useful when combining with another WorkSource that doesn't have names. + * @hide + */ + public void clearNames() { + mNames = null; + } + + /** * Clear this WorkSource to be empty. */ public void clear() { diff --git a/services/java/com/android/server/wifi/WifiService.java b/services/java/com/android/server/wifi/WifiService.java index 46f100e7722e..5a24ebb4cb1f 100644 --- a/services/java/com/android/server/wifi/WifiService.java +++ b/services/java/com/android/server/wifi/WifiService.java @@ -342,6 +342,9 @@ public final class WifiService extends IWifiManager.Stub { enforceChangePermission(); if (workSource != null) { enforceWorkSourcePermission(); + // WifiManager currently doesn't use names, so need to clear names out of the + // supplied WorkSource to allow future WorkSource combining. + workSource.clearNames(); } mWifiStateMachine.startScan(Binder.getCallingUid(), workSource); } -- 2.11.0