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() {