summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/WifiConfigManager.java
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2019-01-14 18:53:48 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-01-14 18:53:48 +0000
commit1d0559c7178f1fe2c8f7e66546098369a55e5906 (patch)
treed62e4acc78dd70031d4660ff62068db8e2ac1e34 /service/java/com/android/server/wifi/WifiConfigManager.java
parent014f5ca9c8f6ad522fb95abf78aec74112b1a7dc (diff)
parent741600a5c8dfe3b08b6f6c4f60083f86008bee65 (diff)
downloadandroid_frameworks_opt_net_wifi-1d0559c7178f1fe2c8f7e66546098369a55e5906.tar.gz
android_frameworks_opt_net_wifi-1d0559c7178f1fe2c8f7e66546098369a55e5906.tar.bz2
android_frameworks_opt_net_wifi-1d0559c7178f1fe2c8f7e66546098369a55e5906.zip
Merge "WifiConfigManager: Retrieve package name for shared uids"
Diffstat (limited to 'service/java/com/android/server/wifi/WifiConfigManager.java')
-rw-r--r--service/java/com/android/server/wifi/WifiConfigManager.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/service/java/com/android/server/wifi/WifiConfigManager.java b/service/java/com/android/server/wifi/WifiConfigManager.java
index 08a4d207f..7a0580804 100644
--- a/service/java/com/android/server/wifi/WifiConfigManager.java
+++ b/service/java/com/android/server/wifi/WifiConfigManager.java
@@ -1281,6 +1281,17 @@ public class WifiConfigManager {
return true;
}
+ private String getCreatorPackageName(WifiConfiguration config) {
+ String creatorName = config.creatorName;
+ // getNameForUid (Stored in WifiConfiguration.creatorName) returns a concatenation of name
+ // and uid for shared UIDs ("name:uid").
+ if (!creatorName.contains(":")) {
+ return creatorName; // regular app not using shared UID.
+ }
+ // Separate the package name from the string for app using shared UID.
+ return creatorName.substring(0, creatorName.indexOf(":"));
+ }
+
/**
* Remove all networks associated with an application.
*
@@ -1297,7 +1308,8 @@ public class WifiConfigManager {
WifiConfiguration[] copiedConfigs =
mConfiguredNetworks.valuesForAllUsers().toArray(new WifiConfiguration[0]);
for (WifiConfiguration config : copiedConfigs) {
- if (app.uid != config.creatorUid || !app.packageName.equals(config.creatorName)) {
+ if (app.uid != config.creatorUid
+ || !app.packageName.equals(getCreatorPackageName(config))) {
continue;
}
localLog("Removing network " + config.SSID