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

Commit 49db73a7 authored by Vadim Tryshev's avatar Vadim Tryshev
Browse files

Moving composing task content description to resources

Bug:118319143
Test: Manual
Change-Id: Iedcf3d90191614011b9b7d35afabb17a5b5953b3
parent 84ed4d25
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ import com.android.systemui.shared.recents.model.Task;

public final class DigitalWellBeingToast extends LinearLayout {
    public interface InitializeCallback {
        void call(long t, boolean b);
        void call(long remainingTimeMs, boolean isGroupLimit, String contentDescription);
    }

    private static final String TAG = DigitalWellBeingToast.class.getSimpleName();
@@ -66,7 +66,10 @@ public final class DigitalWellBeingToast extends LinearLayout {
            final boolean isGroupLimit = true;
            post(() -> {
                setRemainingTime(appRemainingTimeMs, isGroupLimit);
                callback.call(appRemainingTimeMs, isGroupLimit);
                callback.call(
                        appRemainingTimeMs,
                        isGroupLimit,
                        getContentDescriptionForTask(task, appRemainingTimeMs, isGroupLimit));
            });
        });
    }
@@ -94,4 +97,14 @@ public final class DigitalWellBeingToast extends LinearLayout {
                    + mTask.getTopComponent().getPackageName(), e);
        }
    }

    private String getContentDescriptionForTask(
            Task task, long appRemainingTimeMs, boolean isGroupLimit) {
        return appRemainingTimeMs > 0 ?
                getResources().getString(
                        R.string.task_contents_description_with_remaining_time,
                        task.titleDescription,
                        getText(appRemainingTimeMs, isGroupLimit)) :
                task.titleDescription;
    }
}
+2 −7
Original line number Diff line number Diff line
@@ -268,14 +268,9 @@ public class TaskView extends FrameLayout implements PageCallbacks {
                        setIcon(task.icon);
                        mDigitalWellBeingToast.initialize(
                                mTask,
                                (appRemainingTimeMs, isGroupLimit) -> {
                                (appRemainingTimeMs, isGroupLimit, contentDescription) -> {
                                    mAppRemainingTimeMs = appRemainingTimeMs;
                                    setContentDescription(
                                            hasRemainingTime() ?
                                                    task.titleDescription + ". "
                                                            + DigitalWellBeingToast.getText(
                                                            appRemainingTimeMs, isGroupLimit) :
                                                    task.titleDescription);
                                    setContentDescription(contentDescription);
                                });
                    });
        } else {
+2 −0
Original line number Diff line number Diff line
@@ -350,4 +350,6 @@

    <!-- Failed action error message: e.g. Failed: Pause -->
    <string name="remote_action_failed">Failed: <xliff:g id="what" example="Pause">%1$s</xliff:g></string>

    <string name="task_contents_description_with_remaining_time" translatable="false"><xliff:g id="task_description" example="GMail">%1$s</xliff:g>, <xliff:g id="remaining_time" example="7 minutes">%2$s</xliff:g></string>
</resources>