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

Commit 0807ec1f 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

Change-Id: I4b25c315fc7989981246c360e70b3775edde1524
parents ec399963 ae4605ee
Loading
Loading
Loading
Loading
+17 −5
Original line number Original line Diff line number Diff line
@@ -233,12 +233,9 @@ public class AppOpsManager {
                }
                }


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

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


    /**
    /**