summaryrefslogtreecommitdiffstats
path: root/service/java/com/android/server/wifi/WifiNetworkFactory.java
diff options
context:
space:
mode:
authorRoshan Pius <rpius@google.com>2019-01-17 08:56:56 -0800
committerRoshan Pius <rpius@google.com>2019-01-18 08:02:25 -0800
commit316ca2b5427d3758d2f1ccf787d38d3f3ced7688 (patch)
tree142ef54dcd3a022e04e7db30db992cdb5b9df0bc /service/java/com/android/server/wifi/WifiNetworkFactory.java
parente9b9e8526f976a8942711d546547de6b8c286220 (diff)
downloadandroid_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/android/server/wifi/WifiNetworkFactory.java')
-rw-r--r--service/java/com/android/server/wifi/WifiNetworkFactory.java22
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));
}