Stop showing RESTRICTED toast for new restriction.

The RESTRICTED bucket isn't clear from the notification restriction
option, so it'll be surprising for users to see the toast if they ask
the system to restrict the app. Don't show the Toast if the user tries
to restrict an app via the system's posted notification.

Bug: 217964313
Bug: 220897723
Test: Android builds
Change-Id: Ia86f5d6aa9ca4778395dde2834b2dd30cfc123a3
This commit is contained in:
Kweku Adams
2022-02-22 20:15:30 +00:00
parent 2e835186e0
commit 71fc7a5ce1

View File

@@ -25,6 +25,7 @@ import static android.app.usage.UsageStatsManager.REASON_MAIN_TIMEOUT;
import static android.app.usage.UsageStatsManager.REASON_MAIN_USAGE;
import static android.app.usage.UsageStatsManager.REASON_SUB_DEFAULT_APP_UPDATE;
import static android.app.usage.UsageStatsManager.REASON_SUB_FORCED_SYSTEM_FLAG_BUGGY;
import static android.app.usage.UsageStatsManager.REASON_SUB_FORCED_USER_FLAG_INTERACTION;
import static android.app.usage.UsageStatsManager.REASON_SUB_MASK;
import static android.app.usage.UsageStatsManager.REASON_SUB_PREDICTED_RESTORED;
import static android.app.usage.UsageStatsManager.REASON_SUB_USAGE_ACTIVE_TIMEOUT;
@@ -1581,7 +1582,11 @@ public class AppStandbyController
// Only user force can bypass the delay restriction. If the user forced the
// app into the RESTRICTED bucket, then a toast confirming the action
// shouldn't be surprising.
if (Build.IS_DEBUGGABLE) {
// Exclude REASON_SUB_FORCED_USER_FLAG_INTERACTION since the RESTRICTED bucket
// isn't directly visible in that flow.
if (Build.IS_DEBUGGABLE
&& (reason & REASON_SUB_MASK)
!= REASON_SUB_FORCED_USER_FLAG_INTERACTION) {
Toast.makeText(mContext,
// Since AppStandbyController sits low in the lock hierarchy,
// make sure not to call out with the lock held.