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