Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3327eac1 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

Show localized channel names

Test: manual
Change-Id: I85d60e564aeff8074cdb8138fe7ac1c078be986a
parent 6d3947e2
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -182,13 +182,13 @@ public class AppNotificationSettings extends NotificationSettingsBase {
                            getPrefContext());
                    channelPref.setDisabledByAdmin(mSuspendedAppsAdmin);
                    channelPref.setKey(channel.getId());
                    channelPref.setTitle(channel.getName());
                    channelPref.setTitle(getNotificationChannelLabel(channel));
                    channelPref.setChecked(channel.getImportance() != IMPORTANCE_NONE);
                    channelPref.setMultiLine(true);

                    if (channel.isDeleted()) {
                        channelPref.setTitle(
                                getString(R.string.deleted_channel_name, channel.getName()));
                        channelPref.setTitle(getString(R.string.deleted_channel_name,
                                getNotificationChannelLabel(channel)));
                        channelPref.setEnabled(false);
                    } else {
                        channelPref.setSummary(getImportanceSummary(channel.getImportance()));
@@ -275,8 +275,10 @@ public class AppNotificationSettings extends NotificationSettingsBase {
            if (left.isDeleted() != right.isDeleted()) {
                return Boolean.compare(left.isDeleted(), right.isDeleted());
            }
            if (!Objects.equals(left.getName(), right.getName())) {
                return sCollator.compare(left.getName().toString(), right.getName().toString());
            if (!Objects.equals(getNotificationChannelLabel(left),
                    getNotificationChannelLabel(right))) {
                return sCollator.compare(getNotificationChannelLabel(left).toString(),
                        getNotificationChannelLabel(right).toString());
            }
            return left.getId().compareTo(right.getId());
        }
+1 −1
Original line number Diff line number Diff line
@@ -130,7 +130,7 @@ public class ChannelNotificationSettings extends NotificationSettingsBase {
                    .getApplicationFeatureProvider(activity)
                    .newAppHeaderController(this /* fragment */, null /* appHeader */)
                    .setIcon(mAppRow.icon)
                    .setLabel(mChannel.getName())
                    .setLabel(getNotificationChannelLabel(mChannel))
                    .setSummary(mAppRow.label)
                    .setPackageName(mAppRow.pkg)
                    .setUid(mAppRow.uid)
+0 −4
Original line number Diff line number Diff line
@@ -155,8 +155,4 @@ public class NotificationBackend {
        public boolean showBadge;
        public int userId;
    }

    public static class ChannelRow extends AppRow {
        public NotificationChannel channel;
    }
}
+13 −0
Original line number Diff line number Diff line
@@ -248,4 +248,17 @@ abstract public class NotificationSettingsBase extends SettingsPreferenceFragmen
                return getContext().getString(R.string.notification_importance_high);
        }
    }

    protected CharSequence getNotificationChannelLabel(NotificationChannel channel) {
        if (channel.getName() != null) {
            return channel.getName();
        }
        try {
            ApplicationInfo info = mPm.getApplicationInfoAsUser(mAppRow.pkg, 0, mAppRow.userId);
            return mPm.getText(mAppRow.pkg, channel.getNameResId(), info);
        } catch (NameNotFoundException e) {
            e.printStackTrace();
        }
        return null;
    }
}