diff options
author | Roshan Pius <rpius@google.com> | 2019-01-14 18:53:48 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-01-14 18:53:48 +0000 |
commit | 1d0559c7178f1fe2c8f7e66546098369a55e5906 (patch) | |
tree | d62e4acc78dd70031d4660ff62068db8e2ac1e34 /service/java/com/android/server/wifi/WifiConfigManager.java | |
parent | 014f5ca9c8f6ad522fb95abf78aec74112b1a7dc (diff) | |
parent | 741600a5c8dfe3b08b6f6c4f60083f86008bee65 (diff) | |
download | android_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.java | 14 |
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 |