// Signature format: 2.0 package com.android.os.profiling.anomaly { @FlaggedApi("android.os.profiling.anomaly.flags.anomaly_detector_core") public interface AnomalyDetectorManagerLocal { method public void registerSignalCollector(@NonNull Class, @NonNull Class, @NonNull com.android.os.profiling.anomaly.collector.SignalCollector); } } package com.android.os.profiling.anomaly.collector { @FlaggedApi("android.os.profiling.anomaly.flags.anomaly_detector_core") public interface SignalCollector { method @Nullable public U getData(@NonNull com.android.os.profiling.anomaly.collector.SubscriptionId); method public void requestUpdate(@NonNull com.android.os.profiling.anomaly.collector.SubscriptionId); method @NonNull public com.android.os.profiling.anomaly.collector.SubscriptionId subscribe(@NonNull T, @NonNull android.os.OutcomeReceiver); method public void unsubscribe(@NonNull com.android.os.profiling.anomaly.collector.SubscriptionId); } @FlaggedApi("android.os.profiling.anomaly.flags.anomaly_detector_core") public interface SignalCollectorConfig { } @FlaggedApi("android.os.profiling.anomaly.flags.anomaly_detector_core") public interface SignalCollectorData { } @FlaggedApi("android.os.profiling.anomaly.flags.anomaly_detector_core") public final class SubscriptionId { method @NonNull public static com.android.os.profiling.anomaly.collector.SubscriptionId generateNew(); } } package com.android.os.profiling.anomaly.collector.binder { @FlaggedApi("android.os.profiling.anomaly.flags.anomaly_detector_core") public final class BinderSpamConfig implements com.android.os.profiling.anomaly.collector.SignalCollectorConfig { method @NonNull public String getInterfaceName(); method @NonNull public String getMethodName(); } @FlaggedApi("android.os.profiling.anomaly.flags.anomaly_detector_core") public final class BinderSpamData implements com.android.os.profiling.anomaly.collector.SignalCollectorData { method public long getCallCount(); method public int getCallingUid(); method @NonNull public String getInterfaceName(); method @NonNull public String getMethodName(); method public long getTimespanMillis(); } public static final class BinderSpamData.Builder { ctor public BinderSpamData.Builder(); method @NonNull public com.android.os.profiling.anomaly.collector.binder.BinderSpamData build(); method @NonNull public com.android.os.profiling.anomaly.collector.binder.BinderSpamData.Builder setCallCount(long); method @NonNull public com.android.os.profiling.anomaly.collector.binder.BinderSpamData.Builder setCallingUid(int); method @NonNull public com.android.os.profiling.anomaly.collector.binder.BinderSpamData.Builder setInterfaceName(@NonNull String); method @NonNull public com.android.os.profiling.anomaly.collector.binder.BinderSpamData.Builder setMethodName(@NonNull String); method @NonNull public com.android.os.profiling.anomaly.collector.binder.BinderSpamData.Builder setTimespanMillis(long); } }