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

Commit c469aadd authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Adding progress information for preload icons in content description

Bug: 24086091
Change-Id: Id8fb024973f4affd998627d30077e2764b07edc4
parent de7ae659
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -191,6 +191,10 @@
    <string name="abandoned_promise_explanation">The app for this icon isn\'t installed.
        You can remove it, or search for the app and install it manually.
    </string>
    <!-- Title for an app which is being downloaded. -->
    <string name="app_downloading_title"><xliff:g id="name" example="Messenger">%1$s</xliff:g> downloading, <xliff:g id="progress" example="30%">%2$s</xliff:g> complete</string>
    <!-- Title for an app whose download has been started. -->
    <string name="app_waiting_download_title"><xliff:g id="name" example="Messenger">%1$s</xliff:g> waiting to install</string>

<!-- Strings for accessibility actions -->
    <!-- Accessibility action to add an app to workspace. [CHAR_LIMIT=30] -->
+7 −0
Original line number Diff line number Diff line
@@ -40,6 +40,8 @@ import android.widget.TextView;
import com.android.launcher3.IconCache.IconLoadRequest;
import com.android.launcher3.model.PackageItemInfo;

import java.text.NumberFormat;

/**
 * TextView that draws a bubble behind the text. We cannot use a LineBackgroundSpan
 * because we want to make the bubble taller than the text and TextView's clip is
@@ -440,6 +442,11 @@ public class BubbleTextView extends TextView
                    ((info.hasStatusFlag(ShortcutInfo.FLAG_INSTALL_SESSION_ACTIVE) ?
                            info.getInstallProgress() : 0)) : 100;

            setContentDescription(progressLevel > 0 ?
                getContext().getString(R.string.app_downloading_title, info.title,
                        NumberFormat.getPercentInstance().format(progressLevel * 0.01)) :
                    getContext().getString(R.string.app_waiting_download_title, info.title));

            if (mIcon != null) {
                final PreloadIconDrawable preloadDrawable;
                if (mIcon instanceof PreloadIconDrawable) {