summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/os/WorkSource.java10
-rw-r--r--services/java/com/android/server/wifi/WifiService.java3
2 files changed, 13 insertions, 0 deletions
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.
+ *
+ * <p>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);
}