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

Commit 43caafa2 authored by Amith Yamasani's avatar Amith Yamasani
Browse files

Don't inform usage stats of interaction for a toast

If the process is forced to the foreground due to a toast,
don't inform usage stats of an interaction. Otherwise app standby
will be defeated easily.

Bug: 31544592
Test: cts-tradefed run commandAndExit cts -m CtsHostsideNetworkTests -t com.android.cts.net.HostsideRestrictBackgroundNetworkTests#testAppIdle_toast
Change-Id: I100d839ef8cf361704fd5db4b26dcc878672a235
parent 786cec2f
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -20700,8 +20700,10 @@ public final class ActivityManagerService extends ActivityManagerNative
                isInteraction = nowElapsed > app.fgInteractionTime + SERVICE_USAGE_INTERACTION_TIME;
            }
        } else {
            isInteraction = app.curProcState
                    <= ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND;
            // If the app was being forced to the foreground, by say a Toast, then
            // no need to treat it as an interaction
            isInteraction = app.forcingToForeground == null
                    && app.curProcState <= ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND;
            app.fgInteractionTime = 0;
        }
        if (isInteraction && (!app.reportedInteraction