Merge "Fix misleading phrasing of notification message for crashed phone apps and show phone app name in notification."
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a0a518f..2990c42 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -73,8 +73,8 @@
<string name="notification_crashedInCallService_title">Crashed phone app</string>
<!-- Body of the notification presented when an in call service crashed. [CHAR LIMIT=NONE] -->
<string name="notification_crashedInCallService_body">
- Your Phone app <xliff:g id="in_call_service_app_name">%s</xliff:g> has crashed.
- You call was continued using the Phone app that came with your device.
+ Your phone app <xliff:g id="in_call_service_app_name">%s</xliff:g> has crashed.
+ You call was continued using the phone app that came with your device.
</string>
<!-- Content description of the call muted notification icon for
diff --git a/src/com/android/server/telecom/InCallController.java b/src/com/android/server/telecom/InCallController.java
index 6a9771a..171bdf3 100644
--- a/src/com/android/server/telecom/InCallController.java
+++ b/src/com/android/server/telecom/InCallController.java
@@ -24,6 +24,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
@@ -1804,6 +1805,17 @@
}
private void sendCrashedInCallServiceNotification(String packageName) {
+ PackageManager packageManager = mContext.getPackageManager();
+ CharSequence appName;
+ try {
+ appName = packageManager.getApplicationLabel(
+ packageManager.getApplicationInfo(packageName, 0));
+ if (TextUtils.isEmpty(appName)) {
+ appName = packageName;
+ }
+ } catch (PackageManager.NameNotFoundException e) {
+ appName = packageName;
+ }
NotificationManager notificationManager = (NotificationManager) mContext
.getSystemService(Context.NOTIFICATION_SERVICE);
Notification.Builder builder = new Notification.Builder(mContext,
@@ -1816,7 +1828,7 @@
.setStyle(new Notification.BigTextStyle()
.bigText(mContext.getString(
R.string.notification_crashedInCallService_body,
- packageName)));
+ appName)));
notificationManager.notify(NOTIFICATION_TAG, IN_CALL_SERVICE_NOTIFICATION_ID,
builder.build());
}