summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJordan Liu <jminjie@google.com>2021-10-19 18:12:44 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-10-19 18:12:44 +0000
commitcead072ccc91c2b432cc9311fec8feda773cc84f (patch)
treeacc079efffe4c354885ec7a41e2003a8495f6826 /src
parent52f5948bab5764c14f9e7bad134d9752bdec9852 (diff)
parent8143ee95218e0f4313c16a02e6334833e8c0ce83 (diff)
downloadStk-cead072ccc91c2b432cc9311fec8feda773cc84f.tar.gz
Merge "Remove unnecessary content title from notifications"android-s-v2-preview-2android-s-v2-preview-1android-s-v2-beta-2android-s-v2-preview-1
Diffstat (limited to 'src')
-rw-r--r--src/com/android/stk/StkAppService.java40
1 files changed, 26 insertions, 14 deletions
diff --git a/src/com/android/stk/StkAppService.java b/src/com/android/stk/StkAppService.java
index 46fc55a..7a9fe18 100644
--- a/src/com/android/stk/StkAppService.java
+++ b/src/com/android/stk/StkAppService.java
@@ -1676,17 +1676,10 @@ public class StkAppService extends Service implements Runnable {
private void launchNotificationOnKeyguard(int slotId, String message) {
Notification.Builder builder = new Notification.Builder(this, STK_NOTIFICATION_CHANNEL_ID);
+ setNotificationTitle(slotId, builder);
builder.setStyle(new Notification.BigTextStyle(builder).bigText(message));
builder.setContentText(message);
-
- Menu menu = getMainMenu(slotId);
- if (menu == null || TextUtils.isEmpty(menu.title)) {
- builder.setContentTitle("");
- } else {
- builder.setContentTitle(menu.title);
- }
-
builder.setSmallIcon(R.drawable.stat_notify_sim_toolkit);
builder.setOngoing(true);
builder.setOnlyAlertOnce(true);
@@ -2147,12 +2140,7 @@ public class StkAppService extends Service implements Runnable {
createAllChannels();
final Notification.Builder notificationBuilder = new Notification.Builder(
StkAppService.this, STK_NOTIFICATION_CHANNEL_ID);
- if (mStkContext[slotId].mMainCmd != null &&
- mStkContext[slotId].mMainCmd.getMenu() != null) {
- notificationBuilder.setContentTitle(mStkContext[slotId].mMainCmd.getMenu().title);
- } else {
- notificationBuilder.setContentTitle("");
- }
+ setNotificationTitle(slotId, notificationBuilder);
notificationBuilder
.setSmallIcon(R.drawable.stat_notify_sim_toolkit);
notificationBuilder.setContentIntent(pendingIntent);
@@ -2181,6 +2169,30 @@ public class StkAppService extends Service implements Runnable {
}
}
+ private void setNotificationTitle(int slotId, Notification.Builder builder) {
+ Menu menu = getMainMenu(slotId);
+ if (menu == null || TextUtils.isEmpty(menu.title)
+ || TextUtils.equals(menu.title, getResources().getString(R.string.app_name))) {
+ // No need to set a content title in the content area if no title (alpha identifier
+ // of SET-UP MENU command) is available for the specified slot or the title is same
+ // as the application label.
+ return;
+ }
+
+ for (int index = 0; index < mSimCount; index++) {
+ if (index != slotId) {
+ Menu otherMenu = getMainMenu(index);
+ if (otherMenu != null && !TextUtils.equals(menu.title, otherMenu.title)) {
+ // Set the title (alpha identifier of SET-UP MENU command) as the content title
+ // to differentiate it from other main menu with different alpha identifier
+ // (including null) is available.
+ builder.setContentTitle(menu.title);
+ return;
+ }
+ }
+ }
+ }
+
/** Creates the notification channel and registers it with NotificationManager.
* If a channel with the same ID is already registered, NotificationManager will
* ignore this call.