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

Commit eefff374 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix content description for notification icons" into nyc-dev

parents c3c45fa2 eba0582a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3301,7 +3301,10 @@ public class Notification implements Parcelable
            }
        }

        private String loadHeaderAppName() {
        /**
         * @hide
         */
        public String loadHeaderAppName() {
            CharSequence name = null;
            final PackageManager pm = mContext.getPackageManager();
            if (mN.extras.containsKey(EXTRA_SUBSTITUTE_APP_NAME)) {
+3 −0
Original line number Diff line number Diff line
@@ -1657,6 +1657,9 @@
    <!-- Accessibility label for window when QS editing is happening [CHAR LIMIT=NONE] -->
    <string name="accessibility_desc_quick_settings_edit">Quick settings editor.</string>

    <!-- Accessibility label for the notification icons in the collapsed status bar. Not shown on screen [CHAR LIMIT=NONE] -->
    <string name="accessibility_desc_notification_icon"><xliff:g name="app_name" example="Gmail">%1$s</xliff:g> notification: <xliff:g name="notification_text" example="5 new messages">%2$s</xliff:g></string>

    <!-- Multi-Window strings -->
    <!-- Text that gets shown on top of current activity to inform the user that the system force-resized the current activity and that things might crash/not work properly [CHAR LIMIT=NONE] -->
    <string name="dock_forced_resizable">App may not work with split-screen.</string>
+3 −3
Original line number Diff line number Diff line
@@ -2114,7 +2114,7 @@ public abstract class BaseStatusBar extends SystemUI implements
                smallIcon,
                n.iconLevel,
                n.number,
                n.tickerText);
                StatusBarIconView.contentDescForNotification(mContext, n));
        if (!iconView.set(ic)) {
            handleNotificationError(sbn, "Couldn't create icon: " + ic);
            return null;
@@ -2283,7 +2283,7 @@ public abstract class BaseStatusBar extends SystemUI implements
                            n.getSmallIcon(),
                            n.iconLevel,
                            n.number,
                            n.tickerText);
                            StatusBarIconView.contentDescForNotification(mContext, n));
                    entry.icon.setNotification(n);
                    if (!entry.icon.set(ic)) {
                        handleNotificationError(notification, "Couldn't update icon: " + ic);
@@ -2307,7 +2307,7 @@ public abstract class BaseStatusBar extends SystemUI implements
                    n.getSmallIcon(),
                    n.iconLevel,
                    n.number,
                    n.tickerText);
                    StatusBarIconView.contentDescForNotification(mContext, n));
            entry.icon.setNotification(n);
            entry.icon.set(ic);
            inflateViews(entry, mStackScroller);
+11 −3
Original line number Diff line number Diff line
@@ -307,9 +307,9 @@ public class StatusBarIconView extends AnimatedImageView {

    private void setContentDescription(Notification notification) {
        if (notification != null) {
            CharSequence tickerText = notification.tickerText;
            if (!TextUtils.isEmpty(tickerText)) {
                setContentDescription(tickerText);
            String d = contentDescForNotification(mContext, notification);
            if (!TextUtils.isEmpty(d)) {
                setContentDescription(d);
            }
        }
    }
@@ -322,4 +322,12 @@ public class StatusBarIconView extends AnimatedImageView {
    public String getSlot() {
        return mSlot;
    }


    public static String contentDescForNotification(Context c, Notification n) {
        Notification.Builder builder = Notification.Builder.recoverBuilder(c, n);
        String appName = builder.loadHeaderAppName();
        CharSequence ticker = n.tickerText;
        return c.getString(R.string.accessibility_desc_notification_icon, appName, ticker);
    }
}