Merge "Allow listening for noted Ops if app is sampled for Stack trace collection." into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ae4605eee8
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user