From d6568db503523d7288f4e15b8af065d7c14f4f2e Mon Sep 17 00:00:00 2001 From: randypfohl Date: Fri, 4 Aug 2023 13:27:52 -0700 Subject: [PATCH] attempting to catch security exception to prevent full crash Test: built locally Bug: 283074997 Change-Id: I9b60740c6de04422f69534e6a17d1858018f61e9 --- .../views/DigitalWellBeingToast.java | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java index 7bbe36a0ed..e5a0e10e41 100644 --- a/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java +++ b/quickstep/src/com/android/quickstep/views/DigitalWellBeingToast.java @@ -145,23 +145,29 @@ public final class DigitalWellBeingToast { mAppUsageLimitTimeMs = mAppRemainingTimeMs = -1; mTask = task; THREAD_POOL_EXECUTOR.execute(() -> { - final AppUsageLimit usageLimit = mLauncherApps.getAppUsageLimit( - mTask.getTopComponent().getPackageName(), - UserHandle.of(mTask.key.userId)); + AppUsageLimit usageLimit = null; + try { + usageLimit = mLauncherApps.getAppUsageLimit( + mTask.getTopComponent().getPackageName(), + UserHandle.of(mTask.key.userId)); + } catch (Exception e) { + Log.e(TAG, "Error initializing digital well being toast", e); + } + final long appUsageLimitTimeMs = + usageLimit != null ? usageLimit.getTotalUsageLimit() : -1; + final long appRemainingTimeMs = + usageLimit != null ? usageLimit.getUsageRemaining() : -1; - final long appUsageLimitTimeMs = - usageLimit != null ? usageLimit.getTotalUsageLimit() : -1; - final long appRemainingTimeMs = - usageLimit != null ? usageLimit.getUsageRemaining() : -1; + mTaskView.post(() -> { + if (appUsageLimitTimeMs < 0 || appRemainingTimeMs < 0) { + setNoLimit(); + } else { + setLimit(appUsageLimitTimeMs, appRemainingTimeMs); + } + }); - mTaskView.post(() -> { - if (appUsageLimitTimeMs < 0 || appRemainingTimeMs < 0) { - setNoLimit(); - } else { - setLimit(appUsageLimitTimeMs, appRemainingTimeMs); } - }); - }); + ); } public void setSplitConfiguration(SplitBounds splitBounds) {