1// Signature format: 4.0
2package androidx.wear.protolayout.expression.pipeline {
3
4  public interface BoundDynamicType extends java.lang.AutoCloseable {
5    method @UiThread public void close();
6    method @UiThread public void startEvaluation();
7  }
8
9  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public interface DynamicTypeAnimator {
10    method public void advanceToAnimationTime(long);
11    method public Object? getCurrentValue();
12    method public long getDurationMs();
13    method public Object? getEndValue();
14    method public long getStartDelayMs();
15    method public Object? getStartValue();
16    method public android.animation.TypeEvaluator<? extends java.lang.Object!> getTypeEvaluator();
17    method public boolean isTerminal();
18    method public void setFloatValues(float...);
19    method public void setIntValues(int...);
20  }
21
22  public abstract class DynamicTypeBindingRequest {
23    method public static androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest forDynamicBool(androidx.wear.protolayout.expression.DynamicBuilders.DynamicBool, java.util.concurrent.Executor, androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.Boolean!>);
24    method public static androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest forDynamicColor(androidx.wear.protolayout.expression.DynamicBuilders.DynamicColor, java.util.concurrent.Executor, androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.Integer!>);
25    method public static androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest forDynamicDuration(androidx.wear.protolayout.expression.DynamicBuilders.DynamicDuration, java.util.concurrent.Executor, androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.time.Duration!>);
26    method public static androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest forDynamicFloat(androidx.wear.protolayout.expression.DynamicBuilders.DynamicFloat, java.util.concurrent.Executor, androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.Float!>);
27    method public static androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest forDynamicInstant(androidx.wear.protolayout.expression.DynamicBuilders.DynamicInstant, java.util.concurrent.Executor, androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.time.Instant!>);
28    method public static androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest forDynamicInt32(androidx.wear.protolayout.expression.DynamicBuilders.DynamicInt32, java.util.concurrent.Executor, androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.Integer!>);
29    method public static androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest forDynamicString(androidx.wear.protolayout.expression.DynamicBuilders.DynamicString, android.icu.util.ULocale, java.util.concurrent.Executor, androidx.wear.protolayout.expression.pipeline.DynamicTypeValueReceiver<java.lang.String!>);
30  }
31
32  public class DynamicTypeEvaluator {
33    ctor public DynamicTypeEvaluator(androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config);
34    method public androidx.wear.protolayout.expression.pipeline.BoundDynamicType bind(androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest) throws androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.EvaluationException;
35  }
36
37  public static final class DynamicTypeEvaluator.Config {
38    method public androidx.wear.protolayout.expression.pipeline.QuotaManager? getAnimationQuotaManager();
39    method @VisibleForTesting public java.util.function.Supplier<java.time.Instant!>? getClock();
40    method public androidx.wear.protolayout.expression.pipeline.QuotaManager? getDynamicTypesQuotaManager();
41    method public java.util.Map<androidx.wear.protolayout.expression.PlatformDataKey<? extends java.lang.Object!>!,androidx.wear.protolayout.expression.pipeline.PlatformDataProvider!> getPlatformDataProviders();
42    method public androidx.wear.protolayout.expression.pipeline.PlatformTimeUpdateNotifier? getPlatformTimeUpdateNotifier();
43    method public androidx.wear.protolayout.expression.pipeline.StateStore? getStateStore();
44  }
45
46  public static final class DynamicTypeEvaluator.Config.Builder {
47    ctor public DynamicTypeEvaluator.Config.Builder();
48    method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder addPlatformDataProvider(androidx.wear.protolayout.expression.pipeline.PlatformDataProvider, java.util.Set<androidx.wear.protolayout.expression.PlatformDataKey<? extends java.lang.Object!>!>);
49    method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config build();
50    method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setAnimationQuotaManager(androidx.wear.protolayout.expression.pipeline.QuotaManager);
51    method @VisibleForTesting public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setClock(java.util.function.Supplier<java.time.Instant!>);
52    method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setDynamicTypesQuotaManager(androidx.wear.protolayout.expression.pipeline.QuotaManager);
53    method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setPlatformTimeUpdateNotifier(androidx.wear.protolayout.expression.pipeline.PlatformTimeUpdateNotifier);
54    method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setStateStore(androidx.wear.protolayout.expression.pipeline.StateStore);
55  }
56
57  public static class DynamicTypeEvaluator.EvaluationException extends java.lang.Exception {
58    ctor public DynamicTypeEvaluator.EvaluationException(String);
59  }
60
61  public interface DynamicTypeValueReceiver<T> {
62    method public void onData(T);
63    method public void onInvalidated();
64  }
65
66  public interface PlatformDataProvider {
67    method public void clearReceiver();
68    method public void setReceiver(java.util.concurrent.Executor, androidx.wear.protolayout.expression.pipeline.PlatformDataReceiver);
69  }
70
71  public interface PlatformDataReceiver {
72    method public void onData(androidx.wear.protolayout.expression.PlatformDataValues);
73    method public void onInvalidated(java.util.Set<androidx.wear.protolayout.expression.PlatformDataKey<? extends java.lang.Object!>!>);
74  }
75
76  public interface PlatformTimeUpdateNotifier {
77    method public void clearReceiver();
78    method public void setReceiver(java.util.concurrent.Executor, Runnable);
79  }
80
81  public interface QuotaManager {
82    method public void releaseQuota(int);
83    method public boolean tryAcquireQuota(int);
84  }
85
86  public final class StateStore {
87    ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public StateStore(java.util.Map<androidx.wear.protolayout.expression.AppDataKey<? extends java.lang.Object!>!,androidx.wear.protolayout.expression.proto.DynamicDataProto.DynamicDataValue!>);
88    method public static androidx.wear.protolayout.expression.pipeline.StateStore create(java.util.Map<androidx.wear.protolayout.expression.AppDataKey<? extends java.lang.Object!>!,androidx.wear.protolayout.expression.DynamicDataBuilders.DynamicDataValue<? extends java.lang.Object!>!>);
89    method public static int getMaxStateEntryCount();
90    method @UiThread public void setAppStateEntryValues(java.util.Map<androidx.wear.protolayout.expression.AppDataKey<? extends java.lang.Object!>!,androidx.wear.protolayout.expression.DynamicDataBuilders.DynamicDataValue<? extends java.lang.Object!>!>);
91    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @UiThread public void setAppStateEntryValuesProto(java.util.Map<androidx.wear.protolayout.expression.AppDataKey<? extends java.lang.Object!>!,androidx.wear.protolayout.expression.proto.DynamicDataProto.DynamicDataValue!>);
92  }
93
94}
95
96