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

Commit 2c8ff605 authored by Achim Thesmann's avatar Achim Thesmann
Browse files

No logs if BAL hardened result unchanged

If BAL hardening does not change that we allow the start, there is no
reason to print a warning. Currently this emits a lot of warnings for
cases that are not PendingIntents (regular activity starts). In the
BackgroundActivityLauchTest run this reduces the number of BAL wtf logs
from 169 to only 6.

Test: atest BackgroundActivityLauchTest (and inspecting logs)
Bug: 296478951
Change-Id: I332294eb823c38f02aca34bc18eadfd9facb867b
parent e2b283d9
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -614,6 +614,15 @@ public class BackgroundActivityStartController {
                == ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_SYSTEM_DEFINED;
        if (callerCanAllow && realCallerCanAllow) {
            // Both caller and real caller allow with system defined behavior
            if (state.mBalAllowedByPiCreatorWithHardening.allowsBackgroundActivityStarts()) {
                // Will be allowed even with BAL hardening.
                if (DEBUG_ACTIVITY_STARTS) {
                    Slog.d(TAG, "Activity start allowed by caller. "
                            + state.dump(resultForCaller, resultForRealCaller));
                }
                // return the realCaller result for backwards compatibility
                return statsLog(resultForRealCaller, state);
            }
            if (state.mBalAllowedByPiCreator.allowsBackgroundActivityStarts()) {
                Slog.wtf(TAG,
                        "With Android 15 BAL hardening this activity start may be blocked"
@@ -632,6 +641,14 @@ public class BackgroundActivityStartController {
        }
        if (callerCanAllow) {
            // Allowed before V by creator
            if (state.mBalAllowedByPiCreatorWithHardening.allowsBackgroundActivityStarts()) {
                // Will be allowed even with BAL hardening.
                if (DEBUG_ACTIVITY_STARTS) {
                    Slog.d(TAG, "Activity start allowed by caller. "
                            + state.dump(resultForCaller, resultForRealCaller));
                }
                return statsLog(resultForCaller, state);
            }
            if (state.mBalAllowedByPiCreator.allowsBackgroundActivityStarts()) {
                Slog.wtf(TAG,
                        "With Android 15 BAL hardening this activity start may be blocked"