summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--service/java/com/android/server/wifi/WifiNetworkFactory.java22
-rw-r--r--tests/wifitests/src/com/android/server/wifi/WifiNetworkFactoryTest.java12
2 files changed, 26 insertions, 8 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));
}
diff --git a/tests/wifitests/src/com/android/server/wifi/WifiNetworkFactoryTest.java b/tests/wifitests/src/com/android/server/wifi/WifiNetworkFactoryTest.java
index ab814d985..98caa1399 100644
--- a/tests/wifitests/src/com/android/server/wifi/WifiNetworkFactoryTest.java
+++ b/tests/wifitests/src/com/android/server/wifi/WifiNetworkFactoryTest.java
@@ -33,6 +33,7 @@ import android.app.AlarmManager;
import android.app.AlarmManager.OnAlarmListener;
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;
@@ -88,6 +89,7 @@ public class WifiNetworkFactoryTest {
private static final int TEST_CALLBACK_IDENTIFIER = 123;
private static final String TEST_PACKAGE_NAME_1 = "com.test.networkrequest.1";
private static final String TEST_PACKAGE_NAME_2 = "com.test.networkrequest.2";
+ private static final String TEST_APP_NAME = "app";
private static final String TEST_SSID_1 = "test1234";
private static final String TEST_SSID_2 = "test12345678";
private static final String TEST_SSID_3 = "abc1234";
@@ -150,6 +152,8 @@ public class WifiNetworkFactoryTest {
when(mContext.getPackageManager()).thenReturn(mPackageManager);
when(mPackageManager.getNameForUid(TEST_UID_1)).thenReturn(TEST_PACKAGE_NAME_1);
when(mPackageManager.getNameForUid(TEST_UID_2)).thenReturn(TEST_PACKAGE_NAME_2);
+ when(mPackageManager.getApplicationInfo(any(), anyInt())).thenReturn(new ApplicationInfo());
+ when(mPackageManager.getApplicationLabel(any())).thenReturn(TEST_APP_NAME);
when(mActivityManager.getPackageImportance(TEST_PACKAGE_NAME_1))
.thenReturn(IMPORTANCE_FOREGROUND_SERVICE);
when(mActivityManager.getPackageImportance(TEST_PACKAGE_NAME_2))
@@ -439,8 +443,8 @@ public class WifiNetworkFactoryTest {
Intent intent = intentArgumentCaptor.getValue();
assertNotNull(intent);
assertEquals(intent.getAction(), WifiNetworkFactory.UI_START_INTENT_ACTION);
- assertEquals(intent.getStringExtra(WifiNetworkFactory.UI_START_INTENT_EXTRA_PACKAGE_NAME),
- TEST_PACKAGE_NAME_1);
+ assertEquals(intent.getStringExtra(WifiNetworkFactory.UI_START_INTENT_EXTRA_APP_NAME),
+ TEST_APP_NAME);
assertTrue(intent.getCategories().contains(WifiNetworkFactory.UI_START_INTENT_CATEGORY));
assertTrue((intent.getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0);
assertTrue((intent.getFlags() & Intent.FLAG_ACTIVITY_NEW_TASK) != 0);
@@ -468,8 +472,8 @@ public class WifiNetworkFactoryTest {
assertNotNull(intent);
assertEquals(intent.getAction(), WifiNetworkFactory.UI_START_INTENT_ACTION);
assertTrue(intent.getCategories().contains(WifiNetworkFactory.UI_START_INTENT_CATEGORY));
- assertEquals(intent.getStringExtra(WifiNetworkFactory.UI_START_INTENT_EXTRA_PACKAGE_NAME),
- TEST_PACKAGE_NAME_1);
+ assertEquals(intent.getStringExtra(WifiNetworkFactory.UI_START_INTENT_EXTRA_APP_NAME),
+ TEST_APP_NAME);
assertTrue((intent.getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0);
assertTrue((intent.getFlags() & Intent.FLAG_ACTIVITY_NEW_TASK) != 0);