diff options
author | Roshan Pius <rpius@google.com> | 2019-01-17 08:56:56 -0800 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2019-01-18 08:02:25 -0800 |
commit | 316ca2b5427d3758d2f1ccf787d38d3f3ced7688 (patch) | |
tree | 142ef54dcd3a022e04e7db30db992cdb5b9df0bc /service/java/com | |
parent | e9b9e8526f976a8942711d546547de6b8c286220 (diff) | |
download | android_frameworks_opt_net_wifi-316ca2b5427d3758d2f1ccf787d38d3f3ced7688.tar.gz android_frameworks_opt_net_wifi-316ca2b5427d3758d2f1ccf787d38d3f3ced7688.tar.bz2 android_frameworks_opt_net_wifi-316ca2b5427d3758d2f1ccf787d38d3f3ced7688.zip |
WifiNetworkFactory: Send app label in UI intent
The package name is not understandable by the user, pass the app label
instead.
Bug: 117399926
Bug: 113878056
Test: ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh
Change-Id: If9c59ed9e7a2d84141cb2019045ca62b01d7a29f
Diffstat (limited to 'service/java/com')
-rw-r--r-- | service/java/com/android/server/wifi/WifiNetworkFactory.java | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/service/java/com/android/server/wifi/WifiNetworkFactory.java b/service/java/com/android/server/wifi/WifiNetworkFactory.java index ce83a6d5e..9231843f6 100644 --- a/service/java/com/android/server/wifi/WifiNetworkFactory.java +++ b/service/java/com/android/server/wifi/WifiNetworkFactory.java @@ -25,6 +25,8 @@ import android.app.ActivityManager; import android.app.AlarmManager; import android.content.Context; import android.content.Intent; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; import android.net.MacAddress; import android.net.NetworkCapabilities; import android.net.NetworkFactory; @@ -86,8 +88,8 @@ public class WifiNetworkFactory extends NetworkFactory { @VisibleForTesting public static final String UI_START_INTENT_CATEGORY = "android.intent.category.DEFAULT"; @VisibleForTesting - public static final String UI_START_INTENT_EXTRA_PACKAGE_NAME = - "com.android.settings.wifi.extra.PACKAGE_NAME"; + public static final String UI_START_INTENT_EXTRA_APP_NAME = + "com.android.settings.wifi.extra.APP_NAME"; private final Context mContext; private final ActivityManager mActivityManager; @@ -1033,14 +1035,26 @@ public class WifiNetworkFactory extends NetworkFactory { mConnectionTimeoutSet = true; } + private @NonNull CharSequence getAppName(@NonNull String packageName) { + ApplicationInfo applicationInfo = null; + try { + applicationInfo = mContext.getPackageManager().getApplicationInfo(packageName, 0); + } catch (PackageManager.NameNotFoundException e) { + Log.e(TAG, "Failed to find app name for " + packageName); + return ""; + } + CharSequence appName = mContext.getPackageManager().getApplicationLabel(applicationInfo); + return (appName != null) ? appName : ""; + } + private void startUi() { Intent intent = new Intent(); intent.setAction(UI_START_INTENT_ACTION); intent.addCategory(UI_START_INTENT_CATEGORY); intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK); int requestorUid = mActiveSpecificNetworkRequestSpecifier.requestorUid; - intent.putExtra(UI_START_INTENT_EXTRA_PACKAGE_NAME, - mContext.getPackageManager().getNameForUid(requestorUid)); + intent.putExtra(UI_START_INTENT_EXTRA_APP_NAME, + getAppName(mContext.getPackageManager().getNameForUid(requestorUid))); mContext.startActivityAsUser(intent, UserHandle.getUserHandleForUid(requestorUid)); } |