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

Commit 0ed1797f authored by vadimt's avatar vadimt
Browse files

Removing graying apps in Overview

The reason is that there is no API that reports that an app is grayed.
Not showing DWB toast for apps that ran over their limit because they
shouldn't be in Overview.

Bug: 129067053
Change-Id: Ia04e17aa85ca015b7932496ad5e730fe61b4be69
parent 16675c56
Loading
Loading
Loading
Loading
+9 −15
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.LauncherApps;
import android.content.pm.LauncherApps.AppUsageLimit;
import android.content.res.Resources;
import android.icu.text.MeasureFormat;
import android.icu.text.MeasureFormat.FormatWidth;
import android.icu.util.Measure;
@@ -54,7 +53,7 @@ public final class DigitalWellBeingToast extends LinearLayout {
    private final LauncherApps mLauncherApps;

    public interface InitializeCallback {
        void call(float saturation, String contentDescription);
        void call(String contentDescription);
    }

    private static final String TAG = DigitalWellBeingToast.class.getSimpleName();
@@ -84,7 +83,7 @@ public final class DigitalWellBeingToast extends LinearLayout {

        if (task.key.userId != UserHandle.myUserId()) {
            setVisibility(GONE);
            callback.call(1, task.titleDescription);
            callback.call(task.titleDescription);
            return;
        }

@@ -99,7 +98,7 @@ public final class DigitalWellBeingToast extends LinearLayout {
                    usageLimit != null ? usageLimit.getUsageRemaining() : -1;

            post(() -> {
                if (appUsageLimitTimeMs < 0) {
                if (appUsageLimitTimeMs < 0 || appRemainingTimeMs < 0) {
                    setVisibility(GONE);
                } else {
                    setVisibility(VISIBLE);
@@ -108,9 +107,7 @@ public final class DigitalWellBeingToast extends LinearLayout {
                            R.drawable.hourglass_top : R.drawable.hourglass_bottom);
                }

                callback.call(
                        appUsageLimitTimeMs >= 0 && appRemainingTimeMs <= 0 ? 0 : 1,
                        getContentDescriptionForTask(
                callback.call(getContentDescriptionForTask(
                        task, appUsageLimitTimeMs, appRemainingTimeMs));
            });
        });
@@ -180,10 +177,7 @@ public final class DigitalWellBeingToast extends LinearLayout {
    }

    private String getText(long remainingTime) {
        final Resources resources = getResources();
        return (remainingTime <= 0) ?
                resources.getString(R.string.app_in_grayscale) :
                resources.getString(
        return getResources().getString(
                R.string.time_left_for_app,
                getRoundedUpToMinuteReadableDuration(remainingTime));
    }
@@ -209,7 +203,7 @@ public final class DigitalWellBeingToast extends LinearLayout {

    private String getContentDescriptionForTask(
            Task task, long appUsageLimitTimeMs, long appRemainingTimeMs) {
        return appUsageLimitTimeMs >= 0 ?
        return appUsageLimitTimeMs >= 0 && appRemainingTimeMs >= 0 ?
                getResources().getString(
                        R.string.task_contents_description_with_remaining_time,
                        task.titleDescription,
+1 −2
Original line number Diff line number Diff line
@@ -323,9 +323,8 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
                        }
                        mDigitalWellBeingToast.initialize(
                                mTask,
                                (saturation, contentDescription) -> {
                                contentDescription -> {
                                    setContentDescription(contentDescription);
                                    mSnapshotView.setSaturation(saturation);
                                    if (mDigitalWellBeingToast.getVisibility() == VISIBLE) {
                                        getRecentsView().onDigitalWellbeingToastShown();
                                    }
+0 −4
Original line number Diff line number Diff line
@@ -55,10 +55,6 @@
     escaped form of '<'). [CHAR LIMIT=15] -->
    <string name="shorter_duration_less_than_one_minute">&lt; 1 minute</string>

    <!-- Annotation shown on an app card in Recents, telling that the app was switched to a
    grayscale because it ran over its time limit [CHAR LIMIT=25] -->
    <string name="app_in_grayscale">App in grayscale</string>

    <!-- Annotation shown on an app card in Recents, telling that the app has a usage limit set by
    the user, and a given time is left for it today [CHAR LIMIT=22] -->
    <string name="time_left_for_app"><xliff:g id="time" example="7 minutes">%1$s</xliff:g> left today</string>