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 public abstract class DynamicTypeBindingRequest { 10 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!>); 11 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!>); 12 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!>); 13 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!>); 14 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!>); 15 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!>); 16 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!>); 17 } 18 19 public class DynamicTypeEvaluator { 20 ctor public DynamicTypeEvaluator(androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config); 21 method public androidx.wear.protolayout.expression.pipeline.BoundDynamicType bind(androidx.wear.protolayout.expression.pipeline.DynamicTypeBindingRequest) throws androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.EvaluationException; 22 } 23 24 public static final class DynamicTypeEvaluator.Config { 25 method public androidx.wear.protolayout.expression.pipeline.QuotaManager? getAnimationQuotaManager(); 26 method @VisibleForTesting public java.util.function.Supplier<java.time.Instant!>? getClock(); 27 method public androidx.wear.protolayout.expression.pipeline.QuotaManager? getDynamicTypesQuotaManager(); 28 method public java.util.Map<androidx.wear.protolayout.expression.PlatformDataKey<? extends java.lang.Object!>!,androidx.wear.protolayout.expression.pipeline.PlatformDataProvider!> getPlatformDataProviders(); 29 method public androidx.wear.protolayout.expression.pipeline.PlatformTimeUpdateNotifier? getPlatformTimeUpdateNotifier(); 30 method public androidx.wear.protolayout.expression.pipeline.StateStore? getStateStore(); 31 } 32 33 public static final class DynamicTypeEvaluator.Config.Builder { 34 ctor public DynamicTypeEvaluator.Config.Builder(); 35 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!>!>); 36 method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config build(); 37 method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setAnimationQuotaManager(androidx.wear.protolayout.expression.pipeline.QuotaManager); 38 method @VisibleForTesting public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setClock(java.util.function.Supplier<java.time.Instant!>); 39 method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setDynamicTypesQuotaManager(androidx.wear.protolayout.expression.pipeline.QuotaManager); 40 method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setPlatformTimeUpdateNotifier(androidx.wear.protolayout.expression.pipeline.PlatformTimeUpdateNotifier); 41 method public androidx.wear.protolayout.expression.pipeline.DynamicTypeEvaluator.Config.Builder setStateStore(androidx.wear.protolayout.expression.pipeline.StateStore); 42 } 43 44 public static class DynamicTypeEvaluator.EvaluationException extends java.lang.Exception { 45 ctor public DynamicTypeEvaluator.EvaluationException(String); 46 } 47 48 public interface DynamicTypeValueReceiver<T> { 49 method public void onData(T); 50 method public void onInvalidated(); 51 } 52 53 public interface PlatformDataProvider { 54 method public void clearReceiver(); 55 method public void setReceiver(java.util.concurrent.Executor, androidx.wear.protolayout.expression.pipeline.PlatformDataReceiver); 56 } 57 58 public interface PlatformDataReceiver { 59 method public void onData(androidx.wear.protolayout.expression.PlatformDataValues); 60 method public void onInvalidated(java.util.Set<androidx.wear.protolayout.expression.PlatformDataKey<? extends java.lang.Object!>!>); 61 } 62 63 public interface PlatformTimeUpdateNotifier { 64 method public void clearReceiver(); 65 method public void setReceiver(java.util.concurrent.Executor, Runnable); 66 } 67 68 public interface QuotaManager { 69 method public void releaseQuota(int); 70 method public boolean tryAcquireQuota(int); 71 } 72 73 public final class StateStore { 74 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!>!>); 75 method public static int getMaxStateEntryCount(); 76 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!>!>); 77 } 78 79} 80 81