diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index 4082bf5adb278..b702e3508d0ba 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -64,6 +64,8 @@
Not in range
No Internet Access Detected, won\'t automatically reconnect.
+
+ Saved by %1$s
Connected via Wi\u2011Fi assistant
@@ -71,6 +73,10 @@
Connected via %1$s
Available via %1$s
+
+ com.android.settings
+
+ com.android.certinstaller
Connected, no Internet
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
index 53e69e316c942..7eaa728e61d1b 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
@@ -35,6 +35,12 @@ import android.os.RemoteException;
import android.os.ServiceManager;
import android.util.Log;
import android.util.LruCache;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
+import android.os.UserHandle;
+import android.os.RemoteException;
+import android.app.AppGlobals;
import com.android.settingslib.R;
@@ -288,12 +294,28 @@ public class AccessPoint implements Comparable {
}
public String getSavedNetworkSummary() {
- // Update to new summary
- if (mConfig != null && mConfig.isPasspoint()) {
- return "";
- } else {
- return getSettingsSummary();
+ if (mConfig != null) {
+ PackageManager pm = mContext.getPackageManager();
+ String systemName = pm.getNameForUid(android.os.Process.SYSTEM_UID);
+ int userId = UserHandle.getUserId(mConfig.creatorUid);
+ ApplicationInfo appInfo = null;
+ if (mConfig.creatorName != null && mConfig.creatorName.equals(systemName)) {
+ appInfo = mContext.getApplicationInfo();
+ } else {
+ try {
+ IPackageManager ipm = AppGlobals.getPackageManager();
+ appInfo = ipm.getApplicationInfo(mConfig.creatorName, 0 /* flags */, userId);
+ } catch (RemoteException rex) {
+ }
+ }
+ if (appInfo != null &&
+ !appInfo.packageName.equals(mContext.getString(R.string.settings_package)) &&
+ !appInfo.packageName.equals(
+ mContext.getString(R.string.certinstaller_package))) {
+ return mContext.getString(R.string.saved_network, appInfo.loadLabel(pm));
+ }
}
+ return "";
}
public String getSummary() {