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

Commit 62eb7227 authored by randypfohl's avatar randypfohl
Browse files

Updating content description of taskview after latest update

Description: we wait for icon updates to receive the title of the task. However we still set the description immediately upon digitalwellbeingtoast creation.
this creates a null set for contentDescription resulting in incorrect talkbalk. This will listen for icon updates and will reiniitialize the toast ensuring
taskview is set properly.

Test: built and tested locally with talk back ensuring the titles are being set correctly

Bug: 280908761
Change-Id: I946e7190114cbdccb75883965b1fdf85ed6ad17a
parent 76ad67a0
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -92,6 +92,8 @@ public final class DigitalWellBeingToast {

    private Task mTask;
    private boolean mHasLimit;

    private long mAppUsageLimitTimeMs;
    private long mAppRemainingTimeMs;
    @Nullable
    private View mBanner;
@@ -113,10 +115,12 @@ public final class DigitalWellBeingToast {
        mHasLimit = false;
        mTaskView.setContentDescription(mTask.titleDescription);
        replaceBanner(null);
        mAppRemainingTimeMs = 0;
        mAppUsageLimitTimeMs = -1;
        mAppRemainingTimeMs = -1;
    }

    private void setLimit(long appUsageLimitTimeMs, long appRemainingTimeMs) {
        mAppUsageLimitTimeMs = appUsageLimitTimeMs;
        mAppRemainingTimeMs = appRemainingTimeMs;
        mHasLimit = true;
        TextView toast = mActivity.getViewCache().getView(R.layout.digital_wellbeing_toast,
@@ -138,11 +142,12 @@ public final class DigitalWellBeingToast {
    }

    public void initialize(Task task) {
        mAppUsageLimitTimeMs = mAppRemainingTimeMs = -1;
        mTask = task;
        THREAD_POOL_EXECUTOR.execute(() -> {
            final AppUsageLimit usageLimit = mLauncherApps.getAppUsageLimit(
                    task.getTopComponent().getPackageName(),
                    UserHandle.of(task.key.userId));
                    mTask.getTopComponent().getPackageName(),
                    UserHandle.of(mTask.key.userId));

            final long appUsageLimitTimeMs =
                    usageLimit != null ? usageLimit.getTotalUsageLimit() : -1;
@@ -275,6 +280,10 @@ public final class DigitalWellBeingToast {
        }
    }

    public String getContentDescription() {
            return getContentDescriptionForTask(mTask, mAppUsageLimitTimeMs, mAppRemainingTimeMs);
    }

    private String getContentDescriptionForTask(
            Task task, long appUsageLimitTimeMs, long appRemainingTimeMs) {
        return appUsageLimitTimeMs >= 0 && appRemainingTimeMs >= 0 ?
+1 −0
Original line number Diff line number Diff line
@@ -1342,6 +1342,7 @@ public class TaskView extends FrameLayout implements Reusable {

    protected void refreshTaskThumbnailSplash() {
        mSnapshotView.refreshSplashView();
        setContentDescription(mDigitalWellBeingToast.getContentDescription());
    }

    private void setSplitSelectTranslationX(float x) {