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

Commit a7749cdb authored by Stanislav Zholnin's avatar Stanislav Zholnin Committed by Automerger Merge Worker
Browse files

Merge "Allow listening for noted Ops if app is sampled for Stack trace...

Merge "Allow listening for noted Ops if app is sampled for Stack trace collection." into rvc-dev am: ae4605ee am: dc433461

Change-Id: Ica4b11ef3be57effb2300d25e954f3509e07ca65
parents 627681eb dc433461
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -233,12 +233,9 @@ public class AppOpsManager {
                }

                private void reportStackTraceIfNeeded(@NonNull SyncNotedAppOp op) {
                    if (sConfig.getSampledOpCode() == OP_NONE
                            && sConfig.getExpirationTimeSinceBootMillis()
                            >= SystemClock.elapsedRealtime()) {
                    if (!isCollectingStackTraces()) {
                        return;
                    }

                    MessageSamplingConfig config = sConfig;
                    if (leftCircularDistance(strOpToOp(op.getOp()), config.getSampledOpCode(),
                            _NUM_OP) <= config.getAcceptableLeftDistance()
@@ -8181,7 +8178,22 @@ public class AppOpsManager {
     * @hide
     */
    public static boolean isListeningForOpNoted() {
        return sOnOpNotedCallback != null;
        return sOnOpNotedCallback != null || isCollectingStackTraces();
    }

    /**
     * @return {@code true} iff the process is currently sampled for stacktrace collection.
     *
     * @see #setOnOpNotedCallback
     *
     * @hide
     */
    private static boolean isCollectingStackTraces() {
        if (sConfig.getSampledOpCode() == OP_NONE &&
                sConfig.getExpirationTimeSinceBootMillis() >= SystemClock.elapsedRealtime()) {
            return false;
        }
        return true;
    }

    /**