Merge "Add BasicAnnotationProcessor-like APIs for XProcessing" into androidx-main
diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml
index 1d10cb0..c41d950 100644
--- a/.github/workflows/presubmit.yml
+++ b/.github/workflows/presubmit.yml
@@ -56,29 +56,10 @@
echo "ANDROID_SDK_ROOT=$HOME/Library/Android/sdk" >> $GITHUB_ENV
echo "DIST_DIR=$HOME/dist" >> $GITHUB_ENV
- - name: "Compute actions/checkout arguments"
- id: checkout-args
- run: |
- set -x
-
- REF=${{ github.event.pull_request.head.ref }}
- if [ -z "$REF" ]; then
- REF=${{ github.event.ref }}
- fi
- echo "::set-output name=ref::$REF"
-
- REPOSITORY=${{ github.event.pull_request.head.repo.full_name }}
- if [ -z "$REPOSITORY" ]; then
- REPOSITORY=${{ github.repository }}
- fi
- echo "::set-output name=repository::$REPOSITORY"
-
- name: "Checkout androidx repo"
uses: actions/checkout@v2
with:
- ref: ${{ steps.checkout-args.outputs.ref }}
- repository: ${{ steps.checkout-args.outputs.repository }}
- fetch-depth: 0 # Need full depth for changed-files-action
+ fetch-depth: 1
- name: "Get changed files in push or pull_request"
id: changed-files
@@ -102,7 +83,7 @@
JAVA_HOME: ${{ steps.setup-java.outputs.path }}
with:
arguments: -q :ktlintCheckFile ${{ steps.ktlint-file-args.outputs.ktlint-file-args }} ${{ needs.setup.outputs.gradlew_flags }}
- build-root-directory: activity
+ build-root-directory: room
configuration-cache-enabled: true
dependencies-cache-enabled: true
gradle-executable: activity/gradlew
@@ -129,7 +110,17 @@
uses: actions/checkout@v2
with:
fetch-depth: 1
-
+ - name: "Setup JDK 8 for tools.jar"
+ id: setup-java8
+ uses: actions/setup-java@v1
+ with:
+ java-version: "8"
+ - name: "set tools jar path"
+ id: setup-tools-jar
+ run: |
+ set -x
+ TOOLS_JAR=$JAVA_HOME/lib/tools.jar
+ echo "::set-output name=toolsJar::$TOOLS_JAR"
- name: "Setup JDK 11"
id: setup-java
uses: actions/setup-java@v1
@@ -147,6 +138,7 @@
uses: eskatos/gradle-command-action@v1
env:
JAVA_HOME: ${{ steps.setup-java.outputs.path }}
+ JAVA_TOOLS_JAR: ${{ steps.setup-tools-jar.outputs.toolsJar }}
with:
arguments: buildOnServer buildTestApks ${{ needs.setup.outputs.gradlew_flags }}
build-root-directory: ${{ env.project-root }}
diff --git a/activity/activity-compose/api/1.3.0-beta03.txt b/activity/activity-compose/api/1.3.0-beta03.txt
new file mode 100644
index 0000000..66989c4
--- /dev/null
+++ b/activity/activity-compose/api/1.3.0-beta03.txt
@@ -0,0 +1,40 @@
+// Signature format: 4.0
+package androidx.activity.compose {
+
+ public final class ActivityComposeUtilsKt {
+ }
+
+ public final class ActivityResultRegistryKt {
+ method @androidx.compose.runtime.Composable public static <I, O> androidx.activity.compose.ManagedActivityResultLauncher<I,O> rememberLauncherForActivityResult(androidx.activity.result.contract.ActivityResultContract<I,O> contract, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> onResult);
+ }
+
+ public final class BackHandlerKt {
+ method @androidx.compose.runtime.Composable public static void BackHandler(optional boolean enabled, kotlin.jvm.functions.Function0<kotlin.Unit> onBack);
+ }
+
+ public final class ComponentActivityKt {
+ method public static void setContent(androidx.activity.ComponentActivity, optional androidx.compose.runtime.CompositionContext? parent, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class LocalActivityResultRegistryOwner {
+ method @androidx.compose.runtime.Composable public androidx.activity.result.ActivityResultRegistryOwner? getCurrent();
+ method public infix androidx.compose.runtime.ProvidedValue<androidx.activity.result.ActivityResultRegistryOwner> provides(androidx.activity.result.ActivityResultRegistryOwner registryOwner);
+ property @androidx.compose.runtime.Composable public final androidx.activity.result.ActivityResultRegistryOwner? current;
+ field public static final androidx.activity.compose.LocalActivityResultRegistryOwner INSTANCE;
+ }
+
+ public final class LocalOnBackPressedDispatcherOwner {
+ method @androidx.compose.runtime.Composable public androidx.activity.OnBackPressedDispatcherOwner? getCurrent();
+ method public infix androidx.compose.runtime.ProvidedValue<androidx.activity.OnBackPressedDispatcherOwner> provides(androidx.activity.OnBackPressedDispatcherOwner dispatcherOwner);
+ property @androidx.compose.runtime.Composable public final androidx.activity.OnBackPressedDispatcherOwner? current;
+ field public static final androidx.activity.compose.LocalOnBackPressedDispatcherOwner INSTANCE;
+ }
+
+ public final class ManagedActivityResultLauncher<I, O> extends androidx.activity.result.ActivityResultLauncher<I> {
+ method public androidx.activity.result.contract.ActivityResultContract<I,?> getContract();
+ method public void launch(I? input, androidx.core.app.ActivityOptionsCompat? options);
+ method @Deprecated public void unregister();
+ }
+
+}
+
diff --git a/activity/activity-compose/api/public_plus_experimental_1.3.0-beta03.txt b/activity/activity-compose/api/public_plus_experimental_1.3.0-beta03.txt
new file mode 100644
index 0000000..66989c4
--- /dev/null
+++ b/activity/activity-compose/api/public_plus_experimental_1.3.0-beta03.txt
@@ -0,0 +1,40 @@
+// Signature format: 4.0
+package androidx.activity.compose {
+
+ public final class ActivityComposeUtilsKt {
+ }
+
+ public final class ActivityResultRegistryKt {
+ method @androidx.compose.runtime.Composable public static <I, O> androidx.activity.compose.ManagedActivityResultLauncher<I,O> rememberLauncherForActivityResult(androidx.activity.result.contract.ActivityResultContract<I,O> contract, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> onResult);
+ }
+
+ public final class BackHandlerKt {
+ method @androidx.compose.runtime.Composable public static void BackHandler(optional boolean enabled, kotlin.jvm.functions.Function0<kotlin.Unit> onBack);
+ }
+
+ public final class ComponentActivityKt {
+ method public static void setContent(androidx.activity.ComponentActivity, optional androidx.compose.runtime.CompositionContext? parent, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class LocalActivityResultRegistryOwner {
+ method @androidx.compose.runtime.Composable public androidx.activity.result.ActivityResultRegistryOwner? getCurrent();
+ method public infix androidx.compose.runtime.ProvidedValue<androidx.activity.result.ActivityResultRegistryOwner> provides(androidx.activity.result.ActivityResultRegistryOwner registryOwner);
+ property @androidx.compose.runtime.Composable public final androidx.activity.result.ActivityResultRegistryOwner? current;
+ field public static final androidx.activity.compose.LocalActivityResultRegistryOwner INSTANCE;
+ }
+
+ public final class LocalOnBackPressedDispatcherOwner {
+ method @androidx.compose.runtime.Composable public androidx.activity.OnBackPressedDispatcherOwner? getCurrent();
+ method public infix androidx.compose.runtime.ProvidedValue<androidx.activity.OnBackPressedDispatcherOwner> provides(androidx.activity.OnBackPressedDispatcherOwner dispatcherOwner);
+ property @androidx.compose.runtime.Composable public final androidx.activity.OnBackPressedDispatcherOwner? current;
+ field public static final androidx.activity.compose.LocalOnBackPressedDispatcherOwner INSTANCE;
+ }
+
+ public final class ManagedActivityResultLauncher<I, O> extends androidx.activity.result.ActivityResultLauncher<I> {
+ method public androidx.activity.result.contract.ActivityResultContract<I,?> getContract();
+ method public void launch(I? input, androidx.core.app.ActivityOptionsCompat? options);
+ method @Deprecated public void unregister();
+ }
+
+}
+
diff --git a/activity/activity-compose/api/res-1.3.0-beta03.txt b/activity/activity-compose/api/res-1.3.0-beta03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/activity/activity-compose/api/res-1.3.0-beta03.txt
diff --git a/activity/activity-compose/api/restricted_1.3.0-beta03.txt b/activity/activity-compose/api/restricted_1.3.0-beta03.txt
new file mode 100644
index 0000000..66989c4
--- /dev/null
+++ b/activity/activity-compose/api/restricted_1.3.0-beta03.txt
@@ -0,0 +1,40 @@
+// Signature format: 4.0
+package androidx.activity.compose {
+
+ public final class ActivityComposeUtilsKt {
+ }
+
+ public final class ActivityResultRegistryKt {
+ method @androidx.compose.runtime.Composable public static <I, O> androidx.activity.compose.ManagedActivityResultLauncher<I,O> rememberLauncherForActivityResult(androidx.activity.result.contract.ActivityResultContract<I,O> contract, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> onResult);
+ }
+
+ public final class BackHandlerKt {
+ method @androidx.compose.runtime.Composable public static void BackHandler(optional boolean enabled, kotlin.jvm.functions.Function0<kotlin.Unit> onBack);
+ }
+
+ public final class ComponentActivityKt {
+ method public static void setContent(androidx.activity.ComponentActivity, optional androidx.compose.runtime.CompositionContext? parent, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class LocalActivityResultRegistryOwner {
+ method @androidx.compose.runtime.Composable public androidx.activity.result.ActivityResultRegistryOwner? getCurrent();
+ method public infix androidx.compose.runtime.ProvidedValue<androidx.activity.result.ActivityResultRegistryOwner> provides(androidx.activity.result.ActivityResultRegistryOwner registryOwner);
+ property @androidx.compose.runtime.Composable public final androidx.activity.result.ActivityResultRegistryOwner? current;
+ field public static final androidx.activity.compose.LocalActivityResultRegistryOwner INSTANCE;
+ }
+
+ public final class LocalOnBackPressedDispatcherOwner {
+ method @androidx.compose.runtime.Composable public androidx.activity.OnBackPressedDispatcherOwner? getCurrent();
+ method public infix androidx.compose.runtime.ProvidedValue<androidx.activity.OnBackPressedDispatcherOwner> provides(androidx.activity.OnBackPressedDispatcherOwner dispatcherOwner);
+ property @androidx.compose.runtime.Composable public final androidx.activity.OnBackPressedDispatcherOwner? current;
+ field public static final androidx.activity.compose.LocalOnBackPressedDispatcherOwner INSTANCE;
+ }
+
+ public final class ManagedActivityResultLauncher<I, O> extends androidx.activity.result.ActivityResultLauncher<I> {
+ method public androidx.activity.result.contract.ActivityResultContract<I,?> getContract();
+ method public void launch(I? input, androidx.core.app.ActivityOptionsCompat? options);
+ method @Deprecated public void unregister();
+ }
+
+}
+
diff --git a/activity/activity-ktx/api/1.3.0-beta03.txt b/activity/activity-ktx/api/1.3.0-beta03.txt
new file mode 100644
index 0000000..f844b35
--- /dev/null
+++ b/activity/activity-ktx/api/1.3.0-beta03.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.activity {
+
+ public final class ActivityViewModelLazyKt {
+ method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
+ }
+
+ public final class OnBackPressedDispatcherKt {
+ method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
+ }
+
+ public final class PipHintTrackerKt {
+ }
+
+}
+
+package androidx.activity.contextaware {
+
+ public final class ContextAwareKt {
+ method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+}
+
+package androidx.activity.result {
+
+ public final class ActivityResultCallerKt {
+ method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
+ method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
+ }
+
+ public final class ActivityResultKt {
+ method public static operator int component1(androidx.activity.result.ActivityResult);
+ method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
+ }
+
+ public final class ActivityResultLauncherKt {
+ method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
+ method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
+ }
+
+}
+
diff --git a/activity/activity-ktx/api/public_plus_experimental_1.3.0-beta03.txt b/activity/activity-ktx/api/public_plus_experimental_1.3.0-beta03.txt
new file mode 100644
index 0000000..5dff406
--- /dev/null
+++ b/activity/activity-ktx/api/public_plus_experimental_1.3.0-beta03.txt
@@ -0,0 +1,44 @@
+// Signature format: 4.0
+package androidx.activity {
+
+ public final class ActivityViewModelLazyKt {
+ method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
+ }
+
+ public final class OnBackPressedDispatcherKt {
+ method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
+ }
+
+ public final class PipHintTrackerKt {
+ method @RequiresApi(android.os.Build.VERSION_CODES.O) @kotlinx.coroutines.ExperimentalCoroutinesApi public static suspend Object? trackPipAnimationHintView(android.app.Activity, android.view.View view, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+}
+
+package androidx.activity.contextaware {
+
+ public final class ContextAwareKt {
+ method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+}
+
+package androidx.activity.result {
+
+ public final class ActivityResultCallerKt {
+ method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
+ method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
+ }
+
+ public final class ActivityResultKt {
+ method public static operator int component1(androidx.activity.result.ActivityResult);
+ method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
+ }
+
+ public final class ActivityResultLauncherKt {
+ method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
+ method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
+ }
+
+}
+
diff --git a/activity/activity-ktx/api/res-1.3.0-beta03.txt b/activity/activity-ktx/api/res-1.3.0-beta03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/activity/activity-ktx/api/res-1.3.0-beta03.txt
diff --git a/activity/activity-ktx/api/restricted_1.3.0-beta03.txt b/activity/activity-ktx/api/restricted_1.3.0-beta03.txt
new file mode 100644
index 0000000..f844b35
--- /dev/null
+++ b/activity/activity-ktx/api/restricted_1.3.0-beta03.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.activity {
+
+ public final class ActivityViewModelLazyKt {
+ method @MainThread public static inline <reified VM extends androidx.lifecycle.ViewModel> kotlin.Lazy<? extends VM>! viewModels(androidx.activity.ComponentActivity, optional kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer);
+ }
+
+ public final class OnBackPressedDispatcherKt {
+ method public static androidx.activity.OnBackPressedCallback addCallback(androidx.activity.OnBackPressedDispatcher, optional androidx.lifecycle.LifecycleOwner? owner, optional boolean enabled, kotlin.jvm.functions.Function1<? super androidx.activity.OnBackPressedCallback,kotlin.Unit> onBackPressed);
+ }
+
+ public final class PipHintTrackerKt {
+ }
+
+}
+
+package androidx.activity.contextaware {
+
+ public final class ContextAwareKt {
+ method public static suspend inline <R> Object? withContextAvailable(androidx.activity.contextaware.ContextAware, kotlin.jvm.functions.Function1<? super android.content.Context,? extends R> onContextAvailable, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+}
+
+package androidx.activity.result {
+
+ public final class ActivityResultCallerKt {
+ method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, androidx.activity.result.ActivityResultRegistry registry, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
+ method public static <I, O> androidx.activity.result.ActivityResultLauncher<kotlin.Unit> registerForActivityResult(androidx.activity.result.ActivityResultCaller, androidx.activity.result.contract.ActivityResultContract<I,O> contract, I? input, kotlin.jvm.functions.Function1<? super O,kotlin.Unit> callback);
+ }
+
+ public final class ActivityResultKt {
+ method public static operator int component1(androidx.activity.result.ActivityResult);
+ method public static operator android.content.Intent? component2(androidx.activity.result.ActivityResult);
+ }
+
+ public final class ActivityResultLauncherKt {
+ method public static void launch(androidx.activity.result.ActivityResultLauncher<java.lang.Void>, optional androidx.core.app.ActivityOptionsCompat? options);
+ method public static void launchUnit(androidx.activity.result.ActivityResultLauncher<kotlin.Unit>, optional androidx.core.app.ActivityOptionsCompat? options);
+ }
+
+}
+
diff --git a/activity/activity/api/1.3.0-beta03.txt b/activity/activity/api/1.3.0-beta03.txt
new file mode 100644
index 0000000..4d4be33
--- /dev/null
+++ b/activity/activity/api/1.3.0-beta03.txt
@@ -0,0 +1,266 @@
+// Signature format: 4.0
+package androidx.activity {
+
+ public class ComponentActivity extends android.app.Activity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
+ ctor public ComponentActivity();
+ ctor @ContentView public ComponentActivity(@LayoutRes int);
+ method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
+ method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
+ method @Deprecated public Object? getLastCustomNonConfigurationInstance();
+ method public androidx.lifecycle.Lifecycle getLifecycle();
+ method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
+ method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
+ method public androidx.lifecycle.ViewModelStore getViewModelStore();
+ method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
+ method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
+ method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
+ method public final Object? onRetainNonConfigurationInstance();
+ method public android.content.Context? peekAvailableContext();
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method @Deprecated public void startActivityForResult(android.content.Intent!, int);
+ method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
+ method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
+ method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
+ }
+
+ public abstract class OnBackPressedCallback {
+ ctor public OnBackPressedCallback(boolean);
+ method @MainThread public abstract void handleOnBackPressed();
+ method @MainThread public final boolean isEnabled();
+ method @MainThread public final void remove();
+ method @MainThread public final void setEnabled(boolean);
+ }
+
+ public final class OnBackPressedDispatcher {
+ ctor public OnBackPressedDispatcher();
+ ctor public OnBackPressedDispatcher(Runnable?);
+ method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
+ method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
+ method @MainThread public boolean hasEnabledCallbacks();
+ method @MainThread public void onBackPressed();
+ }
+
+ public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
+ method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
+ }
+
+}
+
+package androidx.activity.contextaware {
+
+ public interface ContextAware {
+ method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method public android.content.Context? peekAvailableContext();
+ method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ }
+
+ public final class ContextAwareHelper {
+ ctor public ContextAwareHelper();
+ method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method public void clearAvailableContext();
+ method public void dispatchOnContextAvailable(android.content.Context);
+ method public android.content.Context? peekAvailableContext();
+ method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ }
+
+ public interface OnContextAvailableListener {
+ method public void onContextAvailable(android.content.Context);
+ }
+
+}
+
+package androidx.activity.result {
+
+ public final class ActivityResult implements android.os.Parcelable {
+ ctor public ActivityResult(int, android.content.Intent?);
+ method public int describeContents();
+ method public android.content.Intent? getData();
+ method public int getResultCode();
+ method public static String resultCodeToString(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
+ }
+
+ public interface ActivityResultCallback<O> {
+ method public void onActivityResult(O!);
+ }
+
+ public interface ActivityResultCaller {
+ method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
+ }
+
+ public abstract class ActivityResultLauncher<I> {
+ ctor public ActivityResultLauncher();
+ method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
+ method public void launch(I!);
+ method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
+ method @MainThread public abstract void unregister();
+ }
+
+ public abstract class ActivityResultRegistry {
+ ctor public ActivityResultRegistry();
+ method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
+ method @MainThread public final <O> boolean dispatchResult(int, O!);
+ method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
+ method public final void onRestoreInstanceState(android.os.Bundle?);
+ method public final void onSaveInstanceState(android.os.Bundle);
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ }
+
+ public interface ActivityResultRegistryOwner {
+ method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
+ }
+
+ public final class IntentSenderRequest implements android.os.Parcelable {
+ method public int describeContents();
+ method public android.content.Intent? getFillInIntent();
+ method public int getFlagsMask();
+ method public int getFlagsValues();
+ method public android.content.IntentSender getIntentSender();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
+ }
+
+ public static final class IntentSenderRequest.Builder {
+ ctor public IntentSenderRequest.Builder(android.content.IntentSender);
+ ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
+ method public androidx.activity.result.IntentSenderRequest build();
+ method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
+ method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
+ }
+
+}
+
+package androidx.activity.result.contract {
+
+ public abstract class ActivityResultContract<I, O> {
+ ctor public ActivityResultContract();
+ method public abstract android.content.Intent createIntent(android.content.Context, I!);
+ method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
+ method public abstract O! parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContract.SynchronousResult<T> {
+ ctor public ActivityResultContract.SynchronousResult(T!);
+ method public T! getValue();
+ }
+
+ public final class ActivityResultContracts {
+ }
+
+ public static class ActivityResultContracts.CaptureVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
+ ctor public ActivityResultContracts.CaptureVideo();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
+ method public final Boolean parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(19) public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
+ ctor public ActivityResultContracts.CreateDocument();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
+ ctor public ActivityResultContracts.GetContent();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(18) public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
+ ctor public ActivityResultContracts.GetMultipleContents();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
+ method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(19) public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
+ ctor public ActivityResultContracts.OpenDocument();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(21) public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
+ ctor public ActivityResultContracts.OpenDocumentTree();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(19) public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
+ ctor public ActivityResultContracts.OpenMultipleDocuments();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
+ method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
+ ctor public ActivityResultContracts.PickContact();
+ method public android.content.Intent createIntent(android.content.Context, Void?);
+ method public android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
+ ctor public ActivityResultContracts.RequestMultiplePermissions();
+ method public android.content.Intent createIntent(android.content.Context, String![]);
+ method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
+ method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
+ field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
+ field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
+ field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
+ }
+
+ public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
+ ctor public ActivityResultContracts.RequestPermission();
+ method public android.content.Intent createIntent(android.content.Context, String);
+ method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
+ method public Boolean parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
+ ctor public ActivityResultContracts.StartActivityForResult();
+ method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
+ method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+ field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
+ }
+
+ public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
+ ctor public ActivityResultContracts.StartIntentSenderForResult();
+ method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
+ method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+ field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
+ field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
+ field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
+ }
+
+ public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
+ ctor public ActivityResultContracts.TakePicture();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
+ method public final Boolean parseResult(int, android.content.Intent?);
+ }
+
+ public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
+ ctor public ActivityResultContracts.TakePicturePreview();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
+ method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
+ }
+
+ @Deprecated public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
+ ctor @Deprecated public ActivityResultContracts.TakeVideo();
+ method @Deprecated @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
+ method @Deprecated public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
+ method @Deprecated public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
+ }
+
+}
+
diff --git a/activity/activity/api/public_plus_experimental_1.3.0-beta03.txt b/activity/activity/api/public_plus_experimental_1.3.0-beta03.txt
new file mode 100644
index 0000000..4d4be33
--- /dev/null
+++ b/activity/activity/api/public_plus_experimental_1.3.0-beta03.txt
@@ -0,0 +1,266 @@
+// Signature format: 4.0
+package androidx.activity {
+
+ public class ComponentActivity extends android.app.Activity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
+ ctor public ComponentActivity();
+ ctor @ContentView public ComponentActivity(@LayoutRes int);
+ method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
+ method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
+ method @Deprecated public Object? getLastCustomNonConfigurationInstance();
+ method public androidx.lifecycle.Lifecycle getLifecycle();
+ method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
+ method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
+ method public androidx.lifecycle.ViewModelStore getViewModelStore();
+ method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
+ method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
+ method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
+ method public final Object? onRetainNonConfigurationInstance();
+ method public android.content.Context? peekAvailableContext();
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method @Deprecated public void startActivityForResult(android.content.Intent!, int);
+ method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
+ method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
+ method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
+ }
+
+ public abstract class OnBackPressedCallback {
+ ctor public OnBackPressedCallback(boolean);
+ method @MainThread public abstract void handleOnBackPressed();
+ method @MainThread public final boolean isEnabled();
+ method @MainThread public final void remove();
+ method @MainThread public final void setEnabled(boolean);
+ }
+
+ public final class OnBackPressedDispatcher {
+ ctor public OnBackPressedDispatcher();
+ ctor public OnBackPressedDispatcher(Runnable?);
+ method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
+ method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
+ method @MainThread public boolean hasEnabledCallbacks();
+ method @MainThread public void onBackPressed();
+ }
+
+ public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
+ method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
+ }
+
+}
+
+package androidx.activity.contextaware {
+
+ public interface ContextAware {
+ method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method public android.content.Context? peekAvailableContext();
+ method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ }
+
+ public final class ContextAwareHelper {
+ ctor public ContextAwareHelper();
+ method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method public void clearAvailableContext();
+ method public void dispatchOnContextAvailable(android.content.Context);
+ method public android.content.Context? peekAvailableContext();
+ method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ }
+
+ public interface OnContextAvailableListener {
+ method public void onContextAvailable(android.content.Context);
+ }
+
+}
+
+package androidx.activity.result {
+
+ public final class ActivityResult implements android.os.Parcelable {
+ ctor public ActivityResult(int, android.content.Intent?);
+ method public int describeContents();
+ method public android.content.Intent? getData();
+ method public int getResultCode();
+ method public static String resultCodeToString(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
+ }
+
+ public interface ActivityResultCallback<O> {
+ method public void onActivityResult(O!);
+ }
+
+ public interface ActivityResultCaller {
+ method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
+ }
+
+ public abstract class ActivityResultLauncher<I> {
+ ctor public ActivityResultLauncher();
+ method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
+ method public void launch(I!);
+ method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
+ method @MainThread public abstract void unregister();
+ }
+
+ public abstract class ActivityResultRegistry {
+ ctor public ActivityResultRegistry();
+ method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
+ method @MainThread public final <O> boolean dispatchResult(int, O!);
+ method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
+ method public final void onRestoreInstanceState(android.os.Bundle?);
+ method public final void onSaveInstanceState(android.os.Bundle);
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ }
+
+ public interface ActivityResultRegistryOwner {
+ method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
+ }
+
+ public final class IntentSenderRequest implements android.os.Parcelable {
+ method public int describeContents();
+ method public android.content.Intent? getFillInIntent();
+ method public int getFlagsMask();
+ method public int getFlagsValues();
+ method public android.content.IntentSender getIntentSender();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
+ }
+
+ public static final class IntentSenderRequest.Builder {
+ ctor public IntentSenderRequest.Builder(android.content.IntentSender);
+ ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
+ method public androidx.activity.result.IntentSenderRequest build();
+ method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
+ method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
+ }
+
+}
+
+package androidx.activity.result.contract {
+
+ public abstract class ActivityResultContract<I, O> {
+ ctor public ActivityResultContract();
+ method public abstract android.content.Intent createIntent(android.content.Context, I!);
+ method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
+ method public abstract O! parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContract.SynchronousResult<T> {
+ ctor public ActivityResultContract.SynchronousResult(T!);
+ method public T! getValue();
+ }
+
+ public final class ActivityResultContracts {
+ }
+
+ public static class ActivityResultContracts.CaptureVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
+ ctor public ActivityResultContracts.CaptureVideo();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
+ method public final Boolean parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(19) public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
+ ctor public ActivityResultContracts.CreateDocument();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
+ ctor public ActivityResultContracts.GetContent();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(18) public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
+ ctor public ActivityResultContracts.GetMultipleContents();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
+ method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(19) public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
+ ctor public ActivityResultContracts.OpenDocument();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(21) public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
+ ctor public ActivityResultContracts.OpenDocumentTree();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(19) public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
+ ctor public ActivityResultContracts.OpenMultipleDocuments();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
+ method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
+ ctor public ActivityResultContracts.PickContact();
+ method public android.content.Intent createIntent(android.content.Context, Void?);
+ method public android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
+ ctor public ActivityResultContracts.RequestMultiplePermissions();
+ method public android.content.Intent createIntent(android.content.Context, String![]);
+ method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
+ method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
+ field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
+ field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
+ field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
+ }
+
+ public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
+ ctor public ActivityResultContracts.RequestPermission();
+ method public android.content.Intent createIntent(android.content.Context, String);
+ method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
+ method public Boolean parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
+ ctor public ActivityResultContracts.StartActivityForResult();
+ method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
+ method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+ field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
+ }
+
+ public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
+ ctor public ActivityResultContracts.StartIntentSenderForResult();
+ method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
+ method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+ field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
+ field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
+ field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
+ }
+
+ public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
+ ctor public ActivityResultContracts.TakePicture();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
+ method public final Boolean parseResult(int, android.content.Intent?);
+ }
+
+ public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
+ ctor public ActivityResultContracts.TakePicturePreview();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
+ method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
+ }
+
+ @Deprecated public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
+ ctor @Deprecated public ActivityResultContracts.TakeVideo();
+ method @Deprecated @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
+ method @Deprecated public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
+ method @Deprecated public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
+ }
+
+}
+
diff --git a/activity/activity/api/res-1.3.0-beta03.txt b/activity/activity/api/res-1.3.0-beta03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/activity/activity/api/res-1.3.0-beta03.txt
diff --git a/activity/activity/api/restricted_1.3.0-beta03.txt b/activity/activity/api/restricted_1.3.0-beta03.txt
new file mode 100644
index 0000000..5ae7716
--- /dev/null
+++ b/activity/activity/api/restricted_1.3.0-beta03.txt
@@ -0,0 +1,265 @@
+// Signature format: 4.0
+package androidx.activity {
+
+ public class ComponentActivity extends androidx.core.app.ComponentActivity implements androidx.activity.result.ActivityResultCaller androidx.activity.result.ActivityResultRegistryOwner androidx.activity.contextaware.ContextAware androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.activity.OnBackPressedDispatcherOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
+ ctor public ComponentActivity();
+ ctor @ContentView public ComponentActivity(@LayoutRes int);
+ method public final void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method public final androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
+ method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
+ method @Deprecated public Object? getLastCustomNonConfigurationInstance();
+ method public final androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
+ method public final androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
+ method public androidx.lifecycle.ViewModelStore getViewModelStore();
+ method @Deprecated @CallSuper protected void onActivityResult(int, int, android.content.Intent?);
+ method @Deprecated @CallSuper public void onRequestPermissionsResult(int, String![], int[]);
+ method @Deprecated public Object? onRetainCustomNonConfigurationInstance();
+ method public final Object? onRetainNonConfigurationInstance();
+ method public android.content.Context? peekAvailableContext();
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ method public final void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method @Deprecated public void startActivityForResult(android.content.Intent!, int);
+ method @Deprecated public void startActivityForResult(android.content.Intent!, int, android.os.Bundle?);
+ method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int) throws android.content.IntentSender.SendIntentException;
+ method @Deprecated public void startIntentSenderForResult(android.content.IntentSender!, int, android.content.Intent?, int, int, int, android.os.Bundle?) throws android.content.IntentSender.SendIntentException;
+ }
+
+ public abstract class OnBackPressedCallback {
+ ctor public OnBackPressedCallback(boolean);
+ method @MainThread public abstract void handleOnBackPressed();
+ method @MainThread public final boolean isEnabled();
+ method @MainThread public final void remove();
+ method @MainThread public final void setEnabled(boolean);
+ }
+
+ public final class OnBackPressedDispatcher {
+ ctor public OnBackPressedDispatcher();
+ ctor public OnBackPressedDispatcher(Runnable?);
+ method @MainThread public void addCallback(androidx.activity.OnBackPressedCallback);
+ method @MainThread public void addCallback(androidx.lifecycle.LifecycleOwner, androidx.activity.OnBackPressedCallback);
+ method @MainThread public boolean hasEnabledCallbacks();
+ method @MainThread public void onBackPressed();
+ }
+
+ public interface OnBackPressedDispatcherOwner extends androidx.lifecycle.LifecycleOwner {
+ method public androidx.activity.OnBackPressedDispatcher getOnBackPressedDispatcher();
+ }
+
+}
+
+package androidx.activity.contextaware {
+
+ public interface ContextAware {
+ method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method public android.content.Context? peekAvailableContext();
+ method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ }
+
+ public final class ContextAwareHelper {
+ ctor public ContextAwareHelper();
+ method public void addOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ method public void clearAvailableContext();
+ method public void dispatchOnContextAvailable(android.content.Context);
+ method public android.content.Context? peekAvailableContext();
+ method public void removeOnContextAvailableListener(androidx.activity.contextaware.OnContextAvailableListener);
+ }
+
+ public interface OnContextAvailableListener {
+ method public void onContextAvailable(android.content.Context);
+ }
+
+}
+
+package androidx.activity.result {
+
+ public final class ActivityResult implements android.os.Parcelable {
+ ctor public ActivityResult(int, android.content.Intent?);
+ method public int describeContents();
+ method public android.content.Intent? getData();
+ method public int getResultCode();
+ method public static String resultCodeToString(int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<androidx.activity.result.ActivityResult!> CREATOR;
+ }
+
+ public interface ActivityResultCallback<O> {
+ method public void onActivityResult(O!);
+ }
+
+ public interface ActivityResultCaller {
+ method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ method public <I, O> androidx.activity.result.ActivityResultLauncher<I!> registerForActivityResult(androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultRegistry, androidx.activity.result.ActivityResultCallback<O!>);
+ }
+
+ public abstract class ActivityResultLauncher<I> {
+ ctor public ActivityResultLauncher();
+ method public abstract androidx.activity.result.contract.ActivityResultContract<I!,?> getContract();
+ method public void launch(I!);
+ method public abstract void launch(I!, androidx.core.app.ActivityOptionsCompat?);
+ method @MainThread public abstract void unregister();
+ }
+
+ public abstract class ActivityResultRegistry {
+ ctor public ActivityResultRegistry();
+ method @MainThread public final boolean dispatchResult(int, int, android.content.Intent?);
+ method @MainThread public final <O> boolean dispatchResult(int, O!);
+ method @MainThread public abstract <I, O> void onLaunch(int, androidx.activity.result.contract.ActivityResultContract<I!,O!>, I!, androidx.core.app.ActivityOptionsCompat?);
+ method public final void onRestoreInstanceState(android.os.Bundle?);
+ method public final void onSaveInstanceState(android.os.Bundle);
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.lifecycle.LifecycleOwner, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ method public final <I, O> androidx.activity.result.ActivityResultLauncher<I!> register(String, androidx.activity.result.contract.ActivityResultContract<I!,O!>, androidx.activity.result.ActivityResultCallback<O!>);
+ }
+
+ public interface ActivityResultRegistryOwner {
+ method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
+ }
+
+ public final class IntentSenderRequest implements android.os.Parcelable {
+ method public int describeContents();
+ method public android.content.Intent? getFillInIntent();
+ method public int getFlagsMask();
+ method public int getFlagsValues();
+ method public android.content.IntentSender getIntentSender();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
+ }
+
+ public static final class IntentSenderRequest.Builder {
+ ctor public IntentSenderRequest.Builder(android.content.IntentSender);
+ ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
+ method public androidx.activity.result.IntentSenderRequest build();
+ method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
+ method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
+ }
+
+}
+
+package androidx.activity.result.contract {
+
+ public abstract class ActivityResultContract<I, O> {
+ ctor public ActivityResultContract();
+ method public abstract android.content.Intent createIntent(android.content.Context, I!);
+ method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<O!>? getSynchronousResult(android.content.Context, I!);
+ method public abstract O! parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContract.SynchronousResult<T> {
+ ctor public ActivityResultContract.SynchronousResult(T!);
+ method public T! getValue();
+ }
+
+ public final class ActivityResultContracts {
+ }
+
+ public static class ActivityResultContracts.CaptureVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
+ ctor public ActivityResultContracts.CaptureVideo();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
+ method public final Boolean parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(19) public static class ActivityResultContracts.CreateDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
+ ctor public ActivityResultContracts.CreateDocument();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ public static class ActivityResultContracts.GetContent extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,android.net.Uri> {
+ ctor public ActivityResultContracts.GetContent();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(18) public static class ActivityResultContracts.GetMultipleContents extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.util.List<android.net.Uri>> {
+ ctor public ActivityResultContracts.GetMultipleContents();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String);
+ method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(19) public static class ActivityResultContracts.OpenDocument extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],android.net.Uri> {
+ ctor public ActivityResultContracts.OpenDocument();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, String![]);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(21) public static class ActivityResultContracts.OpenDocumentTree extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.net.Uri> {
+ ctor public ActivityResultContracts.OpenDocumentTree();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri?);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.net.Uri!>? getSynchronousResult(android.content.Context, android.net.Uri?);
+ method public final android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ @RequiresApi(19) public static class ActivityResultContracts.OpenMultipleDocuments extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.List<android.net.Uri>> {
+ ctor public ActivityResultContracts.OpenMultipleDocuments();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, String![]);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.List<android.net.Uri!>!>? getSynchronousResult(android.content.Context, String![]);
+ method public final java.util.List<android.net.Uri!> parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContracts.PickContact extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.net.Uri> {
+ ctor public ActivityResultContracts.PickContact();
+ method public android.content.Intent createIntent(android.content.Context, Void?);
+ method public android.net.Uri? parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContracts.RequestMultiplePermissions extends androidx.activity.result.contract.ActivityResultContract<java.lang.String[],java.util.Map<java.lang.String,java.lang.Boolean>> {
+ ctor public ActivityResultContracts.RequestMultiplePermissions();
+ method public android.content.Intent createIntent(android.content.Context, String![]);
+ method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.util.Map<java.lang.String!,java.lang.Boolean!>!>? getSynchronousResult(android.content.Context, String![]?);
+ method public java.util.Map<java.lang.String!,java.lang.Boolean!> parseResult(int, android.content.Intent?);
+ field public static final String ACTION_REQUEST_PERMISSIONS = "androidx.activity.result.contract.action.REQUEST_PERMISSIONS";
+ field public static final String EXTRA_PERMISSIONS = "androidx.activity.result.contract.extra.PERMISSIONS";
+ field public static final String EXTRA_PERMISSION_GRANT_RESULTS = "androidx.activity.result.contract.extra.PERMISSION_GRANT_RESULTS";
+ }
+
+ public static final class ActivityResultContracts.RequestPermission extends androidx.activity.result.contract.ActivityResultContract<java.lang.String,java.lang.Boolean> {
+ ctor public ActivityResultContracts.RequestPermission();
+ method public android.content.Intent createIntent(android.content.Context, String);
+ method public androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, String?);
+ method public Boolean parseResult(int, android.content.Intent?);
+ }
+
+ public static final class ActivityResultContracts.StartActivityForResult extends androidx.activity.result.contract.ActivityResultContract<android.content.Intent,androidx.activity.result.ActivityResult> {
+ ctor public ActivityResultContracts.StartActivityForResult();
+ method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
+ method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+ field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
+ }
+
+ public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
+ ctor public ActivityResultContracts.StartIntentSenderForResult();
+ method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
+ method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+ field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
+ field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
+ field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
+ }
+
+ public static class ActivityResultContracts.TakePicture extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,java.lang.Boolean> {
+ ctor public ActivityResultContracts.TakePicture();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<java.lang.Boolean!>? getSynchronousResult(android.content.Context, android.net.Uri);
+ method public final Boolean parseResult(int, android.content.Intent?);
+ }
+
+ public static class ActivityResultContracts.TakePicturePreview extends androidx.activity.result.contract.ActivityResultContract<java.lang.Void,android.graphics.Bitmap> {
+ ctor public ActivityResultContracts.TakePicturePreview();
+ method @CallSuper public android.content.Intent createIntent(android.content.Context, Void?);
+ method public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, Void?);
+ method public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
+ }
+
+ @Deprecated public static class ActivityResultContracts.TakeVideo extends androidx.activity.result.contract.ActivityResultContract<android.net.Uri,android.graphics.Bitmap> {
+ ctor @Deprecated public ActivityResultContracts.TakeVideo();
+ method @Deprecated @CallSuper public android.content.Intent createIntent(android.content.Context, android.net.Uri);
+ method @Deprecated public final androidx.activity.result.contract.ActivityResultContract.SynchronousResult<android.graphics.Bitmap!>? getSynchronousResult(android.content.Context, android.net.Uri);
+ method @Deprecated public final android.graphics.Bitmap? parseResult(int, android.content.Intent?);
+ }
+
+}
+
diff --git a/activity/settings.gradle b/activity/settings.gradle
index 94d2b98..d4050df 100644
--- a/activity/settings.gradle
+++ b/activity/settings.gradle
@@ -22,10 +22,7 @@
if (name.startsWith(":activity")) return true
if (name == ":annotation:annotation-sampled") return true
if (name == ":internal-testutils-runtime") return true
- if (name == ":compose:lint:common") return true
- if (name == ":compose:lint:internal-lint-checks") return true
- if (name == ":compose:test-utils") return true
- if (name == ":test-screenshot") return true
+ if (isNeededForComposePlayground(name)) return true
return false
})
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseImageViewTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseImageViewTest.java
index 18f7ef7..44ce501 100755
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseImageViewTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatBaseImageViewTest.java
@@ -20,6 +20,8 @@
import static androidx.test.espresso.Espresso.onView;
import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static org.junit.Assert.assertEquals;
+
import android.content.res.ColorStateList;
import android.content.res.Resources;
import android.graphics.PorterDuff;
@@ -35,6 +37,7 @@
import androidx.appcompat.testutils.TestUtils;
import androidx.core.content.res.ResourcesCompat;
import androidx.core.graphics.ColorUtils;
+import androidx.test.annotation.UiThreadTest;
import androidx.test.filters.MediumTest;
import org.junit.Test;
@@ -459,4 +462,30 @@
verifyImageSourceIsColoredAs("New lilac image tinting", view,
lilacDefault, 0);
}
+
+ @Test
+ @UiThreadTest
+ public void testLevelOnSetImageDrawable() {
+ final @IdRes int viewId = R.id.view_without_level;
+ final Resources res = mActivity.getResources();
+ final ImageView imageView = mContainer.findViewById(viewId);
+ final Drawable drawable = res.getDrawable(R.drawable.test_level_drawable);
+ drawable.setLevel(5);
+ imageView.setImageDrawable(drawable);
+ assertEquals(5, imageView.getDrawable().getLevel());
+ }
+
+ @Test
+ @UiThreadTest
+ public void testSetImageLevel() {
+ final @IdRes int viewId = R.id.view_without_level;
+ final Resources res = mActivity.getResources();
+ final ImageView imageView = mContainer.findViewById(viewId);
+ imageView.setImageLevel(5);
+ final Drawable drawable = res.getDrawable(R.drawable.test_level_drawable);
+ drawable.setLevel(1);
+ imageView.setImageDrawable(drawable);
+ assertEquals(5, imageView.getDrawable().getLevel());
+ }
+
}
diff --git a/appcompat/appcompat/src/androidTest/res/layout/appcompat_imagebutton_activity.xml b/appcompat/appcompat/src/androidTest/res/layout/appcompat_imagebutton_activity.xml
index e8733b2..3007988 100755
--- a/appcompat/appcompat/src/androidTest/res/layout/appcompat_imagebutton_activity.xml
+++ b/appcompat/appcompat/src/androidTest/res/layout/appcompat_imagebutton_activity.xml
@@ -96,6 +96,11 @@
android:layout_height="wrap_content"
android:focusable="false"/>
+ <androidx.appcompat.widget.AppCompatImageButton
+ android:id="@+id/view_without_level"
+ android:layout_width="30dp"
+ android:layout_height="30dp" />
+
</LinearLayout>
</ScrollView>
diff --git a/appcompat/appcompat/src/androidTest/res/layout/appcompat_imageview_activity.xml b/appcompat/appcompat/src/androidTest/res/layout/appcompat_imageview_activity.xml
index 2ccd325..fbb8459 100644
--- a/appcompat/appcompat/src/androidTest/res/layout/appcompat_imageview_activity.xml
+++ b/appcompat/appcompat/src/androidTest/res/layout/appcompat_imageview_activity.xml
@@ -95,6 +95,11 @@
android:src="@drawable/test_drawable_blue"
app:srcCompat="@drawable/test_drawable_red" />
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/view_without_level"
+ android:layout_width="30dp"
+ android:layout_height="30dp" />
+
</LinearLayout>
</ScrollView>
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageButton.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageButton.java
index 1ea6667..39072be 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageButton.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageButton.java
@@ -63,6 +63,7 @@
private final AppCompatBackgroundHelper mBackgroundTintHelper;
private final AppCompatImageHelper mImageHelper;
+ private boolean mHasLevel = false;
public AppCompatImageButton(@NonNull Context context) {
this(context, null);
@@ -93,9 +94,17 @@
@Override
public void setImageDrawable(@Nullable Drawable drawable) {
+ if (mImageHelper != null && drawable != null && !mHasLevel) {
+ // If there is no level set already then obtain the level from the drawable
+ mImageHelper.obtainLevelFromDrawable(drawable);
+ }
super.setImageDrawable(drawable);
if (mImageHelper != null) {
mImageHelper.applySupportImageTint();
+ if (!mHasLevel) {
+ // Apply the level from drawable
+ mImageHelper.applyImageLevel();
+ }
}
}
@@ -257,4 +266,10 @@
public boolean hasOverlappingRendering() {
return mImageHelper.hasOverlappingRendering() && super.hasOverlappingRendering();
}
+
+ @Override
+ public void setImageLevel(int level) {
+ super.setImageLevel(level);
+ mHasLevel = true;
+ }
}
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageHelper.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageHelper.java
index 27e9118..0c7a123 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageHelper.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageHelper.java
@@ -43,6 +43,7 @@
private TintInfo mInternalImageTint;
private TintInfo mImageTint;
private TintInfo mTmpInfo;
+ private int mLevel = 0;
public AppCompatImageHelper(@NonNull ImageView view) {
mView = view;
@@ -221,4 +222,21 @@
return false;
}
+
+ /**
+ * Extracts the level from the drawable parameter and save it for the future use in
+ * {@link #applyImageLevel()}
+ */
+ void obtainLevelFromDrawable(@NonNull Drawable drawable) {
+ mLevel = drawable.getLevel();
+ }
+
+ /**
+ * Applies the level previously set through {@link #obtainLevelFromDrawable}
+ */
+ void applyImageLevel() {
+ if (mView.getDrawable() != null) {
+ mView.getDrawable().setLevel(mLevel);
+ }
+ }
}
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageView.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageView.java
index c5bf0f8..78ffeb4 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageView.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatImageView.java
@@ -63,6 +63,8 @@
private final AppCompatBackgroundHelper mBackgroundTintHelper;
private final AppCompatImageHelper mImageHelper;
+ private boolean mHasLevel = false;
+
public AppCompatImageView(@NonNull Context context) {
this(context, null);
}
@@ -103,9 +105,17 @@
@Override
public void setImageDrawable(@Nullable Drawable drawable) {
+ if (mImageHelper != null && drawable != null && !mHasLevel) {
+ // If there is no level set already then obtain the level from the drawable
+ mImageHelper.obtainLevelFromDrawable(drawable);
+ }
super.setImageDrawable(drawable);
if (mImageHelper != null) {
mImageHelper.applySupportImageTint();
+ if (!mHasLevel) {
+ // Apply the level from drawable
+ mImageHelper.applyImageLevel();
+ }
}
}
@@ -268,4 +278,10 @@
public boolean hasOverlappingRendering() {
return mImageHelper.hasOverlappingRendering() && super.hasOverlappingRendering();
}
+
+ @Override
+ public void setImageLevel(int level) {
+ super.setImageLevel(level);
+ mHasLevel = true;
+ }
}
diff --git a/appcompat/appcompat/src/main/res/drawable/test_level_drawable.xml b/appcompat/appcompat/src/main/res/drawable/test_level_drawable.xml
new file mode 100644
index 0000000..41dadfd
--- /dev/null
+++ b/appcompat/appcompat/src/main/res/drawable/test_level_drawable.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?><!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="@color/primary_dark_material_dark"/>
+ <corners android:radius="10dp"/>
+</shape>
\ No newline at end of file
diff --git a/appcompat/appcompat/src/main/res/values-or/strings.xml b/appcompat/appcompat/src/main/res/values-or/strings.xml
index 6f29662..edb0e65 100644
--- a/appcompat/appcompat/src/main/res/values-or/strings.xml
+++ b/appcompat/appcompat/src/main/res/values-or/strings.xml
@@ -31,7 +31,7 @@
<string name="abc_activity_chooser_view_see_all" msgid="1189761859438369441">"ସବୁ ଦେଖନ୍ତୁ"</string>
<string name="abc_shareactionprovider_share_with_application" msgid="9055268688411532828">"<xliff:g id="APPLICATION_NAME">%s</xliff:g> ସହ ସେୟାର୍ କରନ୍ତୁ"</string>
<string name="abc_shareactionprovider_share_with" msgid="8875138169939072951">"ଏହାଙ୍କ ସହ ସେୟାର୍ କରନ୍ତୁ"</string>
- <string name="abc_capital_on" msgid="884982626291842264">"ଅନ୍"</string>
+ <string name="abc_capital_on" msgid="884982626291842264">"ଚାଲୁ ଅଛି"</string>
<string name="abc_capital_off" msgid="4215997306490295099">"ବନ୍ଦ"</string>
<string name="search_menu_title" msgid="6264217191555673260">"Search"</string>
<string name="abc_prepend_shortcut_label" msgid="5520303668377388990">"ମେନୁ"</string>
@@ -43,5 +43,5 @@
<string name="abc_menu_function_shortcut_label" msgid="375214403600139847">"Function+"</string>
<string name="abc_menu_space_shortcut_label" msgid="5473865519181928982">"ସ୍ପେସ୍"</string>
<string name="abc_menu_enter_shortcut_label" msgid="7986526966204849475">"ଏଣ୍ଟର୍"</string>
- <string name="abc_menu_delete_shortcut_label" msgid="838001238306846836">"ଡିଲିଟ୍"</string>
+ <string name="abc_menu_delete_shortcut_label" msgid="838001238306846836">"ଡିଲିଟ୍ କରନ୍ତୁ"</string>
</resources>
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
index 5f58c68..3550a72 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -20,7 +20,7 @@
* The list of versions codes of all the libraries in this project.
*/
object LibraryVersions {
- val ACTIVITY = Version("1.3.0-beta02")
+ val ACTIVITY = Version("1.3.0-beta03")
val ADS_IDENTIFIER = Version("1.0.0-alpha05")
val ANNOTATION = Version("1.3.0-alpha01")
val ANNOTATION_EXPERIMENTAL = Version("1.2.0-alpha01")
@@ -31,7 +31,7 @@
val ARCH_RUNTIME = Version("2.2.0-alpha01")
val ASYNCLAYOUTINFLATER = Version("1.1.0-alpha01")
val AUTOFILL = Version("1.2.0-alpha02")
- val BENCHMARK = Version("1.1.0-alpha03")
+ val BENCHMARK = Version("1.1.0-alpha04")
val BIOMETRIC = Version("1.2.0-alpha03")
val BROWSER = Version("1.4.0-alpha01")
val BUILDSRC_TESTS = Version("1.0.0-alpha01")
@@ -41,12 +41,12 @@
val CAMERA_VIDEO = Version("1.0.0-alpha01")
val CAMERA_VIEW = Version("1.0.0-alpha26")
val CARDVIEW = Version("1.1.0-alpha01")
- val CAR_APP = Version("1.1.0-alpha01")
+ val CAR_APP = Version("1.1.0-alpha02")
// Pre-release before confirming to the same version as the rest of the CAR_APP library group.
val CAR_APP_PRE_RELEASE = Version("1.0.0-alpha01")
val COLLECTION = Version("1.2.0-alpha02")
val CONTENTPAGER = Version("1.1.0-alpha01")
- val COMPOSE = Version(System.getenv("COMPOSE_CUSTOM_VERSION") ?: "1.0.0-beta09")
+ val COMPOSE = Version(System.getenv("COMPOSE_CUSTOM_VERSION") ?: "1.0.0-beta10")
val COORDINATORLAYOUT = Version("1.2.0-alpha01")
val CORE = Version("1.7.0-alpha01")
val CORE_ANIMATION = Version("1.0.0-alpha03")
@@ -56,7 +56,7 @@
val CORE_ROLE = Version("1.1.0-alpha02")
val CURSORADAPTER = Version("1.1.0-alpha01")
val CUSTOMVIEW = Version("1.2.0-alpha01")
- val DATASTORE = Version("1.0.0-beta02")
+ val DATASTORE = Version("1.0.0-beta03")
val DOCUMENTFILE = Version("1.1.0-alpha01")
val DRAWERLAYOUT = Version("1.2.0-alpha01")
val DYNAMICANIMATION = Version("1.1.0-alpha04")
@@ -65,13 +65,13 @@
val EMOJI2 = Version("1.0.0-alpha03")
val ENTERPRISE = Version("1.1.0-rc01")
val EXIFINTERFACE = Version("1.4.0-alpha01")
- val FRAGMENT = Version("1.4.0-alpha03")
+ val FRAGMENT = Version("1.4.0-alpha04")
val FUTURES = Version("1.2.0-alpha01")
val GRIDLAYOUT = Version("1.1.0-alpha01")
val HEALTH_SERVICES_CLIENT = Version("1.0.0-alpha02")
val HEIFWRITER = Version("1.1.0-alpha02")
val HILT = Version("1.1.0-alpha01")
- val HILT_NAVIGATION_COMPOSE = Version("1.0.0-alpha03")
+ val HILT_NAVIGATION_COMPOSE = Version("1.0.0-alpha04")
val INSPECTION = Version("1.0.0")
val INTERPOLATOR = Version("1.1.0-alpha01")
val JETIFIER = Version("1.0.0-beta11")
@@ -81,27 +81,27 @@
val LEANBACK_TAB = Version("1.1.0-beta01")
val LEGACY = Version("1.1.0-alpha01")
val LOCALBROADCASTMANAGER = Version("1.1.0-alpha02")
- val LIFECYCLE = Version("2.4.0-alpha02")
- val LIFECYCLE_VIEWMODEL_COMPOSE = Version("1.0.0-alpha07")
+ val LIFECYCLE = Version("2.4.0-alpha03")
+ val LIFECYCLE_VIEWMODEL_COMPOSE = Version("1.0.0-alpha08")
val LIFECYCLE_EXTENSIONS = Version("2.2.0")
val LOADER = Version("1.2.0-alpha01")
- val MEDIA = Version("1.4.0-alpha02")
+ val MEDIA = Version("1.4.0-beta01")
val MEDIA2 = Version("1.2.0-alpha02")
val MEDIAROUTER = Version("1.3.0-alpha02")
- val NAVIGATION = Version("2.4.0-alpha03")
+ val NAVIGATION = Version("2.4.0-alpha04")
val PAGING = Version("3.1.0-alpha02")
val PAGING_COMPOSE = Version("1.0.0-alpha11")
val PALETTE = Version("1.1.0-alpha01")
val PRINT = Version("1.1.0-beta01")
val PERCENTLAYOUT = Version("1.1.0-alpha01")
val PREFERENCE = Version("1.2.0-alpha01")
- val PROFILEINSTALLER = Version("1.0.0-beta01")
+ val PROFILEINSTALLER = Version("1.0.0-beta02")
val RECOMMENDATION = Version("1.1.0-alpha01")
val RECYCLERVIEW = Version("1.3.0-alpha01")
val RECYCLERVIEW_SELECTION = Version("1.2.0-alpha02")
val REMOTECALLBACK = Version("1.0.0-alpha02")
val RESOURCEINSPECTION = Version("1.0.0-alpha03")
- val ROOM = Version("2.4.0-alpha03")
+ val ROOM = Version("2.4.0-alpha04")
val SAVEDSTATE = Version("1.2.0-alpha01")
val SECURITY = Version("1.1.0-alpha04")
val SECURITY_APP_AUTHENTICATOR = Version("1.0.0-alpha03")
@@ -115,7 +115,7 @@
val SLICE_REMOTECALLBACK = Version("1.0.0-alpha01")
val SLIDINGPANELAYOUT = Version("1.2.0-alpha03")
val STARTUP = Version("1.1.0-rc01")
- val SQLITE = Version("2.2.0-alpha01")
+ val SQLITE = Version("2.2.0-alpha02")
val SQLITE_INSPECTOR = Version("2.1.0-alpha01")
val SWIPEREFRESHLAYOUT = Version("1.2.0-alpha01")
val TESTSCREENSHOT = Version("1.0.0-alpha01")
@@ -131,25 +131,25 @@
val VIEWPAGER = Version("1.1.0-alpha01")
val VIEWPAGER2 = Version("1.1.0-alpha02")
val WEAR = Version("1.2.0-alpha11")
- val WEAR_COMPLICATIONS_DATA = Version("1.0.0-alpha16")
- val WEAR_COMPLICATIONS_PROVIDER = Version("1.0.0-alpha16")
+ val WEAR_COMPLICATIONS_DATA = Version("1.0.0-alpha17")
+ val WEAR_COMPLICATIONS_PROVIDER = Version("1.0.0-alpha17")
val WEAR_COMPOSE = Version("1.0.0-alpha01")
val WEAR_INPUT = Version("1.1.0-alpha03")
val WEAR_INPUT_TESTING = WEAR_INPUT
- val WEAR_ONGOING = Version("1.0.0-alpha07")
+ val WEAR_ONGOING = Version("1.0.0-alpha08")
val WEAR_PHONE_INTERACTIONS = Version("1.0.0-alpha05")
val WEAR_REMOTE_INTERACTIONS = Version("1.0.0-alpha04")
- val WEAR_TILES = Version("1.0.0-alpha07")
- val WEAR_WATCHFACE = Version("1.0.0-alpha16")
- val WEAR_WATCHFACE_CLIENT = Version("1.0.0-alpha16")
+ val WEAR_TILES = Version("1.0.0-alpha08")
+ val WEAR_WATCHFACE = Version("1.0.0-alpha17")
+ val WEAR_WATCHFACE_CLIENT = Version("1.0.0-alpha17")
val WEAR_WATCHFACE_CLIENT_GUAVA = WEAR_WATCHFACE_CLIENT
- val WEAR_WATCHFACE_COMPLICATIONS_RENDERING = Version("1.0.0-alpha16")
- val WEAR_WATCHFACE_DATA = Version("1.0.0-alpha16")
- val WEAR_WATCHFACE_EDITOR = Version("1.0.0-alpha16")
+ val WEAR_WATCHFACE_COMPLICATIONS_RENDERING = Version("1.0.0-alpha17")
+ val WEAR_WATCHFACE_DATA = Version("1.0.0-alpha17")
+ val WEAR_WATCHFACE_EDITOR = Version("1.0.0-alpha17")
val WEAR_WATCHFACE_EDITOR_GUAVA = WEAR_WATCHFACE_EDITOR
- val WEAR_WATCHFACE_STYLE = Version("1.0.0-alpha16")
+ val WEAR_WATCHFACE_STYLE = Version("1.0.0-alpha17")
val WEBKIT = Version("1.5.0-alpha01")
- val WINDOW = Version("1.0.0-alpha08")
+ val WINDOW = Version("1.0.0-alpha09")
val WINDOW_EXTENSIONS = Version("1.0.0-alpha01")
val WINDOW_SIDECAR = Version("0.1.0-alpha01")
val WORK = Version("2.6.0-beta01")
diff --git a/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/AffectedModuleDetector.kt b/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/AffectedModuleDetector.kt
index 147c312..738c8e6 100644
--- a/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/AffectedModuleDetector.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/AffectedModuleDetector.kt
@@ -99,14 +99,9 @@
setInstance(rootProject, AcceptAll())
return
}
- val logger = ToStringLogger.createWithLifecycle(gradle) { log ->
- val distDir = rootProject.getDistributionDirectory()
- distDir.let {
- val outputFile = it.resolve(LOG_FILE_NAME)
- outputFile.writeText(log)
- println("wrote dependency log to ${outputFile.absolutePath}")
- }
- }
+ val distDir = rootProject.getDistributionDirectory()
+ val outputFile = distDir.resolve(LOG_FILE_NAME)
+ val logger = FileLogger(outputFile)
logger.info("setup: enabled: $enabled")
val baseCommitOverride: String? = rootProject.findProperty(BASE_COMMIT_ARG) as String?
if (baseCommitOverride != null) {
diff --git a/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/FileLogger.kt b/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/FileLogger.kt
new file mode 100644
index 0000000..8d61e42
--- /dev/null
+++ b/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/FileLogger.kt
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.build.dependencyTracker
+
+import org.gradle.api.logging.LogLevel
+import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger
+import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext
+import org.gradle.internal.time.Clock
+
+import java.io.File
+
+/**
+ * Gradle logger that logs to a file
+ */
+class FileLogger(
+ val file: File
+) : OutputEventListenerBackedLogger(
+ "my_logger",
+ OutputEventListenerBackedLoggerContext(
+ Clock {
+ System.currentTimeMillis()
+ }
+ ).also {
+ file.writeText("")
+ it.level = LogLevel.DEBUG
+ it.setOutputEventListener {
+ file.appendText(it.toString() + "\n")
+ }
+ },
+ Clock {
+ System.currentTimeMillis()
+ }
+)
diff --git a/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/ToStringLogger.kt b/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/ToStringLogger.kt
index eb0d0e0..b1546c2 100644
--- a/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/ToStringLogger.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/dependencyTracker/ToStringLogger.kt
@@ -16,11 +16,7 @@
package androidx.build.dependencyTracker
-import org.gradle.BuildAdapter
-import org.gradle.BuildResult
-import org.gradle.api.invocation.Gradle
import org.gradle.api.logging.LogLevel
-import org.gradle.api.logging.Logger
import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLogger
import org.gradle.internal.logging.slf4j.OutputEventListenerBackedLoggerContext
import org.gradle.internal.time.Clock
@@ -50,19 +46,4 @@
* Returns the current log.
*/
fun buildString() = stringBuilder.toString()
-
- companion object {
- fun createWithLifecycle(
- gradle: Gradle,
- onComplete: (String) -> Unit
- ): Logger {
- val logger = ToStringLogger()
- gradle.addBuildListener(object : BuildAdapter() {
- override fun buildFinished(result: BuildResult?) {
- onComplete(logger.buildString())
- }
- })
- return logger
- }
- }
}
diff --git a/buildSrc/src/main/kotlin/androidx/build/docs/AndroidXDocsPlugin.kt b/buildSrc/src/main/kotlin/androidx/build/docs/AndroidXDocsPlugin.kt
index 7069810..bacc7dc 100644
--- a/buildSrc/src/main/kotlin/androidx/build/docs/AndroidXDocsPlugin.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/docs/AndroidXDocsPlugin.kt
@@ -574,7 +574,8 @@
"androidx/navigation/**",
"androidx/paging/**",
"androidx/room/**",
- "androidx/window/**"
+ "androidx/window/**",
+ "androidx/work/**"
)
private val hiddenPackages = listOf(
diff --git a/busytown/androidx_incremental.sh b/busytown/androidx_incremental.sh
index f58af59..112ecef 100755
--- a/busytown/androidx_incremental.sh
+++ b/busytown/androidx_incremental.sh
@@ -33,20 +33,26 @@
function zipKotlinMetadata() {
zipFile=kotlinMetadata.zip
echo "zipping kotlin metadata"
- (cd $OUT_DIR && find -name "*kotlin_module" | xargs zip "$DIST_DIR/$zipFile")
+ rm -f "$DIST_DIR/$zipFile"
+ (cd $OUT_DIR && find -name "*kotlin_module" | xargs zip -u "$DIST_DIR/$zipFile")
echo done zipping kotlin metadata
}
# Run Gradle
+EXIT_VALUE=0
if impl/build.sh buildOnServer checkExternalLicenses listTaskOutputs validateAllProperties \
--profile "$@"; then
echo build succeeded
+ EXIT_VALUE=0
else
zipKotlinMetadata
echo build failed
+ EXIT_VALUE=1
fi
# Parse performance profile reports (generated with the --profile option above) and re-export the metrics in an easily machine-readable format for tracking
impl/parse_profile_htmls.sh
echo "Completing $0 at $(date)"
+
+exit "$EXIT_VALUE"
diff --git a/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt b/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
index c050787..1ecede9 100644
--- a/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
+++ b/camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
@@ -47,7 +47,6 @@
import androidx.test.rule.GrantPermissionRule
import androidx.testutils.assertThrows
import com.google.common.truth.Truth.assertThat
-import com.nhaarman.mockitokotlin2.clearInvocations
import org.junit.After
import org.junit.Assume.assumeFalse
import org.junit.Assume.assumeNoException
@@ -61,6 +60,7 @@
import org.mockito.ArgumentMatchers.any
import org.mockito.ArgumentMatchers.eq
import org.mockito.Mockito.atLeastOnce
+import org.mockito.Mockito.clearInvocations
import org.mockito.Mockito.inOrder
import org.mockito.Mockito.mock
import org.mockito.Mockito.timeout
@@ -151,10 +151,6 @@
@After
fun tearDown() {
- if (this::recorder.isInitialized) {
- recorder.release()
- }
-
if (this::cameraUseCaseAdapter.isInitialized) {
instrumentation.runOnMainSync {
cameraUseCaseAdapter.removeUseCases(cameraUseCaseAdapter.useCases)
@@ -187,7 +183,7 @@
activeRecording.stop()
- verify(videoRecordEventListener, timeout(1000L))
+ inOrder.verify(videoRecordEventListener, timeout(1000L))
.accept(any(VideoRecordEvent.Finalize::class.java))
checkFileHasAudioAndVideo(Uri.fromFile(file))
@@ -274,7 +270,7 @@
activeRecording.stop()
- verify(videoRecordEventListener, timeout(1000L))
+ inOrder.verify(videoRecordEventListener, timeout(1000L))
.accept(any(VideoRecordEvent.Finalize::class.java))
checkFileHasAudioAndVideo(Uri.fromFile(file))
@@ -319,13 +315,12 @@
activeRecording.pause()
- verify(videoRecordEventListener, timeout(1000L))
+ val inOrder = inOrder(videoRecordEventListener)
+ inOrder.verify(videoRecordEventListener, timeout(1000L))
.accept(any(VideoRecordEvent.Pause::class.java))
activeRecording.resume()
- clearInvocations(videoRecordEventListener)
- val inOrder = inOrder(videoRecordEventListener)
inOrder.verify(videoRecordEventListener, timeout(1000L))
.accept(any(VideoRecordEvent.Resume::class.java))
// Check there are data being encoded after resuming.
@@ -335,7 +330,7 @@
activeRecording.stop()
// Wait for the recording to be finalized.
- verify(videoRecordEventListener, timeout(1000L))
+ inOrder.verify(videoRecordEventListener, timeout(1000L))
.accept(any(VideoRecordEvent.Finalize::class.java))
checkFileHasAudioAndVideo(Uri.fromFile(file))
@@ -436,6 +431,7 @@
verify(streamStateObserver, timeout(1000L)).onNewData(eq(VideoOutput.StreamState.ACTIVE))
activeRecording.stop()
+
verify(streamStateObserver, timeout(1000L)).onNewData(eq(VideoOutput.StreamState.INACTIVE))
file.delete()
@@ -481,12 +477,63 @@
.accept(any(VideoRecordEvent.Status::class.java))
activeRecording.stop()
+ // Wait for the recording to be finalized.
+ inOrder.verify(videoRecordEventListener, timeout(1000L))
+ .accept(any(VideoRecordEvent.Finalize::class.java))
+ file.delete()
+ }
+
+ @Test
+ fun pause_beforeSurfaceRequested() {
+ clearInvocations(videoRecordEventListener)
+ val file = File.createTempFile("CameraX", ".tmp").apply { deleteOnExit() }
+ val outputOptions = FileOutputOptions.builder().setFile(file).build()
+
+ val pendingRecording = recorder.prepareRecording(outputOptions)
+ pendingRecording.withEventListener(
+ CameraXExecutors.directExecutor(),
+ videoRecordEventListener
+ )
+
+ val activeRecording = pendingRecording.start()
+ activeRecording.pause()
+
+ invokeSurfaceRequest()
+
+ val inOrder = inOrder(videoRecordEventListener)
+ inOrder.verify(videoRecordEventListener, timeout(1000L))
+ .accept(any(VideoRecordEvent.Start::class.java))
+ inOrder.verify(videoRecordEventListener, timeout(1000L))
+ .accept(any(VideoRecordEvent.Pause::class.java))
+
+ activeRecording.stop()
+ // Wait for the recording to be finalized.
+ inOrder.verify(videoRecordEventListener, timeout(1000L))
+ .accept(any(VideoRecordEvent.Finalize::class.java))
+ file.delete()
+ }
+
+ @Test
+ fun stop_beforeSurfaceRequested() {
+ clearInvocations(videoRecordEventListener)
+ val file = File.createTempFile("CameraX", ".tmp").apply { deleteOnExit() }
+ val outputOptions = FileOutputOptions.builder().setFile(file).build()
+
+ val pendingRecording = recorder.prepareRecording(outputOptions)
+ pendingRecording.withEventListener(
+ CameraXExecutors.directExecutor(),
+ videoRecordEventListener
+ )
+
+ val activeRecording = pendingRecording.start()
+ activeRecording.pause()
+ activeRecording.stop()
+
+ invokeSurfaceRequest()
verify(videoRecordEventListener, timeout(1000L))
.accept(any(VideoRecordEvent.Finalize::class.java))
- checkFileHasAudioAndVideo(Uri.fromFile(file))
-
file.delete()
}
diff --git a/camera/camera-video/src/main/java/androidx/camera/video/ActiveRecording.java b/camera/camera-video/src/main/java/androidx/camera/video/ActiveRecording.java
index 881b64c..f7deac6 100644
--- a/camera/camera-video/src/main/java/androidx/camera/video/ActiveRecording.java
+++ b/camera/camera-video/src/main/java/androidx/camera/video/ActiveRecording.java
@@ -18,25 +18,36 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.camera.core.Logger;
import androidx.core.util.Consumer;
import androidx.core.util.Preconditions;
import java.util.concurrent.Executor;
+import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.atomic.AtomicBoolean;
/**
* Provides controls for the currently active recording.
*/
-public final class ActiveRecording extends Recording {
+public final class ActiveRecording {
+
+ private static final String TAG = "ActiveRecording";
// Indicates the recording has been explicitly stopped by users.
private final AtomicBoolean mIsStopped = new AtomicBoolean(false);
// Indicates the recording has been finalized.
private final AtomicBoolean mIsFinalized = new AtomicBoolean(false);
+ private final Recorder mRecorder;
+ private final OutputOptions mOutputOptions;
+ private Consumer<VideoRecordEvent> mEventListener;
+ private Executor mCallbackExecutor;
ActiveRecording(@NonNull Recorder recorder, @NonNull OutputOptions options,
@Nullable Executor callbackExecutor, @Nullable Consumer<VideoRecordEvent> listener) {
- super(recorder, options, callbackExecutor, listener);
+ mRecorder = recorder;
+ mOutputOptions = options;
+ mCallbackExecutor = callbackExecutor;
+ mEventListener = listener;
}
/**
@@ -50,6 +61,11 @@
pendingRecording.getEventListener());
}
+ @NonNull
+ OutputOptions getOutputOptions() {
+ return mOutputOptions;
+ }
+
/**
* Pauses the current recording if active.
*
@@ -65,7 +81,7 @@
if (mIsFinalized.get()) {
return;
}
- getRecorder().pause();
+ mRecorder.pause();
}
/**
@@ -82,7 +98,7 @@
if (mIsFinalized.get()) {
return;
}
- getRecorder().resume();
+ mRecorder.resume();
}
/**
@@ -101,14 +117,22 @@
if (mIsStopped.getAndSet(true) || mIsFinalized.get()) {
return;
}
- getRecorder().stop();
+ mRecorder.stop();
}
- @Override
+ /**
+ * Updates the recording status and callback to users.
+ */
void updateVideoRecordEvent(@NonNull VideoRecordEvent event) {
if (event instanceof VideoRecordEvent.Finalize) {
mIsFinalized.set(true);
}
- super.updateVideoRecordEvent(event);
+ if (mCallbackExecutor != null && mEventListener != null) {
+ try {
+ mCallbackExecutor.execute(() -> mEventListener.accept(event));
+ } catch (RejectedExecutionException e) {
+ Logger.e(TAG, "The callback executor is invalid.", e);
+ }
+ }
}
}
diff --git a/camera/camera-video/src/main/java/androidx/camera/video/AudioSpec.java b/camera/camera-video/src/main/java/androidx/camera/video/AudioSpec.java
index 862d441..eaee814 100644
--- a/camera/camera-video/src/main/java/androidx/camera/video/AudioSpec.java
+++ b/camera/camera-video/src/main/java/androidx/camera/video/AudioSpec.java
@@ -127,6 +127,30 @@
.setSampleRate(SAMPLE_RATE_RANGE_AUTO);
}
+ /**
+ * Transforms channel count to corresponding {@link AudioFormat} channel config.
+ */
+ static int channelCountToConfig(@ChannelCount int channelCount) {
+ int channelConfig;
+ switch (channelCount) {
+ case CHANNEL_COUNT_AUTO:
+ channelConfig = AudioFormat.CHANNEL_IN_DEFAULT;
+ break;
+ case CHANNEL_COUNT_MONO:
+ channelConfig = AudioFormat.CHANNEL_IN_MONO;
+ break;
+ case CHANNEL_COUNT_STEREO:
+ channelConfig = AudioFormat.CHANNEL_IN_STEREO;
+ break;
+ case CHANNEL_COUNT_NONE:
+ throw new IllegalArgumentException("Unable to get channel config with zero "
+ + "channel count");
+ default:
+ throw new IllegalArgumentException("Invalid channel count " + channelCount + ".");
+ }
+ return channelConfig;
+ }
+
/** Gets the bitrate. */
@NonNull
public abstract Range<Integer> getBitrate();
diff --git a/camera/camera-video/src/main/java/androidx/camera/video/PendingRecording.java b/camera/camera-video/src/main/java/androidx/camera/video/PendingRecording.java
index 24fb82e..11280eee 100644
--- a/camera/camera-video/src/main/java/androidx/camera/video/PendingRecording.java
+++ b/camera/camera-video/src/main/java/androidx/camera/video/PendingRecording.java
@@ -17,6 +17,7 @@
package androidx.camera.video;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.core.util.Consumer;
import androidx.core.util.Preconditions;
@@ -25,10 +26,36 @@
/**
* A recording that can be started at a future time.
*/
-public final class PendingRecording extends Recording {
+public final class PendingRecording {
+
+ private final Recorder mRecorder;
+ private final OutputOptions mOutputOptions;
+ private Consumer<VideoRecordEvent> mEventListener;
+ private Executor mCallbackExecutor;
PendingRecording(@NonNull Recorder recorder, @NonNull OutputOptions options) {
- super(recorder, options, null, null);
+ mRecorder = recorder;
+ mOutputOptions = options;
+ }
+
+ @NonNull
+ Recorder getRecorder() {
+ return mRecorder;
+ }
+
+ @NonNull
+ OutputOptions getOutputOptions() {
+ return mOutputOptions;
+ }
+
+ @Nullable
+ Executor getCallbackExecutor() {
+ return mCallbackExecutor;
+ }
+
+ @Nullable
+ Consumer<VideoRecordEvent> getEventListener() {
+ return mEventListener;
}
/**
@@ -43,8 +70,8 @@
@NonNull Consumer<VideoRecordEvent> listener) {
Preconditions.checkNotNull(callbackExecutor, "CallbackExecutor can't be null.");
Preconditions.checkNotNull(listener, "Event listener can't be null");
- setCallbackExecutor(callbackExecutor);
- setEventListener(listener);
+ mCallbackExecutor = callbackExecutor;
+ mEventListener = listener;
return this;
}
@@ -59,6 +86,6 @@
*/
@NonNull
public ActiveRecording start() {
- return getRecorder().start(this);
+ return mRecorder.start(this);
}
}
diff --git a/camera/camera-video/src/main/java/androidx/camera/video/Recorder.java b/camera/camera-video/src/main/java/androidx/camera/video/Recorder.java
index 3a9fcbe..b43d036 100644
--- a/camera/camera-video/src/main/java/androidx/camera/video/Recorder.java
+++ b/camera/camera-video/src/main/java/androidx/camera/video/Recorder.java
@@ -70,12 +70,11 @@
import java.io.IOException;
import java.util.ArrayList;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
/**
* Provides functionality to generate {@link PendingRecording} and record video to the location
@@ -94,6 +93,14 @@
*/
INITIALIZING,
/**
+ * The Recorder is being initialized and a recording is waiting for being run.
+ */
+ PENDING_RECORDING,
+ /**
+ * The Recorder is being initialized and a recording is waiting for being paused.
+ */
+ PENDING_PAUSED,
+ /**
* The Recorder is idling and ready to start a new recording.
*/
IDLING,
@@ -157,9 +164,9 @@
private final MutableStateObservable<StreamState> mStreamState =
MutableStateObservable.withInitialState(StreamState.INACTIVE);
private final Executor mExecutor;
- private final Set<PendingRecording> mPendingRecordings = new HashSet<>();
private SurfaceRequest.TransformationInfo mSurfaceTransformationInfo = null;
private Throwable mErrorCause;
+ private AtomicBoolean mSurfaceRequested = new AtomicBoolean(false);
@SuppressWarnings("WeakerAccess") /* synthetic accessor */
final SparseArray<CallbackToFutureAdapter.Completer<Void>> mEncodingCompleters =
@@ -202,6 +209,10 @@
mSequentialExecutor = CameraXExecutors.newSequentialExecutor(mExecutor);
mMediaSpec = MutableStateObservable.withInitialState(composeRecorderMediaSpec(mediaSpec));
+ if (getObservableData(mMediaSpec).getAudioSpec().getChannelCount()
+ == AudioSpec.CHANNEL_COUNT_NONE) {
+ mMuted = true;
+ }
}
/** {@inheritDoc} */
@@ -209,48 +220,34 @@
@Override
@OptIn(markerClass = ExperimentalUseCaseGroup.class)
public void onSurfaceRequested(@NonNull SurfaceRequest surfaceRequest) {
- mSequentialExecutor.execute(() -> {
- synchronized (mLock) {
- if (getObservableData(mMediaSpec).getAudioSpec().getChannelCount()
- == AudioSpec.CHANNEL_COUNT_NONE) {
- // Skip setting up audio as the media spec shows there's no audio channel.
- mMuted = true;
- } else {
- setupAudio();
- }
-
- State state = getObservableData(mState);
- if (state == State.RELEASED) {
+ synchronized (mLock) {
+ switch (getObservableData(mState)) {
+ case PENDING_RECORDING:
+ // Fall-through
+ case PENDING_PAUSED:
+ // Fall-through
+ case INITIALIZING:
+ // The recorder should be initialized only once until it is released.
+ if (mSurfaceRequested.compareAndSet(false, true)) {
+ mSequentialExecutor.execute(() -> initializeInternal(surfaceRequest));
+ }
+ break;
+ case IDLING:
+ // Fall-through
+ case RECORDING:
+ // Fall-through
+ case PAUSED:
+ // Fall-through
+ case ERROR:
+ throw new IllegalStateException("The Recorder has been initialized.");
+ case RELEASING:
+ // Fall-through
+ case RELEASED:
surfaceRequest.willNotProvideSurface();
- Logger.d(TAG, "A surface is requested while the Recorder is released.");
- } else if (mSurface != null) {
- // The video encoder has already be created, providing the surface directly.
- surfaceRequest.provideSurface(mSurface, mSequentialExecutor, (result) -> {
- Surface resultSurface = result.getSurface();
- if (mSurface == resultSurface) {
- // The latest surface will be released by the encoder when encoder is
- // released.
- mSurface = null;
- } else {
- resultSurface.release();
- }
- release();
- setState(State.INITIALIZING);
- });
- } else {
- setupVideo(surfaceRequest);
- surfaceRequest.setTransformationInfoListener(mSequentialExecutor,
- (transformationInfo) -> mSurfaceTransformationInfo =
- transformationInfo);
- }
- setState(State.IDLING);
- if (mRunningRecording != null) {
- // Start recording if start() has been called before video encoder is setup.
- startInternal();
- setState(State.RECORDING);
- }
+ Logger.w(TAG, "A surface is requested while the Recorder is released.");
+ break;
}
- });
+ }
}
/** {@inheritDoc} */
@@ -329,6 +326,10 @@
switch (getObservableData(mState)) {
case INITIALIZING:
// Fall-through
+ case PENDING_RECORDING:
+ // Fall-through
+ case PENDING_PAUSED:
+ // Fall-through
case ERROR:
// Fall-through, create PendingRecording as usual, but it will be instantly
// finalized at start().
@@ -343,9 +344,7 @@
case RELEASED:
throw new IllegalStateException("The Recorder has been released.");
}
- PendingRecording pendingRecording = new PendingRecording(this, options);
- mPendingRecordings.add(pendingRecording);
- return pendingRecording;
+ return new PendingRecording(this, options);
}
}
@@ -372,13 +371,16 @@
return getObservableData(mMediaSpec).getVideoSpec().getAspectRatio();
}
-
/**
* Starts a pending recording and returns an active recording instance.
*
+ * <p>If the Recorder is already running a recording, an {@link IllegalStateException} will
+ * be thrown when calling this method.
+ *
* <p>If the video encoder hasn't been setup with {@link #onSurfaceRequested(SurfaceRequest)}
* , the {@link PendingRecording} specified will be started once the video encoder setup
- * completes.
+ * completes. The recording will be considered active, so before it's finalized, an
+ * {@link IllegalStateException} will be thrown if this method is called for a second time.
*
* @throws IllegalStateException if there's an active recording or the Recorder has been
* released.
@@ -387,24 +389,23 @@
ActiveRecording start(@NonNull PendingRecording pendingRecording) {
Preconditions.checkNotNull(pendingRecording, "The given PendingRecording cannot be null.");
synchronized (mLock) {
- if (mRunningRecording != null) {
- // Throw an exception if there's a recording to be started.
- throw new IllegalStateException("There's an active recording.");
- }
- mPendingRecordings.remove(pendingRecording);
ActiveRecording activeRecording = ActiveRecording.from(pendingRecording);
mRunningRecording = activeRecording;
switch (getObservableData(mState)) {
case INITIALIZING:
- // No-op, the recording will be started automatically after the
- // initialization completes.
+ // The recording will automatically start once the initialization completes.
+ setState(State.PENDING_RECORDING);
break;
case IDLING:
mSequentialExecutor.execute(this::startInternal);
setState(State.RECORDING);
break;
+ case PENDING_PAUSED:
+ // Fall-through
case PAUSED:
// Fall-through
+ case PENDING_RECORDING:
+ // Fall-through
case RECORDING:
throw new IllegalStateException("There's an active recording.");
case RELEASING:
@@ -413,6 +414,7 @@
throw new IllegalStateException("The Recorder has been released.");
case ERROR:
finalizeRecordingWithError(VideoRecordEvent.ERROR_RECORDER_ERROR, mErrorCause);
+ break;
}
return activeRecording;
@@ -422,14 +424,20 @@
void pause() {
synchronized (mLock) {
switch (getObservableData(mState)) {
+ case PENDING_RECORDING:
+ // Fall-through
case INITIALIZING:
- throw new IllegalStateException("The Recorder hasn't been initialized.");
+ // The recording will automatically pause once the initialization completes.
+ setState(State.PENDING_PAUSED);
+ break;
case IDLING:
throw new IllegalStateException("Calling pause() while idling is invalid.");
case RECORDING:
mSequentialExecutor.execute(this::pauseInternal);
setState(State.PAUSED);
break;
+ case PENDING_PAUSED:
+ // Fall-through
case PAUSED:
// No-op when the recording is already paused.
break;
@@ -447,10 +455,16 @@
void resume() {
synchronized (mLock) {
switch (getObservableData(mState)) {
+ case PENDING_PAUSED:
+ // Fall-through
case INITIALIZING:
- throw new IllegalStateException("The Recorder hasn't been initialized.");
+ // The recording will automatically start once the initialization completes.
+ setState(State.PENDING_RECORDING);
+ break;
case IDLING:
throw new IllegalStateException("Calling resume() while idling is invalid.");
+ case PENDING_RECORDING:
+ // Fall-through
case RECORDING:
// No-op when the recording is running.
break;
@@ -472,8 +486,15 @@
void stop() {
synchronized (mLock) {
switch (getObservableData(mState)) {
+ case PENDING_RECORDING:
+ // Fall-through
+ case PENDING_PAUSED:
+ // Fall-through
case INITIALIZING:
- throw new IllegalStateException("The Recorder hasn't been initialized.");
+ finalizeRecordingWithError(VideoRecordEvent.ERROR_RECORDER_UNINITIALIZED,
+ new IllegalStateException("The Recorder hasn't been initialized."));
+ setState(State.INITIALIZING);
+ break;
case IDLING:
throw new IllegalStateException("Calling stop() while idling is invalid.");
case PAUSED:
@@ -499,27 +520,20 @@
* Recorder is released, it cannot be used anymore. Any other method call after the encoder
* is released will get {@link IllegalStateException}.
*/
+ @ExecutedBy("mSequentialExecutor")
void release() {
synchronized (mLock) {
switch (getObservableData(mState)) {
+ case PENDING_RECORDING:
+ // Fall-through
+ case PENDING_PAUSED:
+ // Fall-through
case INITIALIZING:
// Fall-through
case ERROR:
// Fall-through
case IDLING:
- if (mAudioEncoder != null) {
- mAudioEncoder.release();
- mAudioSource = null;
- }
- if (mVideoEncoder != null) {
- mVideoEncoder.release();
- mVideoEncoder = null;
- }
- if (mAudioSource != null) {
- mAudioSource.release();
- mAudioSource = null;
- }
- setState(State.RELEASED);
+ releaseInternal();
break;
case PAUSED:
// Fall-through
@@ -533,6 +547,72 @@
// Fall-through
case RELEASED:
// No-Op, the Recorder is already released.
+ break;
+ }
+ }
+ }
+
+ @ExecutedBy("mSequentialExecutor")
+ @RequiresPermission(Manifest.permission.RECORD_AUDIO)
+ private void initializeInternal(SurfaceRequest surfaceRequest) {
+ if (!mMuted) {
+ // Skip setting up audio as the media spec shows there's no audio channel.
+ setupAudio();
+ }
+
+ if (mSurface != null) {
+ // The video encoder has already be created, providing the surface directly.
+ surfaceRequest.provideSurface(mSurface, mSequentialExecutor, (result) -> {
+ Surface resultSurface = result.getSurface();
+ // The latest surface will be released by the encoder when encoder is released.
+ if (mSurface != resultSurface) {
+ resultSurface.release();
+ }
+ mSurface = null;
+ release();
+ setState(State.INITIALIZING);
+ });
+ onInitialized();
+ } else {
+ setupVideo(surfaceRequest);
+ surfaceRequest.setTransformationInfoListener(mSequentialExecutor,
+ (transformationInfo) -> mSurfaceTransformationInfo =
+ transformationInfo);
+ }
+ }
+
+ @ExecutedBy("mSequentialExecutor")
+ private void onInitialized() {
+ synchronized (mLock) {
+ State state = getObservableData(mState);
+ switch (state) {
+ case IDLING:
+ // Fall-through
+ case RECORDING:
+ // Fall-through
+ case PAUSED:
+ // Fall-through
+ case RELEASING:
+ // Fall-through
+ case RELEASED:
+ throw new IllegalStateException(
+ "Incorrectly invoke onInitialized() in state " + state);
+ case INITIALIZING:
+ setState(State.IDLING);
+ break;
+ case PENDING_PAUSED:
+ // Fall-through
+ case PENDING_RECORDING:
+ // Start recording if start() has been called before video encoder is setup.
+ mSequentialExecutor.execute(this::startInternal);
+ setState(State.RECORDING);
+ if (state == State.PENDING_PAUSED) {
+ mSequentialExecutor.execute(this::pauseInternal);
+ setState(State.PAUSED);
+ }
+ break;
+ case ERROR:
+ break;
}
}
}
@@ -575,8 +655,9 @@
return AudioEncoderConfig.builder()
.setMimeType(MediaSpec.outputFormatToAudioMime(mediaSpec.getOutputFormat()))
.setBitrate(AUDIO_BITRATE_DEFAULT)
- .setSampleRate(AUDIO_SAMPLE_RATE_DEFAULT)
- .setChannelMask(AudioFormat.CHANNEL_IN_MONO)
+ .setSampleRate(selectSampleRate(mediaSpec.getAudioSpec()))
+ .setChannelMask(
+ AudioSpec.channelCountToConfig(mediaSpec.getAudioSpec().getChannelCount()))
.setChannelCount(mediaSpec.getAudioSpec().getChannelCount())
.build();
}
@@ -655,7 +736,7 @@
"Audio data comes before the track is added to MediaMuxer.");
}
if (mVideoTrackIndex == null) {
- // Drop the data if the video track hasn't been added.
+ Logger.d(TAG, "Drop audio data since video track hasn't been added.");
encodedData.close();
return;
}
@@ -690,11 +771,46 @@
@Nullable
private AudioSource setupAudioSource(@NonNull BufferProvider<InputBuffer> bufferProvider,
@NonNull AudioSpec audioSpec) throws AudioSourceAccessException {
- int selectedSampleRate = AUDIO_SAMPLE_RATE_DEFAULT;
+ int sampleRate = selectSampleRate(audioSpec);
+ int channelConfig = AudioSpec.channelCountToConfig(audioSpec.getChannelCount());
+ int bufferSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig,
+ audioSpec.getSourceFormat());
+ if (bufferSize <= 0) {
+ if (Build.VERSION.SDK_INT >= 24) {
+ Logger.i(TAG,
+ "Unable to find a available sample rate. Fallback to native sample rate.");
+ // Use the native sample rate came from the audio source if the OS version is API
+ // 24+.
+ sampleRate = AudioFormat.SAMPLE_RATE_UNSPECIFIED;
+ } else {
+ setState(State.ERROR);
+ mErrorCause = new IllegalArgumentException(
+ "Unable to find a available sample rate.");
+ return null;
+ }
+ }
+
+ return new AudioSource.Builder().setExecutor(CameraXExecutors.ioExecutor())
+ .setBufferProvider(bufferProvider)
+ .setAudioSource(audioSpec.getSource())
+ .setSampleRate(sampleRate)
+ .setChannelConfig(channelConfig)
+ .setAudioFormat(AUDIO_SPEC_DEFAULT.getSourceFormat())
+ .setDefaultBufferSize(bufferSize * 2)
+ .build();
+ }
+
+ @ExecutedBy("mSequentialExecutor")
+ private int selectSampleRate(AudioSpec audioSpec) {
int bufferSize = 0;
+ // The default sample rate should work on most devices. May consider throw an
+ // exception or have other way to notify users that the specified sample rate
+ // can not be satisfied.
+ int selectedSampleRate = AUDIO_SAMPLE_RATE_DEFAULT;
+ int channelConfig = AudioSpec.channelCountToConfig(audioSpec.getChannelCount());
for (int sampleRate : AudioSource.COMMON_SAMPLE_RATES) {
if (audioSpec.getSampleRate().contains(sampleRate)) {
- bufferSize = AudioRecord.getMinBufferSize(sampleRate, audioSpec.getChannelCount(),
+ bufferSize = AudioRecord.getMinBufferSize(sampleRate, channelConfig,
audioSpec.getSourceFormat());
if (bufferSize > 0) {
// Choose the largest valid sample rate as the list has descending order.
@@ -704,37 +820,7 @@
}
}
- if (bufferSize <= 0) {
- Logger.i(TAG, "Unable to find a available sample rate. Fallback to default.");
- if (Build.VERSION.SDK_INT >= 24) {
- // Use the native sample rate came from the audio source.
- selectedSampleRate = AudioFormat.SAMPLE_RATE_UNSPECIFIED;
- } else {
- // The default sample rate should work on most devices. May consider throw an
- // exception or have other way to notify users that the specified sample rate
- // can not be satisfied.
- selectedSampleRate = AUDIO_SAMPLE_RATE_DEFAULT;
- }
-
- bufferSize = AudioRecord.getMinBufferSize(selectedSampleRate,
- audioSpec.getChannelCount(), audioSpec.getSourceFormat());
- if (bufferSize <= 0) {
- Logger.e(TAG, "Unable to retrieve minimum buffer size.");
- setState(State.ERROR);
- mErrorCause = new IllegalArgumentException(
- "Unable to retrieve minimum buffer size.");
- return null;
- }
- }
-
- return new AudioSource.Builder().setExecutor(CameraXExecutors.ioExecutor())
- .setBufferProvider(bufferProvider)
- .setAudioSource(audioSpec.getSource())
- .setSampleRate(selectedSampleRate)
- .setChannelConfig(audioSpec.getChannelCount())
- .setAudioFormat(AUDIO_SPEC_DEFAULT.getSourceFormat())
- .setDefaultBufferSize(bufferSize * 2)
- .build();
+ return selectedSampleRate;
}
@ExecutedBy("mSequentialExecutor")
@@ -762,16 +848,16 @@
mSurface = surface;
surfaceRequest.provideSurface(surface, mSequentialExecutor, (result) -> {
Surface resultSurface = result.getSurface();
- if (mSurface == resultSurface) {
- // The latest surface will be released by the encoder when encoder is
- // released.
- mSurface = null;
- } else {
+ // The latest surface will be released by the encoder when encoder is
+ // released.
+ if (mSurface != resultSurface) {
resultSurface.release();
}
+ mSurface = null;
release();
setState(State.INITIALIZING);
});
+ onInitialized();
});
mVideoEncoder.setEncoderCallback(new EncoderCallback() {
@@ -798,8 +884,8 @@
"Video data comes before the track is added to MediaMuxer.");
}
if (!mMuted && mAudioTrackIndex == null) {
+ Logger.d(TAG, "Drop video data since audio track hasn't been added.");
encodedData.close();
- // Drop the data if audio track hasn't been added.
return;
}
@@ -963,6 +1049,25 @@
mVideoEncoder.stop();
}
+ @ExecutedBy("mSequentialExecutor")
+ private void releaseInternal() {
+ if (mAudioEncoder != null) {
+ mAudioEncoder.release();
+ mAudioSource = null;
+ }
+ if (mVideoEncoder != null) {
+ mVideoEncoder.release();
+ mVideoEncoder = null;
+ }
+ if (mAudioSource != null) {
+ mAudioSource.release();
+ mAudioSource = null;
+ }
+
+ mSurfaceRequested.set(false);
+ setState(State.RELEASED);
+ }
+
@SuppressWarnings("WeakerAccess") /* synthetic accessor */
@ExecutedBy("mSequentialExecutor")
void finalizeRecording() {
@@ -1007,16 +1112,7 @@
synchronized (mLock) {
if (getObservableData(mState) == State.RELEASING) {
- if (mAudioEncoder != null) {
- mAudioEncoder.release();
- }
- if (mVideoEncoder != null) {
- mVideoEncoder.release();
- }
- if (mAudioSource != null) {
- mAudioSource.release();
- }
- setState(State.RELEASED);
+ releaseInternal();
} else {
setState(State.IDLING);
}
@@ -1025,11 +1121,6 @@
@SuppressWarnings("WeakerAccess") /* synthetic accessor */
void updateVideoRecordEvent(@NonNull VideoRecordEvent event) {
- if (!(event instanceof VideoRecordEvent.Status)) {
- for (PendingRecording pendingRecording : mPendingRecordings) {
- pendingRecording.updateVideoRecordEvent(event);
- }
- }
if (mRunningRecording != null) {
mRunningRecording.updateVideoRecordEvent(event);
}
@@ -1057,6 +1148,9 @@
@SuppressWarnings("WeakerAccess") /* synthetic accessor */
void setState(@NonNull State state) {
synchronized (mLock) {
+ Logger.d(TAG,
+ "Transitioning Recorder internal state: " + getObservableData(mState) + " -->"
+ + " " + state);
mState.setState(state);
if (state == State.RECORDING) {
mStreamState.setState(StreamState.ACTIVE);
diff --git a/camera/camera-video/src/main/java/androidx/camera/video/Recording.java b/camera/camera-video/src/main/java/androidx/camera/video/Recording.java
deleted file mode 100644
index 99530e3..0000000
--- a/camera/camera-video/src/main/java/androidx/camera/video/Recording.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.camera.video;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.camera.core.Logger;
-import androidx.core.util.Consumer;
-
-import java.util.concurrent.Executor;
-import java.util.concurrent.RejectedExecutionException;
-
-/**
- * Provides basic information for a recording to work.
- */
-abstract class Recording {
-
- protected static final String TAG = "Recording";
-
- private final Recorder mRecorder;
- private final OutputOptions mOutputOptions;
- private Consumer<VideoRecordEvent> mEventListener;
- private Executor mCallbackExecutor;
-
- Recording(@NonNull Recorder recorder, @NonNull OutputOptions options,
- @Nullable Executor callbackExecutor, @Nullable Consumer<VideoRecordEvent> listener) {
- mRecorder = recorder;
- mOutputOptions = options;
- mCallbackExecutor = callbackExecutor;
- mEventListener = listener;
- }
-
- @NonNull
- Recorder getRecorder() {
- return mRecorder;
- }
-
- @NonNull
- OutputOptions getOutputOptions() {
- return mOutputOptions;
- }
-
- @Nullable
- Executor getCallbackExecutor() {
- return mCallbackExecutor;
- }
-
- void setCallbackExecutor(@Nullable Executor callbackExecutor) {
- mCallbackExecutor = callbackExecutor;
- }
-
- @Nullable
- Consumer<VideoRecordEvent> getEventListener() {
- return mEventListener;
- }
-
- void setEventListener(@Nullable Consumer<VideoRecordEvent> eventListener) {
- mEventListener = eventListener;
- }
-
- /**
- * Updates the recording status and callback to users.
- */
- void updateVideoRecordEvent(@NonNull VideoRecordEvent event) {
- if (getCallbackExecutor() != null && getEventListener() != null) {
- try {
- getCallbackExecutor().execute(() -> getEventListener().accept(event));
- } catch (RejectedExecutionException e) {
- Logger.e(TAG, "The callback executor is invalid.", e);
- }
- }
- }
-}
diff --git a/camera/camera-video/src/main/java/androidx/camera/video/VideoRecordEvent.java b/camera/camera-video/src/main/java/androidx/camera/video/VideoRecordEvent.java
index e364f5d..74ef4a2 100644
--- a/camera/camera-video/src/main/java/androidx/camera/video/VideoRecordEvent.java
+++ b/camera/camera-video/src/main/java/androidx/camera/video/VideoRecordEvent.java
@@ -158,6 +158,11 @@
public static final int ERROR_RECORDER_ERROR = 7;
/**
+ * The recording failed due to the recorder has not been initialized.
+ */
+ public static final int ERROR_RECORDER_UNINITIALIZED = 8;
+
+ /**
* Describes the error that occurred during a video recording.
*
* <p>This is the error code returning from {@link Finalize#getError()}.
@@ -168,7 +173,7 @@
@Retention(RetentionPolicy.SOURCE)
@IntDef(value = {ERROR_NONE, ERROR_UNKNOWN, ERROR_FILE_SIZE_LIMIT_REACHED,
ERROR_INSUFFICIENT_DISK, ERROR_CAMERA_CLOSED, ERROR_INVALID_OUTPUT_OPTIONS,
- ERROR_ENCODING_FAILED, ERROR_RECORDER_ERROR})
+ ERROR_ENCODING_FAILED, ERROR_RECORDER_ERROR, ERROR_RECORDER_UNINITIALIZED})
public @interface VideoRecordError {
}
diff --git a/car/app/app-projected/src/main/aidl/androidx/car/app/hardware/ICarHardwareHost.aidl b/car/app/app-projected/src/main/aidl/androidx/car/app/hardware/ICarHardwareHost.aidl
index 35fc908..c366c06 100644
--- a/car/app/app-projected/src/main/aidl/androidx/car/app/hardware/ICarHardwareHost.aidl
+++ b/car/app/app-projected/src/main/aidl/androidx/car/app/hardware/ICarHardwareHost.aidl
@@ -37,6 +37,6 @@
* Indicates to the host that the app wants to unsubscribe from a vehicle result that changes
* over time.
*/
- void unsubscribeCarHardwareResult(in int resultType) = 3;
+ void unsubscribeCarHardwareResult(in int resultType, in @nullable Bundleable params) = 3;
}
diff --git a/car/app/app-projected/src/test/java/androidx/car/app/hardware/common/CarHardwareHostDispatcherTest.java b/car/app/app-projected/src/test/java/androidx/car/app/hardware/common/CarHardwareHostDispatcherTest.java
index 6c9644d..d963035 100644
--- a/car/app/app-projected/src/test/java/androidx/car/app/hardware/common/CarHardwareHostDispatcherTest.java
+++ b/car/app/app-projected/src/test/java/androidx/car/app/hardware/common/CarHardwareHostDispatcherTest.java
@@ -123,7 +123,7 @@
}
@Override
- public void getCarHardwareResult(int resultType, Bundleable params,
+ public void getCarHardwareResult(int resultType, @Nullable Bundleable params,
ICarHardwareResult callback) throws RemoteException {
mCallback = callback;
// Record the call in the mock
@@ -135,12 +135,13 @@
}
@Override
- public void subscribeCarHardwareResult(int resultType, Bundleable params,
+ public void subscribeCarHardwareResult(int resultType, @Nullable Bundleable params,
ICarHardwareResult callback) throws RemoteException {
}
@Override
- public void unsubscribeCarHardwareResult(int resultType) throws RemoteException {
+ public void unsubscribeCarHardwareResult(int resultType, @Nullable Bundleable params)
+ throws RemoteException {
}
}
}
diff --git a/car/app/app-projected/src/test/java/androidx/car/app/hardware/common/CarResultStubTest.java b/car/app/app-projected/src/test/java/androidx/car/app/hardware/common/CarResultStubTest.java
index fb4f66f..7e7347c 100644
--- a/car/app/app-projected/src/test/java/androidx/car/app/hardware/common/CarResultStubTest.java
+++ b/car/app/app-projected/src/test/java/androidx/car/app/hardware/common/CarResultStubTest.java
@@ -145,7 +145,7 @@
}
@Override
- public void getCarHardwareResult(int resultType, Bundleable params,
+ public void getCarHardwareResult(int resultType, @Nullable Bundleable params,
ICarHardwareResult callback) throws RemoteException {
mCallback = callback;
// Record the call in the mock
@@ -157,7 +157,7 @@
}
@Override
- public void subscribeCarHardwareResult(int resultType, Bundleable params,
+ public void subscribeCarHardwareResult(int resultType, @Nullable Bundleable params,
ICarHardwareResult callback) throws RemoteException {
mCallback = callback;
mMockCarHardwareHost.subscribeCarHardwareResult(resultType, params, callback);
@@ -167,8 +167,9 @@
}
@Override
- public void unsubscribeCarHardwareResult(int resultType) throws RemoteException {
- mMockCarHardwareHost.unsubscribeCarHardwareResult(resultType);
+ public void unsubscribeCarHardwareResult(int resultType, @Nullable Bundleable params)
+ throws RemoteException {
+ mMockCarHardwareHost.unsubscribeCarHardwareResult(resultType, params);
}
}
}
diff --git a/compose/animation/animation-core-lint/build.gradle b/compose/animation/animation-core-lint/build.gradle
index 4bd1fdb..a2853b1 100644
--- a/compose/animation/animation-core-lint/build.gradle
+++ b/compose/animation/animation-core-lint/build.gradle
@@ -27,10 +27,11 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly libs.androidLintMinApi
+ compileOnly libs.androidLintMinComposeApi
compileOnly libs.kotlinStdlib
bundleInside(project(":compose:lint:common"))
+ testImplementation(project(":compose:lint:common-test"))
testImplementation libs.kotlinStdlib
testImplementation libs.androidLint
testImplementation libs.androidLintTests
diff --git a/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/AnimationCoreIssueRegistry.kt b/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/AnimationCoreIssueRegistry.kt
index 1988e40..dae1d21e 100644
--- a/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/AnimationCoreIssueRegistry.kt
+++ b/compose/animation/animation-core-lint/src/main/java/androidx/compose/animation/core/lint/AnimationCoreIssueRegistry.kt
@@ -17,6 +17,7 @@
package androidx.compose.animation.core.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -30,4 +31,9 @@
TransitionDetector.UnusedTransitionTargetStateParameter,
UnrememberedAnimatableDetector.UnrememberedAnimatable
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.animation.core",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/ApiLintVersionsTest.kt b/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/ApiLintVersionsTest.kt
index 133e1198..b4fbec9 100644
--- a/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/ApiLintVersionsTest.kt
+++ b/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = AnimationCoreIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/TransitionDetectorTest.kt b/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/TransitionDetectorTest.kt
index f5c7447..38d459a 100644
--- a/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/TransitionDetectorTest.kt
+++ b/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/TransitionDetectorTest.kt
@@ -18,7 +18,8 @@
package androidx.compose.animation.core.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
+import androidx.compose.lint.test.compiledStub
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -29,9 +30,6 @@
/* ktlint-disable max-line-length */
@RunWith(JUnit4::class)
-// TODO: add tests for methods defined in class files when we update Lint to support bytecode()
-// test files
-
/**
* Test for [TransitionDetector].
*/
@@ -42,7 +40,9 @@
mutableListOf(TransitionDetector.UnusedTransitionTargetStateParameter)
// Simplified Transition.kt stubs
- private val TransitionStub = kotlin(
+ private val TransitionStub = compiledStub(
+ filename = "Transition.kt",
+ filepath = "androidx/compose/animation/core",
"""
package androidx.compose.animation.core
@@ -58,6 +58,93 @@
label: String = "FloatAnimation",
targetValueByState: @Composable (state: S) -> Float
): Float = 5f
+ """,
+"""
+ androidx/compose/animation/core/TransitionKt.class:
+ H4sIAAAAAAAAAMVVT1MjRRR/PZkknSHAMAsI2d24stldYGEnZDHqJovLIsho
+ iJZBLhysJmmyA5MeamZCsRcLvfgFvOzN8uDRg6ctD1aKLS9+Jsvy9ZCEQKzC
+ eDFV6fev3++91/36zR9//fobACzDJwQWmKh5rl07Matu48j1ucmE3WCB7QrU
+ eNzc9pjwbSl/GsSBENAP2DEzHSbq5md7B7yK2giB5Lkb33BcFhD4Zrb074EL
+ pUM3cGxhHhw3zP2mqEqlb260uaVC6SJkJfBsUb/WY26DwJ/FypPS1WQLK4Nk
+ VtyuFFauC1ZcHAAxU+H1BhfBZeQvhR1IcdA6i4sI0+MVnj4CyfLv9WflNUVg
+ N7i5Fspsz+EFAndLrlc3D3iw5zEbwZkQbsDOA5XdoNx0HNwVKwYvbH+FgkYg
+ 3ZOULQLuCeaYlpAZ+3bVj0OSwET1Ba8etv0/Zx5rcNxI4MFs/5X0lz23k4QR
+ GNVgGHQCI0H3+CpHvErBIBB12B53KIwTMALm1Xmww5wmf/6ygrlzCpPqsx8A
+ CIxl7Mx+5nJzEgudMrKeK4aFQZqWwJ3ruhDD9NdGYLw3aqbG91nTwejf/89v
+ xuq/GdlHhUEmxKUDzSzF4R0C1CpXtlfLa+sEng5QYR9YIQl3IZOAGbh3uQf/
+ oZg4PMC+CR1XOwEozBG43X/vXzVzy91LGOuc0hYPWI0FDO9LaRxHcF4SuUSx
+ fQ4lo6D+xJZcFrnaEoHfW6c5rXWqKXo8JFNKh4R/Xeny4aaRrpUqqUBvnaaU
+ LJlRaetUV+apoRrKppKN5DJU09VU2tCMji4maTaejZ79GFMoDddEjlJF1xBi
+ KHdfT6ZmjBvG2KaCtiQdNigdMVRKZ0dDT9Lx3Dz7jr55TVqnZ98qcS1Kz17l
+ skQWkyPy6ZCK7N/2cfQ29fJ/mHfolu5grZ8EHM2u6IBuvzySk2iys6E7L8pI
+ 0KAKpPjmffm2CQxfwD86xDtT19waqkdLtuDlZmOPe9tytsns3SpzdphnS7mt
+ TFTsumBB00P+5hfnE9ESx7Zvo3n1YvgRyFy1dvO6tG0YR071cIsdtQMkLSG4
+ t+Yw3+do1ipu06vyDVvaptuQO33hYAkUUEH+FJiGKMRQeobSEcpRpOl5Y+g1
+ jD00buC6YEzgumi8hWskrxpTP4d+q7jG8Opuwig8Dz/xUeQjiJcKsdMo3Qpj
+ pMGA27hTcuP4V0JuEnURWAux4vBRG40iXcf/tIpCQr6Eq6uegLfhDvIy4Z/Q
+ OYY0P6GqX78C7Re434LZ0oQaRSlmzG9dW0gENnBVQRlJhCWlQrwhTEl+FoZg
+ Ar8LU0gf95T5uKfMPDxsl5nvlpnvlplvlxmBj1HS0DoT7p2GzbDwD8FCuov6
+ BcRd3IWIBY8sMHGFrIX3lLMw2jJu8OFdyO+C7mNrwns+vO/DLR8MHz7w4Umo
+ oT4UfBgP+Ukfij489WHlb+6OIxeBCQAA
+ """,
+ """
+ androidx/compose/animation/core/Transition$Segment.class:
+ H4sIAAAAAAAAAJVQW2sTQRT+zuwm2263dltvqbd6A2se3DYUBC0FLQiBVcGU
+ vORpkh3iNLuzsjMpfcxv8R/4JPggwUd/lHh2LQj6ogPznfN95zJnzvcfX74C
+ OMADQk+arCp1dp5MyuJDaVUijS6k06VhpVLJSSWN1TV/OFDTQhkXgAi7h4Nn
+ 6ak8k0kuzTR5Oz5VE/f86G+JEP+pBfAJ7UNttDsieLuPhxHaCEK0sELw3Xtt
+ CQfp/0/Gj22ms9Ll2iSvlZOZdJI1UZx5/F+qoUWgGUvnumZ77GX7hEfLRRSK
+ jgiXi1DEDMtFZ7no+isUU0/siZetbx/bIvbq9B53GBC3Q/ffJwzQIQQXYxLW
+ f0eezJj7x2WmCBupNurNvBir6kSOc1a20nIi86GsdM0vxKhvjKqOc2mt4k2t
+ DvTUSDevOBQOynk1Ua90nbf9bm6cLtRQW82FL4wpXTOdxT4Eb7s+/Jt6+Yy3
+ mCUN5zV1P2P1EzsCtxnbjRjgDmP0KwEh1tj62GEMWRPYxg2+d5sqD/caexP3
+ 2T7leMQ16yN4fVzqY4MRcQ2bfWzh8ghkcQVXR/At1iyuWVy3CH4CEksXNqoC
+ AAA=
+ """,
+ """
+ androidx/compose/animation/core/TransitionKt$animateFloat$1.class:
+ H4sIAAAAAAAAAKVVXW8bRRQ9s3ZsZ7Mljpt+JIUSGtM6dujGIbRQuwGT2mSJ
+ ayocIqE8je2ps/F6ttpdW+EtD/0J/BAKEkUgIT/zo1DvrF03VkPbhJeZO3fu
+ uffMnTO7//z7598ANlBlKHDZ8ly7dWQ23e4T1xcml3aXB7YryeMJc9fj0rfV
+ eidID/dExXF5kM7HwRieVjtu4NjSPOx3TVsGwpPcMau822jxwsm9xz3ZVGl8
+ szKy8sXqu1dP10W7K2RQ3K0XNseJf5B2QEuGxf9mEUeU4fqbmcQRY4gVbUq3
+ yRDJrOwxRDPWyp6BBHQdU5ghR3Bg+wz3z8D6tZ4R1Zgt+25HMNzNnOP8BUWt
+ eB7ksHMKvlx1vbZ5KIKGx21qA5fSDfiwJTU3qPUch3jqaXXetKRVAhcnWzhu
+ sSUDj1LYTT+OSwyXmgei2RnleMQ93hUUyHArUz3kfW46XLbN7xqHohkUTnjq
+ Kkm7oNp9BVd1XMYCw8Z5usNw85RSK6+7GNbPnj6ODwzMIqlDw4cMMydUGMdH
+ DAmrVt8t1bbKDBcmJGpgGelp3MDHDNqTPEPqNEaJYtMJJahUN62KZBXwvWmy
+ VhnmXqZ8KALe4gEniNbtR+gtMzVMMbCOMiLkP7KVtUZWi8rlBseGPjjWtaQW
+ Tle15OB4UVtjN6KJwXFSyyZS0ZS2ra1FtnUFWafDFbl05U9dt+fTkwDlrjOs
+ nkX6cRQZ5if03xKPec8JGH4+i4Lf9h05RUpvQ1iniKRiYBNf0tW9qny7Q1yj
+ W25LqCtzm9zZ457NG47YVQPDbNWWotbrNoQ38kzX7bbkQc8jO/19TwZ2V1iy
+ b/s2bY+fROnVk2MwLCmFt+Vw3xe0nC3LpuP6dAy66AO3RU+x7va8pqjYqsD8
+ cPFANHrt8lEgiKorGRZGtfaGlU4UQJ70M0U3SB9sLChBkTKiZJPIaPyaVmmK
+ oEtGLBt9DuOZUhS2aDSGXlwIMXNK+4iEiAIhNJrjudT8H1hUEA0PwmD6xBFQ
+ wS8PQ0ZwZV3ENdovh9FzqCgfKQspIFmi7O+P+Hw1ym5kcwNc/x1Lv+LmLxMl
+ MFHCGJcwcAuZ8Gwr49NdCWOAmb+g/fgcud/wybPQEcM3NOoUNgxYwHbYmvtE
+ YMgxAiucS/iW5qf1h6VH+oQ89J1QaHq2vvTSqui5pfzSZNT/+GXo2aqeX86v
+ 5u/cI7usY4eY3CXOt+lSzX1ELKxZyNOIdQufYsPCZ7izD+ZT1Of7iPr4wsc9
+ HwUf114AvnRqlvwHAAA=
+ """,
+ """
+ androidx/compose/animation/core/Transition.class:
+ H4sIAAAAAAAAAI1RTW8TMRB99m52023apuUr4atAeygRYtuIU6gqQSWkSAtI
+ bJVLTk7WCm52vWjtVD3mt/APOCFxQBFHfhRivFRCgkt9eOP3PG88Hv/89e07
+ gBfYY+gJnVWlyi7jaVl8Ko2MhVaFsKrUpFQyPquENsrxEIzh4DgdJOfiQsS5
+ 0LP4/eRcTu3Lk/8lhva/WgifIThWWtkTBu/g6aiFAGGEBpoMvv2oDMOz5Pod
+ 0SXbyby0udLxW2lFJqwgjRcXHr2POWgwsDlJl8qxQ9plR3TJarkZ8Q6PVsuI
+ tx00eWe17PnN1bLN+vyQD5j/uvHjc8DbnvP0qUzKqCbCVM4KqS1D//qN7l+Z
+ QnQZNv7qz+dUxz8tM8mwlSgt3y2KiazOxCQnZScppyIfiUo5fiW2hlrL6jQX
+ xkga11qqZlrYRUVHUVouqql8o1xe98NCW1XIkTKKjK+0Lm3dm8EROI3cLXqV
+ +wHC+8TimtPMel+x9oU2HA8Ig1oM8JCw9ScBEdYp+tgljEi7S7kddPGodnl4
+ XMd7eEJxQOct8myM4Q2xOcQWIdoOtofYwY0xmMFN3BqjYbBucNvgjkFo0PkN
+ zab+FKoCAAA=
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3Apc8ln5iXUpSfmVKhl5yfW5BfnKqX
+ mJeZm1iSmZ8HFClKFeIJKUrMK84ECXiXcPFyMafl5wuxhaQWl3iXKDFoMQAA
+ iDN6X1gAAAA=
"""
)
@@ -87,7 +174,7 @@
"""
),
TransitionStub,
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -151,7 +238,7 @@
"""
),
TransitionStub,
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -224,7 +311,7 @@
"""
),
TransitionStub,
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expectClean()
diff --git a/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/UnrememberedAnimatableDetectorTest.kt b/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/UnrememberedAnimatableDetectorTest.kt
index d6d1b5b..df853a7 100644
--- a/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/UnrememberedAnimatableDetectorTest.kt
+++ b/compose/animation/animation-core-lint/src/test/java/androidx/compose/animation/core/lint/UnrememberedAnimatableDetectorTest.kt
@@ -18,7 +18,8 @@
package androidx.compose.animation.core.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
+import androidx.compose.lint.test.compiledStub
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -29,9 +30,6 @@
/* ktlint-disable max-line-length */
@RunWith(JUnit4::class)
-// TODO: add tests for methods defined in class files when we update Lint to support bytecode()
-// test files
-
/**
* Test for [UnrememberedAnimatableDetector].
*/
@@ -42,7 +40,9 @@
mutableListOf(UnrememberedAnimatableDetector.UnrememberedAnimatable)
// Simplified Animatable.kt stubs
- private val AnimatableStub = kotlin(
+ private val AnimatableStub = compiledStub(
+ filename = "Animatable.kt",
+ filepath = "androidx/compose/animation/core",
"""
package androidx.compose.animation.core
@@ -52,11 +52,54 @@
)
fun Animatable(initialValue: Float): Animatable<Float, Any> = Animatable(initialValue)
+ """,
+"""
+ androidx/compose/animation/core/Animatable.class:
+ H4sIAAAAAAAAAI1SW08TQRT+ZrvdtmsLSwUpeENFbQuyaHwgQky8xKRJQQJN
+ X4gPQzvitNtdsjNt8MXwN3z1F2iiIfHBEB/9UcYz23qjPpjNzrnMmfN95/Lt
+ ++cvAO7jHkOVh+04ku0jvxX1DiMlfB7KHtcyCskTC/9RYvL9QGTAGDY2Gg/q
+ HT7gfsDDA//5fke09HrzH76H4y4G76wvA5vB2ZCh1A8ZbpfHH417Kk2GXLnR
+ WG80E32xHsUHfkfo/ZjLUFEFYaSTEpS/1Q8CQ56wU+VKMw8Hros0zjEU9OtD
+ 8SQKByLWImYojiPlUcBEDhYmGWz9SiqG5fr/d4xA86YyyYMmD/qCoflfBdbq
+ 3UgHMvQ7g54vQ2IX8sB/Kl7yfqCJsdJxv6WjeJPHXRGvD8vKuMRzhlp8IHTj
+ 78qmy5V/DSNdrlAHqTHJOfUTdFNo3qYCyGf1BinaFGaONAPrkutIGmuVtPZd
+ hhenx55rlSzXytLvnR6T4pROj6t2lm4YCeZZ96zV1OO5ouPZ89ba6XHRzVpe
+ et4usTX29Z1jec7OzB+2S3ly83Y242UNCC0pa9BPgwYN7Xd3V7qa9mBXHoRc
+ 92Nq7sWdfqhlT9TCgVSSIh79XgSa35OoTUGTdRmKrX5vX8QNk8XMPWqZAcXS
+ 2CPn4tlc2zzmPUHt/CtpYVfzVneTH46eubtRP26JZ9IYc6MczTE2uEuzSpvO
+ omhWjKwKWRbmUSXpkD9HMkWSBktyiaxtujetd6snyFeXP8H7kLxZpnMiubHp
+ c+iljTtkLQyjMUUYSLTzFMcS7U/MLFZI5qyEDsF6BnSadAO6QUkM0cnL6Tdv
+ aQc2q0vLJ7gwRPaHHLMJhSLBIiHgUEqbADIEPYvSiL5PGQ14uvoR3vtfzJ3E
+ 6SSM88OAEeMhu7kzHRl6U1hNZJk6CdTo9iK9u7SHVA2Xa7hCJ66aY6GGa7i+
+ B6ZwA4t7cBWKCjcVbincVjivUFDIKMwqlBQmfgAHXc93GwUAAA==
+ """,
+ """
+ androidx/compose/animation/core/AnimatableKt.class:
+ H4sIAAAAAAAAAJVRTW/TQBB9a+eDuKF1w1frAoVyoRJi08KJIKQKKVKECRKt
+ eslpE6+iTezdyl5HPeYncUQcUM78KMSsGykSXKi1np33/Ha88+bX7x8/AbzF
+ EcMroZPcqOSaT0x2ZQrJhVaZsMpoYnLJzyooxqn8ZJtgDOFMLARPhZ7yL+OZ
+ nBDrMwQbHQN/2T+O/79wj+Hidifex5tL9FMjbC/++1a9D1T2RWzyKZ9JO86F
+ 0gUV1MZWFQs+NHZYpmmvjToaATy0GNpKK6tEeinSkvpgfYbdeG5sqjT/LK1I
+ 6PdU1ssWPhnIXKiTbO4Sj/hr5bIuZckJw5vVMgxWy8Db8wIvbNJLYLWMItqj
+ 7U6t43W9KvpddtoIaxFhd/SUxnI7+8Bwd0O8nluG2keTUAs7sdJyWGZjmV/c
+ DKcTm4nrMFcOr8nWuZpqYcuc8oOvpbYqkwO9UIWiz2cb12jQ56bMJ7Kv3LH9
+ tfTyHyFOyNEa3EMyZzF8HBDihJnz7eg7gm/ONzym2KjIFp5QbN8IsEUZ8LTS
+ NHG4Vt2p8LMqRnhO+zvXPum3R/AH2BkgpIjdATq4N8B9PBiBFXiIRyPUC7f2
+ CuxXa+sP0YZpjAsDAAA=
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAHWLuwrCQBBFR3zBIBZbiIgQsFCwWBt/QCzTqdhvkiEO7CPs
+ A/x8V9QqWNx74XIOAAwBYJAz/i7gEVfKNt5x85S1M50LJJVloyI7KxZXtq2m
+ u9KJTr+3jHjA4r+VH09i9uFVpSkLW1z2BJ9sZEMCL2TIVOQzt8N1j0ssW6+6
+ B9dBTM9Ouzc4x1GkEMXklruMG9jDC9/F7r/gAAAA
"""
)
// Simplified Animatable Color function stub, from androidx.compose.animation
- private val AnimatableColorStub = kotlin(
+ private val AnimatableColorStub = compiledStub(
+ filename = "SingleValueAnimation.kt",
+ filepath = "androidx/compose/animation",
"""
package androidx.compose.animation
@@ -64,6 +107,31 @@
import androidx.compose.ui.graphics.Color
fun Animatable(initialValue: Color): Animatable<Color, Any> = Animatable(initialValue)
+ """,
+"""
+ androidx/compose/animation/SingleValueAnimationKt.class:
+ H4sIAAAAAAAAAJVTXU8TQRQ9s223Zam0VFEoigooHwLbEh8wJUSCMSkWTESb
+ GB7MtF3rtNsZMjvb8Ej8J/oLfJNoYgi++aOMdwuExBKFTfbOuXfPnXPvzN1f
+ v7/9APAYSwxFLhtaica+W1edPRV4Lpeiw41Q0t0Rsul7Ve6H3vpZ8IVJgjFk
+ W7zLXZ/Lpvuy1vLqFI0x5E5ovOZ7iyvvVoq+v87gzm7OVf6hUlfac88TSwzN
+ q2Ws9nND4TY13/sg6oG7oXylS5W/Cy6tkdJURemm2/JMTXMhA9KQyvREAndb
+ me3Q94k1f/lakhhgmPx/PUkMMqRqan9RdPZ8hpkLW+5vI41rGHKQRobBXhVS
+ mDWG6mx/d/2RcqWtjC+k2+p2XCGNpyX33Wfeex76ZoM6NjqsG6W3uG57ujRX
+ TWMYOQcOrjOkIynB/d4wMLBNhuGz/bY8wxvUPp2U1enGaLJYZBJEa0fAovi+
+ iFCBUKPI8OboIOccHTjWqHXyZiMnFcvPEMgP5eI5q2D1bKzAlu1sPE/+z0N2
+ dECGHX+246lE1j7+aA1S1piTSB1/miiwaPNlBuf8NhgWrjZ505e5A0YN4tZF
+ P8dS2zDEN1SDlDMVIb3tsFPz9OuTWnIVVY9OUIvIPw0O7Iim5CbUhMdfhdKI
+ jleWXREI+rx+Po7U144Kdd17LqK0sVNqtY+IIizEET1EQwI2Ypgh7wkhi9bM
+ dzhvJw6RZQn2FTe+RDeEWbI2JQBJzJFN93AGI7hJ63yPk8SjU1aq5y/07EMs
+ 0vo0OhISG91FrIyxMvJkMV7GbdwpYwJ3d8EC3MP9XSQDTAaYCjAd4EGAkQCJ
+ APYfAm5eAJQEAAA=
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAHWLuwrCQBBFR3zBIBZbiIgQsFCwWBt/QCzTqdhvkiEO7CPs
+ A/x8V9QqWNx74XIOAAwBYJAz/i7gEVfKNt5x85S1M50LJJVloyI7KxZXtq2m
+ u9KJTr+3jHjA4r+VH09i9uFVpSkLW1z2BJ9sZEMCL2TIVOQzt8N1j0ssW6+6
+ B9dBTM9Ouzc4x1GkEMXklruMG9jDC9/F7r/gAAAA
"""
)
@@ -157,9 +225,9 @@
),
AnimatableStub,
AnimatableColorStub,
- kotlin(Stubs.Color),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Remember)
+ Stubs.Color,
+ Stubs.Composable,
+ Stubs.Remember
)
.run()
.expect(
@@ -257,7 +325,7 @@
fun Test() {
// Float function and constructor from androidx.compose.animation.core
val animatable = remember { Animatable(0f) }
- val animatable2 = remember { Animatable() }
+ val animatable2 = remember { Animatable<Boolean, Any>(false) }
// Color function from androidx.compose.animation
val animatable3 = remember { Animatable(Color.Red) }
}
@@ -265,7 +333,7 @@
val lambda = @Composable {
// Float function and constructor from androidx.compose.animation.core
val animatable = remember { Animatable(0f) }
- val animatable2 = remember { Animatable() }
+ val animatable2 = remember { Animatable<Boolean, Any>(false) }
// Color function from androidx.compose.animation
val animatable3 = remember { Animatable(Color.Red) }
}
@@ -273,7 +341,7 @@
val lambda2: @Composable () -> Unit = {
// Float function and constructor from androidx.compose.animation.core
val animatable = remember { Animatable(0f) }
- val animatable2 = remember { Animatable() }
+ val animatable2 = remember { Animatable<Boolean, Any>(false) }
// Color function from androidx.compose.animation
val animatable3 = remember { Animatable(Color.Red) }
}
@@ -286,14 +354,14 @@
LambdaParameter(content = {
// Float function and constructor from androidx.compose.animation.core
val animatable = remember { Animatable(0f) }
- val animatable2 = remember { Animatable() }
+ val animatable2 = remember { Animatable<Boolean, Any>(false) }
// Color function from androidx.compose.animation
val animatable3 = remember { Animatable(Color.Red) }
})
LambdaParameter {
// Float function and constructor from androidx.compose.animation.core
val animatable = remember { Animatable(0f) }
- val animatable2 = remember { Animatable() }
+ val animatable2 = remember { Animatable<Boolean, Any>(false) }
// Color function from androidx.compose.animation
val animatable3 = remember { Animatable(Color.Red) }
}
@@ -303,7 +371,7 @@
val localLambda1 = @Composable {
// Float function and constructor from androidx.compose.animation.core
val animatable = remember { Animatable(0f) }
- val animatable2 = remember { Animatable() }
+ val animatable2 = remember { Animatable<Boolean, Any>(false) }
// Color function from androidx.compose.animation
val animatable3 = remember { Animatable(Color.Red) }
}
@@ -311,7 +379,7 @@
val localLambda2: @Composable () -> Unit = {
// Float function and constructor from androidx.compose.animation.core
val animatable = remember { Animatable(0f) }
- val animatable2 = remember { Animatable() }
+ val animatable2 = remember { Animatable<Boolean, Any>(false) }
// Color function from androidx.compose.animation
val animatable3 = remember { Animatable(Color.Red) }
}
@@ -320,9 +388,9 @@
),
AnimatableStub,
AnimatableColorStub,
- kotlin(Stubs.Color),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Remember)
+ Stubs.Color,
+ Stubs.Composable,
+ Stubs.Remember
)
.run()
.expectClean()
@@ -433,9 +501,9 @@
),
AnimatableStub,
AnimatableColorStub,
- kotlin(Stubs.Color),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Remember)
+ Stubs.Color,
+ Stubs.Composable,
+ Stubs.Remember
)
.run()
.expectClean()
diff --git a/compose/animation/animation-core/api/1.0.0-beta10.txt b/compose/animation/animation-core/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..2b5c962
--- /dev/null
+++ b/compose/animation/animation-core/api/1.0.0-beta10.txt
@@ -0,0 +1,647 @@
+// Signature format: 4.0
+package androidx.compose.animation.core {
+
+ public final class ActualJvmKt {
+ }
+
+ public final class Animatable<T, V extends androidx.compose.animation.core.AnimationVector> {
+ ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional T? visibilityThreshold);
+ method public suspend Object? animateDecay(T? initialVelocity, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
+ method public suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? initialVelocity, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
+ method public androidx.compose.runtime.State<T> asState();
+ method public T? getLowerBound();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T? getUpperBound();
+ method public T! getValue();
+ method public T! getVelocity();
+ method public V getVelocityVector();
+ method public boolean isRunning();
+ method public suspend Object? snapTo(T? targetValue, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? stop(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public void updateBounds(optional T? lowerBound, optional T? upperBound);
+ property public final boolean isRunning;
+ property public final T? lowerBound;
+ property public final T! targetValue;
+ property public final androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ property public final T? upperBound;
+ property public final T! value;
+ property public final T! velocity;
+ property public final V velocityVector;
+ }
+
+ public final class AnimatableKt {
+ method public static androidx.compose.animation.core.Animatable<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> Animatable(float initialValue, optional float visibilityThreshold);
+ }
+
+ public final class AnimateAsStateKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> animateDpAsState-Lz7ev7o(float targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.Dp> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Dp,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Float> animateFloatAsState(float targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional float visibilityThreshold, optional kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Integer> animateIntAsState(int targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Integer> animationSpec, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.unit.IntOffset> animateIntOffsetAsState-2AXSKHY(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntOffset,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.unit.IntSize> animateIntSizeAsState-Cmzki-s(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.geometry.Offset> animateOffsetAsState-t81mtYE(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Offset> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.geometry.Rect> animateRectAsState(androidx.compose.ui.geometry.Rect targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Rect> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Rect,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.geometry.Size> animateSizeAsState-rlPqr8Y(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Size> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Size,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValueAsState(T? targetValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? visibilityThreshold, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? finishedListener);
+ }
+
+ public interface Animation<T, V extends androidx.compose.animation.core.AnimationVector> {
+ method public long getDurationNanos();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValueFromNanos(long playTimeNanos);
+ method public V getVelocityVectorFromNanos(long playTimeNanos);
+ method public default boolean isFinishedFromNanos(long playTimeNanos);
+ method public boolean isInfinite();
+ property public abstract long durationNanos;
+ property public abstract boolean isInfinite;
+ property public abstract T! targetValue;
+ property public abstract androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ }
+
+ public final class AnimationConstants {
+ field public static final int DefaultDurationMillis = 300; // 0x12c
+ field public static final androidx.compose.animation.core.AnimationConstants INSTANCE;
+ field public static final long UnspecifiedTime = -9223372036854775808L; // 0x8000000000000000L
+ }
+
+ public enum AnimationEndReason {
+ enum_constant public static final androidx.compose.animation.core.AnimationEndReason BoundReached;
+ enum_constant public static final androidx.compose.animation.core.AnimationEndReason Finished;
+ }
+
+ public final class AnimationKt {
+ method public static androidx.compose.animation.core.DecayAnimation<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> DecayAnimation(androidx.compose.animation.core.FloatDecayAnimationSpec animationSpec, float initialValue, optional float initialVelocity);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.TargetBasedAnimation<T,V> TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, T? initialVelocity);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> T! getVelocityFromNanos(androidx.compose.animation.core.Animation<T,V>, long playTimeNanos);
+ }
+
+ public final class AnimationResult<T, V extends androidx.compose.animation.core.AnimationVector> {
+ ctor public AnimationResult(androidx.compose.animation.core.AnimationState<T,V> endState, androidx.compose.animation.core.AnimationEndReason endReason);
+ method public androidx.compose.animation.core.AnimationEndReason getEndReason();
+ method public androidx.compose.animation.core.AnimationState<T,V> getEndState();
+ property public final androidx.compose.animation.core.AnimationEndReason endReason;
+ property public final androidx.compose.animation.core.AnimationState<T,V> endState;
+ }
+
+ public final class AnimationScope<T, V extends androidx.compose.animation.core.AnimationVector> {
+ method public void cancelAnimation();
+ method public long getFinishedTimeNanos();
+ method public long getLastFrameTimeNanos();
+ method public long getStartTimeNanos();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValue();
+ method public T! getVelocity();
+ method public V getVelocityVector();
+ method public boolean isRunning();
+ method public androidx.compose.animation.core.AnimationState<T,V> toAnimationState();
+ property public final long finishedTimeNanos;
+ property public final boolean isRunning;
+ property public final long lastFrameTimeNanos;
+ property public final long startTimeNanos;
+ property public final T! targetValue;
+ property public final androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ property public final T! value;
+ property public final T! velocity;
+ property public final V velocityVector;
+ }
+
+ public interface AnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ }
+
+ public final class AnimationSpecKt {
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.InfiniteRepeatableSpec<T> infiniteRepeatable(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.KeyframesSpec<T> keyframes(kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T>,kotlin.Unit> init);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.RepeatableSpec<T> repeatable(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.SnapSpec<T> snap(optional int delayMillis);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.SpringSpec<T> spring(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.TweenSpec<T> tween(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
+ }
+
+ public final class AnimationState<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.runtime.State<T> {
+ ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, optional V? initialVelocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public long getFinishedTimeNanos();
+ method public long getLastFrameTimeNanos();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValue();
+ method public T! getVelocity();
+ method public V getVelocityVector();
+ method public boolean isRunning();
+ property public final long finishedTimeNanos;
+ property public final boolean isRunning;
+ property public final long lastFrameTimeNanos;
+ property public final androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ property public T! value;
+ property public final T! velocity;
+ property public final V velocityVector;
+ }
+
+ public final class AnimationStateKt {
+ method public static androidx.compose.animation.core.AnimationState<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> AnimationState(float initialValue, optional float initialVelocity, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.AnimationState<T,V> AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? initialVelocity, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.AnimationState<T,V> copy(androidx.compose.animation.core.AnimationState<T,V>, optional T? value, optional V? velocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static androidx.compose.animation.core.AnimationState<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> copy(androidx.compose.animation.core.AnimationState<java.lang.Float,androidx.compose.animation.core.AnimationVector1D>, optional float value, optional float velocity, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> V createZeroVectorFrom(androidx.compose.animation.core.TwoWayConverter<T,V>, T? value);
+ method public static boolean isFinished(androidx.compose.animation.core.AnimationState<?,?>);
+ }
+
+ public abstract sealed class AnimationVector {
+ }
+
+ public final class AnimationVector1D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector1D(float initVal);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getValue();
+ method public androidx.compose.animation.core.AnimationVector1D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float value;
+ }
+
+ public final class AnimationVector2D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector2D(float v1, float v2);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getV1();
+ method public float getV2();
+ method public androidx.compose.animation.core.AnimationVector2D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float v1;
+ property public final float v2;
+ }
+
+ public final class AnimationVector3D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector3D(float v1, float v2, float v3);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getV1();
+ method public float getV2();
+ method public float getV3();
+ method public androidx.compose.animation.core.AnimationVector3D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float v1;
+ property public final float v2;
+ property public final float v3;
+ }
+
+ public final class AnimationVector4D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector4D(float v1, float v2, float v3, float v4);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getV1();
+ method public float getV2();
+ method public float getV3();
+ method public float getV4();
+ method public androidx.compose.animation.core.AnimationVector4D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float v1;
+ property public final float v2;
+ property public final float v3;
+ property public final float v4;
+ }
+
+ public final class AnimationVectorsKt {
+ method public static androidx.compose.animation.core.AnimationVector1D AnimationVector(float v1);
+ method public static androidx.compose.animation.core.AnimationVector2D AnimationVector(float v1, float v2);
+ method public static androidx.compose.animation.core.AnimationVector3D AnimationVector(float v1, float v2, float v3);
+ method public static androidx.compose.animation.core.AnimationVector4D AnimationVector(float v1, float v2, float v3, float v4);
+ }
+
+ public final class ComplexDoubleKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class CubicBezierEasing implements androidx.compose.animation.core.Easing {
+ ctor public CubicBezierEasing(float a, float b, float c, float d);
+ method public float transform(float fraction);
+ }
+
+ public final class DecayAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
+ ctor public DecayAnimation(androidx.compose.animation.core.VectorizedDecayAnimationSpec<V> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V initialVelocityVector);
+ ctor public DecayAnimation(androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V initialVelocityVector);
+ ctor public DecayAnimation(androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? initialVelocity);
+ method public long getDurationNanos();
+ method public T! getInitialValue();
+ method public V getInitialVelocityVector();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValueFromNanos(long playTimeNanos);
+ method public V getVelocityVectorFromNanos(long playTimeNanos);
+ method public boolean isInfinite();
+ property public long durationNanos;
+ property public final T! initialValue;
+ property public final V initialVelocityVector;
+ property public boolean isInfinite;
+ property public T! targetValue;
+ property public androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ }
+
+ public interface DecayAnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDecayAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter);
+ }
+
+ public final class DecayAnimationSpecKt {
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> T! calculateTargetValue(androidx.compose.animation.core.DecayAnimationSpec<T>, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? initialVelocity);
+ method public static float calculateTargetValue(androidx.compose.animation.core.DecayAnimationSpec<java.lang.Float>, float initialValue, float initialVelocity);
+ method public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> exponentialDecay(optional float frictionMultiplier, optional float absVelocityThreshold);
+ method public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> generateDecayAnimationSpec(androidx.compose.animation.core.FloatDecayAnimationSpec);
+ }
+
+ public interface DurationBasedAnimationSpec<T> extends androidx.compose.animation.core.FiniteAnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ }
+
+ @androidx.compose.runtime.Stable public fun interface Easing {
+ method public float transform(float fraction);
+ }
+
+ public final class EasingKt {
+ method public static androidx.compose.animation.core.Easing getFastOutLinearInEasing();
+ method public static androidx.compose.animation.core.Easing getFastOutSlowInEasing();
+ method public static androidx.compose.animation.core.Easing getLinearEasing();
+ method public static androidx.compose.animation.core.Easing getLinearOutSlowInEasing();
+ }
+
+ public interface FiniteAnimationSpec<T> extends androidx.compose.animation.core.AnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ }
+
+ public interface FloatAnimationSpec extends androidx.compose.animation.core.AnimationSpec<java.lang.Float> {
+ method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
+ method public default float getEndVelocity(float initialValue, float targetValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public default <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedFloatAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<java.lang.Float,V> converter);
+ }
+
+ public interface FloatDecayAnimationSpec {
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(float initialValue, float initialVelocity);
+ method public float getTargetValue(float initialValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ property public abstract float absVelocityThreshold;
+ }
+
+ public final class FloatDecayAnimationSpecKt {
+ }
+
+ public final class FloatExponentialDecaySpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
+ ctor public FloatExponentialDecaySpec(optional float frictionMultiplier, optional float absVelocityThreshold);
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(float initialValue, float initialVelocity);
+ method public float getTargetValue(float initialValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ property public float absVelocityThreshold;
+ }
+
+ public final class FloatSpringSpec implements androidx.compose.animation.core.FloatAnimationSpec {
+ ctor public FloatSpringSpec(optional float dampingRatio, optional float stiffness, optional float visibilityThreshold);
+ method public float getDampingRatio();
+ method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
+ method public float getStiffness();
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ property public final float dampingRatio;
+ property public final float stiffness;
+ }
+
+ public final class FloatTweenSpec implements androidx.compose.animation.core.FloatAnimationSpec {
+ ctor public FloatTweenSpec(optional int duration, optional int delay, optional androidx.compose.animation.core.Easing easing);
+ method public int getDelay();
+ method public int getDuration();
+ method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ property public final int delay;
+ property public final int duration;
+ }
+
+ public interface InfiniteAnimationPolicy extends kotlin.coroutines.CoroutineContext.Element {
+ method public default kotlin.coroutines.CoroutineContext.Key<?> getKey();
+ method public suspend <R> Object? onInfiniteOperation(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ property public default kotlin.coroutines.CoroutineContext.Key<?> key;
+ field public static final androidx.compose.animation.core.InfiniteAnimationPolicy.Key Key;
+ }
+
+ public static final class InfiniteAnimationPolicy.Key implements kotlin.coroutines.CoroutineContext.Key<androidx.compose.animation.core.InfiniteAnimationPolicy> {
+ }
+
+ public final class InfiniteAnimationPolicyKt {
+ method public static suspend inline <R> Object? withInfiniteAnimationFrameMillis(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ method public static suspend <R> Object? withInfiniteAnimationFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ public final class InfiniteRepeatableSpec<T> implements androidx.compose.animation.core.AnimationSpec<T> {
+ ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
+ method public androidx.compose.animation.core.RepeatMode getRepeatMode();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation;
+ property public final androidx.compose.animation.core.RepeatMode repeatMode;
+ }
+
+ public final class InfiniteTransition {
+ }
+
+ public final class InfiniteTransitionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Float> animateFloat(androidx.compose.animation.core.InfiniteTransition, float initialValue, float targetValue, androidx.compose.animation.core.InfiniteRepeatableSpec<java.lang.Float> animationSpec);
+ method @androidx.compose.runtime.Composable public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValue(androidx.compose.animation.core.InfiniteTransition, T? initialValue, T? targetValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, androidx.compose.animation.core.InfiniteRepeatableSpec<T> animationSpec);
+ method @androidx.compose.runtime.Composable public static androidx.compose.animation.core.InfiniteTransition rememberInfiniteTransition();
+ }
+
+ @androidx.compose.runtime.Immutable public final class KeyframesSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
+ ctor public KeyframesSpec(androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T> config);
+ method public androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T> getConfig();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedKeyframesSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T> config;
+ }
+
+ public static final class KeyframesSpec.KeyframeEntity<T> {
+ }
+
+ public static final class KeyframesSpec.KeyframesSpecConfig<T> {
+ ctor public KeyframesSpec.KeyframesSpecConfig();
+ method public infix androidx.compose.animation.core.KeyframesSpec.KeyframeEntity<T> at(T?, int timeStamp);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public void setDelayMillis(int p);
+ method public void setDurationMillis(int p);
+ method public infix void with(androidx.compose.animation.core.KeyframesSpec.KeyframeEntity<T>, androidx.compose.animation.core.Easing easing);
+ property public final int delayMillis;
+ property public final int durationMillis;
+ }
+
+ public final class MutableTransitionState<S> {
+ ctor public MutableTransitionState(S? initialState);
+ method public S! getCurrentState();
+ method public S! getTargetState();
+ method public void setTargetState(S! p);
+ property public final S! currentState;
+ property public final S! targetState;
+ }
+
+ public enum RepeatMode {
+ enum_constant public static final androidx.compose.animation.core.RepeatMode Restart;
+ enum_constant public static final androidx.compose.animation.core.RepeatMode Reverse;
+ }
+
+ @androidx.compose.runtime.Immutable public final class RepeatableSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
+ ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
+ method public int getIterations();
+ method public androidx.compose.animation.core.RepeatMode getRepeatMode();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation;
+ property public final int iterations;
+ property public final androidx.compose.animation.core.RepeatMode repeatMode;
+ }
+
+ @androidx.compose.runtime.Immutable public final class SnapSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
+ ctor public SnapSpec(optional int delay);
+ method public int getDelay();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final int delay;
+ }
+
+ public final class Spring {
+ field public static final float DampingRatioHighBouncy = 0.2f;
+ field public static final float DampingRatioLowBouncy = 0.75f;
+ field public static final float DampingRatioMediumBouncy = 0.5f;
+ field public static final float DampingRatioNoBouncy = 1.0f;
+ field public static final float DefaultDisplacementThreshold = 0.01f;
+ field public static final androidx.compose.animation.core.Spring INSTANCE;
+ field public static final float StiffnessHigh = 10000.0f;
+ field public static final float StiffnessLow = 200.0f;
+ field public static final float StiffnessMedium = 1500.0f;
+ field public static final float StiffnessVeryLow = 50.0f;
+ }
+
+ public final class SpringEstimationKt {
+ }
+
+ public final class SpringSimulationKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class SpringSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
+ ctor public SpringSpec(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
+ method public float getDampingRatio();
+ method public float getStiffness();
+ method public T? getVisibilityThreshold();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedSpringSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final float dampingRatio;
+ property public final float stiffness;
+ property public final T? visibilityThreshold;
+ }
+
+ public final class SuspendAnimationKt {
+ method public static suspend Object? animate(float initialValue, float targetValue, optional float initialVelocity, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend <T, V extends androidx.compose.animation.core.AnimationVector> Object? animate(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional T? initialVelocity, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, kotlin.jvm.functions.Function2<? super T,? super T,kotlin.Unit> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? animateDecay(float initialValue, float initialVelocity, androidx.compose.animation.core.FloatDecayAnimationSpec animationSpec, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend <T, V extends androidx.compose.animation.core.AnimationVector> Object? animateDecay(androidx.compose.animation.core.AnimationState<T,V>, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional boolean sequentialAnimation, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.AnimationScope<T,V>,kotlin.Unit> block, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend <T, V extends androidx.compose.animation.core.AnimationVector> Object? animateTo(androidx.compose.animation.core.AnimationState<T,V>, T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional boolean sequentialAnimation, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.AnimationScope<T,V>,kotlin.Unit> block, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public final class TargetBasedAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
+ ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional V? initialVelocityVector);
+ method public long getDurationNanos();
+ method public T! getInitialValue();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValueFromNanos(long playTimeNanos);
+ method public V getVelocityVectorFromNanos(long playTimeNanos);
+ method public boolean isInfinite();
+ property public long durationNanos;
+ property public final T! initialValue;
+ property public boolean isInfinite;
+ property public T! targetValue;
+ property public androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ }
+
+ @androidx.compose.runtime.Stable public final class Transition<S> {
+ method public S! getCurrentState();
+ method public String? getLabel();
+ method public androidx.compose.animation.core.Transition.Segment<S> getSegment();
+ method public S! getTargetState();
+ method public boolean isRunning();
+ property public final S! currentState;
+ property public final boolean isRunning;
+ property public final String? label;
+ property public final androidx.compose.animation.core.Transition.Segment<S> segment;
+ property public final S! targetState;
+ }
+
+ public static interface Transition.Segment<S> {
+ method public S! getInitialState();
+ method public S! getTargetState();
+ method public default infix boolean isTransitioningTo(S?, S? targetState);
+ property public abstract S! initialState;
+ property public abstract S! targetState;
+ }
+
+ public final class TransitionKt {
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> animateDp(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.Dp>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.Dp> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<java.lang.Float> animateFloat(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,java.lang.Float> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<java.lang.Integer> animateInt(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Integer>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,java.lang.Integer> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntOffset> animateIntOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntOffset> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntSize> animateIntSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntSize> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Offset> animateOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Offset>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Offset> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Rect> animateRect(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Rect>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Rect> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Size> animateSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Size>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Size> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S, T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValue(androidx.compose.animation.core.Transition<S>, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<T>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,? extends T> targetValueByState);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.animation.core.Transition<T> updateTransition(T? targetState, optional String? label);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.animation.core.Transition<T> updateTransition(androidx.compose.animation.core.MutableTransitionState<T> transitionState, optional String? label);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TweenSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
+ ctor public TweenSpec(optional int durationMillis, optional int delay, optional androidx.compose.animation.core.Easing easing);
+ method public int getDelay();
+ method public int getDurationMillis();
+ method public androidx.compose.animation.core.Easing getEasing();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedTweenSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final int delay;
+ property public final int durationMillis;
+ property public final androidx.compose.animation.core.Easing easing;
+ }
+
+ public interface TwoWayConverter<T, V extends androidx.compose.animation.core.AnimationVector> {
+ method public kotlin.jvm.functions.Function1<V,T> getConvertFromVector();
+ method public kotlin.jvm.functions.Function1<T,V> getConvertToVector();
+ property public abstract kotlin.jvm.functions.Function1<V,T> convertFromVector;
+ property public abstract kotlin.jvm.functions.Function1<T,V> convertToVector;
+ }
+
+ public final class VectorConvertersKt {
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.TwoWayConverter<T,V> TwoWayConverter(kotlin.jvm.functions.Function1<? super T,? extends V> convertToVector, kotlin.jvm.functions.Function1<? super V,? extends T> convertFromVector);
+ method public static androidx.compose.animation.core.TwoWayConverter<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(kotlin.jvm.internal.FloatCompanionObject);
+ method public static androidx.compose.animation.core.TwoWayConverter<java.lang.Integer,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(kotlin.jvm.internal.IntCompanionObject);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Rect,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.geometry.Rect.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Dp,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(androidx.compose.ui.unit.Dp.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.DpOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.DpOffset.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Size,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Size.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Offset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Offset.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.IntOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.IntOffset.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.IntSize,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.IntSize.Companion);
+ }
+
+ public interface VectorizedAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> {
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public default V getEndVelocity(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public boolean isInfinite();
+ property public abstract boolean isInfinite;
+ }
+
+ public final class VectorizedAnimationSpecKt {
+ }
+
+ public interface VectorizedDecayAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> {
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(V initialValue, V initialVelocity);
+ method public V getTargetValue(V initialValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V initialVelocity);
+ property public abstract float absVelocityThreshold;
+ }
+
+ public interface VectorizedDurationBasedAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> extends androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public default long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ property public abstract int delayMillis;
+ property public abstract int durationMillis;
+ }
+
+ public interface VectorizedFiniteAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> extends androidx.compose.animation.core.VectorizedAnimationSpec<V> {
+ method public default boolean isInfinite();
+ property public default boolean isInfinite;
+ }
+
+ public final class VectorizedFloatAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ ctor public VectorizedFloatAnimationSpec(androidx.compose.animation.core.FloatAnimationSpec anim);
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ }
+
+ public final class VectorizedInfiniteRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedAnimationSpec<V> {
+ ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public boolean isInfinite();
+ property public boolean isInfinite;
+ }
+
+ public final class VectorizedKeyframesSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
+ ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, optional int delayMillis);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ property public int delayMillis;
+ property public int durationMillis;
+ }
+
+ public final class VectorizedRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ }
+
+ public final class VectorizedSnapSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
+ ctor public VectorizedSnapSpec(optional int delayMillis);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ property public int delayMillis;
+ property public int durationMillis;
+ }
+
+ public final class VectorizedSpringSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ ctor public VectorizedSpringSpec(optional float dampingRatio, optional float stiffness, optional V? visibilityThreshold);
+ method public float getDampingRatio();
+ method public float getStiffness();
+ property public final float dampingRatio;
+ property public final float stiffness;
+ }
+
+ public final class VectorizedTweenSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
+ ctor public VectorizedTweenSpec(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public androidx.compose.animation.core.Easing getEasing();
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ property public int delayMillis;
+ property public int durationMillis;
+ property public final androidx.compose.animation.core.Easing easing;
+ }
+
+ public final class VisibilityThresholdsKt {
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.IntOffset.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Offset.Companion);
+ method public static int getVisibilityThreshold(kotlin.jvm.internal.IntCompanionObject);
+ method public static float getVisibilityThreshold(androidx.compose.ui.unit.Dp.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.DpOffset.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Size.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.IntSize.Companion);
+ method public static androidx.compose.ui.geometry.Rect getVisibilityThreshold(androidx.compose.ui.geometry.Rect.Companion);
+ }
+
+}
+
diff --git a/compose/animation/animation-core/api/public_plus_experimental_1.0.0-beta10.txt b/compose/animation/animation-core/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..e181d01
--- /dev/null
+++ b/compose/animation/animation-core/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,656 @@
+// Signature format: 4.0
+package androidx.compose.animation.core {
+
+ public final class ActualJvmKt {
+ }
+
+ public final class Animatable<T, V extends androidx.compose.animation.core.AnimationVector> {
+ ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional T? visibilityThreshold);
+ method public suspend Object? animateDecay(T? initialVelocity, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
+ method public suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? initialVelocity, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
+ method public androidx.compose.runtime.State<T> asState();
+ method public T? getLowerBound();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T? getUpperBound();
+ method public T! getValue();
+ method public T! getVelocity();
+ method public V getVelocityVector();
+ method public boolean isRunning();
+ method public suspend Object? snapTo(T? targetValue, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? stop(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public void updateBounds(optional T? lowerBound, optional T? upperBound);
+ property public final boolean isRunning;
+ property public final T? lowerBound;
+ property public final T! targetValue;
+ property public final androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ property public final T? upperBound;
+ property public final T! value;
+ property public final T! velocity;
+ property public final V velocityVector;
+ }
+
+ public final class AnimatableKt {
+ method public static androidx.compose.animation.core.Animatable<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> Animatable(float initialValue, optional float visibilityThreshold);
+ }
+
+ public final class AnimateAsStateKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> animateDpAsState-Lz7ev7o(float targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.Dp> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Dp,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Float> animateFloatAsState(float targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional float visibilityThreshold, optional kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Integer> animateIntAsState(int targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Integer> animationSpec, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.unit.IntOffset> animateIntOffsetAsState-2AXSKHY(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntOffset,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.unit.IntSize> animateIntSizeAsState-Cmzki-s(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.geometry.Offset> animateOffsetAsState-t81mtYE(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Offset> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.geometry.Rect> animateRectAsState(androidx.compose.ui.geometry.Rect targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Rect> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Rect,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.geometry.Size> animateSizeAsState-rlPqr8Y(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Size> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Size,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValueAsState(T? targetValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? visibilityThreshold, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? finishedListener);
+ }
+
+ public interface Animation<T, V extends androidx.compose.animation.core.AnimationVector> {
+ method public long getDurationNanos();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValueFromNanos(long playTimeNanos);
+ method public V getVelocityVectorFromNanos(long playTimeNanos);
+ method public default boolean isFinishedFromNanos(long playTimeNanos);
+ method public boolean isInfinite();
+ property public abstract long durationNanos;
+ property public abstract boolean isInfinite;
+ property public abstract T! targetValue;
+ property public abstract androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ }
+
+ public final class AnimationConstants {
+ field public static final int DefaultDurationMillis = 300; // 0x12c
+ field public static final androidx.compose.animation.core.AnimationConstants INSTANCE;
+ field public static final long UnspecifiedTime = -9223372036854775808L; // 0x8000000000000000L
+ }
+
+ public enum AnimationEndReason {
+ enum_constant public static final androidx.compose.animation.core.AnimationEndReason BoundReached;
+ enum_constant public static final androidx.compose.animation.core.AnimationEndReason Finished;
+ }
+
+ public final class AnimationKt {
+ method public static androidx.compose.animation.core.DecayAnimation<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> DecayAnimation(androidx.compose.animation.core.FloatDecayAnimationSpec animationSpec, float initialValue, optional float initialVelocity);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.TargetBasedAnimation<T,V> TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, T? initialVelocity);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> T! getVelocityFromNanos(androidx.compose.animation.core.Animation<T,V>, long playTimeNanos);
+ }
+
+ public final class AnimationResult<T, V extends androidx.compose.animation.core.AnimationVector> {
+ ctor public AnimationResult(androidx.compose.animation.core.AnimationState<T,V> endState, androidx.compose.animation.core.AnimationEndReason endReason);
+ method public androidx.compose.animation.core.AnimationEndReason getEndReason();
+ method public androidx.compose.animation.core.AnimationState<T,V> getEndState();
+ property public final androidx.compose.animation.core.AnimationEndReason endReason;
+ property public final androidx.compose.animation.core.AnimationState<T,V> endState;
+ }
+
+ public final class AnimationScope<T, V extends androidx.compose.animation.core.AnimationVector> {
+ method public void cancelAnimation();
+ method public long getFinishedTimeNanos();
+ method public long getLastFrameTimeNanos();
+ method public long getStartTimeNanos();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValue();
+ method public T! getVelocity();
+ method public V getVelocityVector();
+ method public boolean isRunning();
+ method public androidx.compose.animation.core.AnimationState<T,V> toAnimationState();
+ property public final long finishedTimeNanos;
+ property public final boolean isRunning;
+ property public final long lastFrameTimeNanos;
+ property public final long startTimeNanos;
+ property public final T! targetValue;
+ property public final androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ property public final T! value;
+ property public final T! velocity;
+ property public final V velocityVector;
+ }
+
+ public interface AnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ }
+
+ public final class AnimationSpecKt {
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.InfiniteRepeatableSpec<T> infiniteRepeatable(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.KeyframesSpec<T> keyframes(kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T>,kotlin.Unit> init);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.RepeatableSpec<T> repeatable(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.SnapSpec<T> snap(optional int delayMillis);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.SpringSpec<T> spring(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.TweenSpec<T> tween(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
+ }
+
+ public final class AnimationState<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.runtime.State<T> {
+ ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, optional V? initialVelocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public long getFinishedTimeNanos();
+ method public long getLastFrameTimeNanos();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValue();
+ method public T! getVelocity();
+ method public V getVelocityVector();
+ method public boolean isRunning();
+ property public final long finishedTimeNanos;
+ property public final boolean isRunning;
+ property public final long lastFrameTimeNanos;
+ property public final androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ property public T! value;
+ property public final T! velocity;
+ property public final V velocityVector;
+ }
+
+ public final class AnimationStateKt {
+ method public static androidx.compose.animation.core.AnimationState<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> AnimationState(float initialValue, optional float initialVelocity, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.AnimationState<T,V> AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? initialVelocity, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.AnimationState<T,V> copy(androidx.compose.animation.core.AnimationState<T,V>, optional T? value, optional V? velocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static androidx.compose.animation.core.AnimationState<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> copy(androidx.compose.animation.core.AnimationState<java.lang.Float,androidx.compose.animation.core.AnimationVector1D>, optional float value, optional float velocity, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> V createZeroVectorFrom(androidx.compose.animation.core.TwoWayConverter<T,V>, T? value);
+ method public static boolean isFinished(androidx.compose.animation.core.AnimationState<?,?>);
+ }
+
+ public abstract sealed class AnimationVector {
+ }
+
+ public final class AnimationVector1D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector1D(float initVal);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getValue();
+ method public androidx.compose.animation.core.AnimationVector1D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float value;
+ }
+
+ public final class AnimationVector2D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector2D(float v1, float v2);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getV1();
+ method public float getV2();
+ method public androidx.compose.animation.core.AnimationVector2D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float v1;
+ property public final float v2;
+ }
+
+ public final class AnimationVector3D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector3D(float v1, float v2, float v3);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getV1();
+ method public float getV2();
+ method public float getV3();
+ method public androidx.compose.animation.core.AnimationVector3D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float v1;
+ property public final float v2;
+ property public final float v3;
+ }
+
+ public final class AnimationVector4D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector4D(float v1, float v2, float v3, float v4);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getV1();
+ method public float getV2();
+ method public float getV3();
+ method public float getV4();
+ method public androidx.compose.animation.core.AnimationVector4D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float v1;
+ property public final float v2;
+ property public final float v3;
+ property public final float v4;
+ }
+
+ public final class AnimationVectorsKt {
+ method public static androidx.compose.animation.core.AnimationVector1D AnimationVector(float v1);
+ method public static androidx.compose.animation.core.AnimationVector2D AnimationVector(float v1, float v2);
+ method public static androidx.compose.animation.core.AnimationVector3D AnimationVector(float v1, float v2, float v3);
+ method public static androidx.compose.animation.core.AnimationVector4D AnimationVector(float v1, float v2, float v3, float v4);
+ }
+
+ public final class ComplexDoubleKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class CubicBezierEasing implements androidx.compose.animation.core.Easing {
+ ctor public CubicBezierEasing(float a, float b, float c, float d);
+ method public float transform(float fraction);
+ }
+
+ public final class DecayAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
+ ctor public DecayAnimation(androidx.compose.animation.core.VectorizedDecayAnimationSpec<V> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V initialVelocityVector);
+ ctor public DecayAnimation(androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V initialVelocityVector);
+ ctor public DecayAnimation(androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? initialVelocity);
+ method public long getDurationNanos();
+ method public T! getInitialValue();
+ method public V getInitialVelocityVector();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValueFromNanos(long playTimeNanos);
+ method public V getVelocityVectorFromNanos(long playTimeNanos);
+ method public boolean isInfinite();
+ property public long durationNanos;
+ property public final T! initialValue;
+ property public final V initialVelocityVector;
+ property public boolean isInfinite;
+ property public T! targetValue;
+ property public androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ }
+
+ public interface DecayAnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDecayAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter);
+ }
+
+ public final class DecayAnimationSpecKt {
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> T! calculateTargetValue(androidx.compose.animation.core.DecayAnimationSpec<T>, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? initialVelocity);
+ method public static float calculateTargetValue(androidx.compose.animation.core.DecayAnimationSpec<java.lang.Float>, float initialValue, float initialVelocity);
+ method public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> exponentialDecay(optional float frictionMultiplier, optional float absVelocityThreshold);
+ method public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> generateDecayAnimationSpec(androidx.compose.animation.core.FloatDecayAnimationSpec);
+ }
+
+ public interface DurationBasedAnimationSpec<T> extends androidx.compose.animation.core.FiniteAnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ }
+
+ @androidx.compose.runtime.Stable public fun interface Easing {
+ method public float transform(float fraction);
+ }
+
+ public final class EasingKt {
+ method public static androidx.compose.animation.core.Easing getFastOutLinearInEasing();
+ method public static androidx.compose.animation.core.Easing getFastOutSlowInEasing();
+ method public static androidx.compose.animation.core.Easing getLinearEasing();
+ method public static androidx.compose.animation.core.Easing getLinearOutSlowInEasing();
+ }
+
+ @kotlin.RequiresOptIn(message="This is an experimental animation API for Transition. It may change in the future.") public @interface ExperimentalTransitionApi {
+ }
+
+ public interface FiniteAnimationSpec<T> extends androidx.compose.animation.core.AnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ }
+
+ public interface FloatAnimationSpec extends androidx.compose.animation.core.AnimationSpec<java.lang.Float> {
+ method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
+ method public default float getEndVelocity(float initialValue, float targetValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public default <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedFloatAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<java.lang.Float,V> converter);
+ }
+
+ public interface FloatDecayAnimationSpec {
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(float initialValue, float initialVelocity);
+ method public float getTargetValue(float initialValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ property public abstract float absVelocityThreshold;
+ }
+
+ public final class FloatDecayAnimationSpecKt {
+ }
+
+ public final class FloatExponentialDecaySpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
+ ctor public FloatExponentialDecaySpec(optional float frictionMultiplier, optional float absVelocityThreshold);
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(float initialValue, float initialVelocity);
+ method public float getTargetValue(float initialValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ property public float absVelocityThreshold;
+ }
+
+ public final class FloatSpringSpec implements androidx.compose.animation.core.FloatAnimationSpec {
+ ctor public FloatSpringSpec(optional float dampingRatio, optional float stiffness, optional float visibilityThreshold);
+ method public float getDampingRatio();
+ method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
+ method public float getStiffness();
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ property public final float dampingRatio;
+ property public final float stiffness;
+ }
+
+ public final class FloatTweenSpec implements androidx.compose.animation.core.FloatAnimationSpec {
+ ctor public FloatTweenSpec(optional int duration, optional int delay, optional androidx.compose.animation.core.Easing easing);
+ method public int getDelay();
+ method public int getDuration();
+ method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ property public final int delay;
+ property public final int duration;
+ }
+
+ public interface InfiniteAnimationPolicy extends kotlin.coroutines.CoroutineContext.Element {
+ method public default kotlin.coroutines.CoroutineContext.Key<?> getKey();
+ method public suspend <R> Object? onInfiniteOperation(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ property public default kotlin.coroutines.CoroutineContext.Key<?> key;
+ field public static final androidx.compose.animation.core.InfiniteAnimationPolicy.Key Key;
+ }
+
+ public static final class InfiniteAnimationPolicy.Key implements kotlin.coroutines.CoroutineContext.Key<androidx.compose.animation.core.InfiniteAnimationPolicy> {
+ }
+
+ public final class InfiniteAnimationPolicyKt {
+ method public static suspend inline <R> Object? withInfiniteAnimationFrameMillis(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ method public static suspend <R> Object? withInfiniteAnimationFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ public final class InfiniteRepeatableSpec<T> implements androidx.compose.animation.core.AnimationSpec<T> {
+ ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
+ method public androidx.compose.animation.core.RepeatMode getRepeatMode();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation;
+ property public final androidx.compose.animation.core.RepeatMode repeatMode;
+ }
+
+ public final class InfiniteTransition {
+ }
+
+ public final class InfiniteTransitionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Float> animateFloat(androidx.compose.animation.core.InfiniteTransition, float initialValue, float targetValue, androidx.compose.animation.core.InfiniteRepeatableSpec<java.lang.Float> animationSpec);
+ method @androidx.compose.runtime.Composable public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValue(androidx.compose.animation.core.InfiniteTransition, T? initialValue, T? targetValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, androidx.compose.animation.core.InfiniteRepeatableSpec<T> animationSpec);
+ method @androidx.compose.runtime.Composable public static androidx.compose.animation.core.InfiniteTransition rememberInfiniteTransition();
+ }
+
+ @kotlin.RequiresOptIn(message="This API is internal to library.") @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface InternalAnimationApi {
+ }
+
+ @androidx.compose.runtime.Immutable public final class KeyframesSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
+ ctor public KeyframesSpec(androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T> config);
+ method public androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T> getConfig();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedKeyframesSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T> config;
+ }
+
+ public static final class KeyframesSpec.KeyframeEntity<T> {
+ }
+
+ public static final class KeyframesSpec.KeyframesSpecConfig<T> {
+ ctor public KeyframesSpec.KeyframesSpecConfig();
+ method public infix androidx.compose.animation.core.KeyframesSpec.KeyframeEntity<T> at(T?, int timeStamp);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public void setDelayMillis(int p);
+ method public void setDurationMillis(int p);
+ method public infix void with(androidx.compose.animation.core.KeyframesSpec.KeyframeEntity<T>, androidx.compose.animation.core.Easing easing);
+ property public final int delayMillis;
+ property public final int durationMillis;
+ }
+
+ public final class MutableTransitionState<S> {
+ ctor public MutableTransitionState(S? initialState);
+ method public S! getCurrentState();
+ method public S! getTargetState();
+ method @androidx.compose.animation.core.ExperimentalTransitionApi public boolean isIdle();
+ method public void setTargetState(S! p);
+ property public final S! currentState;
+ property @androidx.compose.animation.core.ExperimentalTransitionApi public final boolean isIdle;
+ property public final S! targetState;
+ }
+
+ public enum RepeatMode {
+ enum_constant public static final androidx.compose.animation.core.RepeatMode Restart;
+ enum_constant public static final androidx.compose.animation.core.RepeatMode Reverse;
+ }
+
+ @androidx.compose.runtime.Immutable public final class RepeatableSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
+ ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
+ method public int getIterations();
+ method public androidx.compose.animation.core.RepeatMode getRepeatMode();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation;
+ property public final int iterations;
+ property public final androidx.compose.animation.core.RepeatMode repeatMode;
+ }
+
+ @androidx.compose.runtime.Immutable public final class SnapSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
+ ctor public SnapSpec(optional int delay);
+ method public int getDelay();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final int delay;
+ }
+
+ public final class Spring {
+ field public static final float DampingRatioHighBouncy = 0.2f;
+ field public static final float DampingRatioLowBouncy = 0.75f;
+ field public static final float DampingRatioMediumBouncy = 0.5f;
+ field public static final float DampingRatioNoBouncy = 1.0f;
+ field public static final float DefaultDisplacementThreshold = 0.01f;
+ field public static final androidx.compose.animation.core.Spring INSTANCE;
+ field public static final float StiffnessHigh = 10000.0f;
+ field public static final float StiffnessLow = 200.0f;
+ field public static final float StiffnessMedium = 1500.0f;
+ field public static final float StiffnessVeryLow = 50.0f;
+ }
+
+ public final class SpringEstimationKt {
+ }
+
+ public final class SpringSimulationKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class SpringSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
+ ctor public SpringSpec(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
+ method public float getDampingRatio();
+ method public float getStiffness();
+ method public T? getVisibilityThreshold();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedSpringSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final float dampingRatio;
+ property public final float stiffness;
+ property public final T? visibilityThreshold;
+ }
+
+ public final class SuspendAnimationKt {
+ method public static suspend Object? animate(float initialValue, float targetValue, optional float initialVelocity, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend <T, V extends androidx.compose.animation.core.AnimationVector> Object? animate(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional T? initialVelocity, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, kotlin.jvm.functions.Function2<? super T,? super T,kotlin.Unit> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? animateDecay(float initialValue, float initialVelocity, androidx.compose.animation.core.FloatDecayAnimationSpec animationSpec, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend <T, V extends androidx.compose.animation.core.AnimationVector> Object? animateDecay(androidx.compose.animation.core.AnimationState<T,V>, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional boolean sequentialAnimation, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.AnimationScope<T,V>,kotlin.Unit> block, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend <T, V extends androidx.compose.animation.core.AnimationVector> Object? animateTo(androidx.compose.animation.core.AnimationState<T,V>, T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional boolean sequentialAnimation, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.AnimationScope<T,V>,kotlin.Unit> block, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public final class TargetBasedAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
+ ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional V? initialVelocityVector);
+ method public long getDurationNanos();
+ method public T! getInitialValue();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValueFromNanos(long playTimeNanos);
+ method public V getVelocityVectorFromNanos(long playTimeNanos);
+ method public boolean isInfinite();
+ property public long durationNanos;
+ property public final T! initialValue;
+ property public boolean isInfinite;
+ property public T! targetValue;
+ property public androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ }
+
+ @androidx.compose.runtime.Stable public final class Transition<S> {
+ method public S! getCurrentState();
+ method public String? getLabel();
+ method public androidx.compose.animation.core.Transition.Segment<S> getSegment();
+ method public S! getTargetState();
+ method public boolean isRunning();
+ property public final S! currentState;
+ property public final boolean isRunning;
+ property public final String? label;
+ property public final androidx.compose.animation.core.Transition.Segment<S> segment;
+ property public final S! targetState;
+ }
+
+ public static interface Transition.Segment<S> {
+ method public S! getInitialState();
+ method public S! getTargetState();
+ method public default infix boolean isTransitioningTo(S?, S? targetState);
+ property public abstract S! initialState;
+ property public abstract S! targetState;
+ }
+
+ public final class TransitionKt {
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> animateDp(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.Dp>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.Dp> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<java.lang.Float> animateFloat(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,java.lang.Float> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<java.lang.Integer> animateInt(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Integer>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,java.lang.Integer> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntOffset> animateIntOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntOffset> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntSize> animateIntSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntSize> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Offset> animateOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Offset>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Offset> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Rect> animateRect(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Rect>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Rect> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Size> animateSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Size>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Size> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S, T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValue(androidx.compose.animation.core.Transition<S>, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<T>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,? extends T> targetValueByState);
+ method @androidx.compose.animation.core.ExperimentalTransitionApi @androidx.compose.runtime.Composable public static inline <S, T> androidx.compose.animation.core.Transition<T> createChildTransition(androidx.compose.animation.core.Transition<S>, optional String label, kotlin.jvm.functions.Function1<? super S,? extends T> transformToChildState);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.animation.core.Transition<T> updateTransition(T? targetState, optional String? label);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.animation.core.Transition<T> updateTransition(androidx.compose.animation.core.MutableTransitionState<T> transitionState, optional String? label);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TweenSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
+ ctor public TweenSpec(optional int durationMillis, optional int delay, optional androidx.compose.animation.core.Easing easing);
+ method public int getDelay();
+ method public int getDurationMillis();
+ method public androidx.compose.animation.core.Easing getEasing();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedTweenSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final int delay;
+ property public final int durationMillis;
+ property public final androidx.compose.animation.core.Easing easing;
+ }
+
+ public interface TwoWayConverter<T, V extends androidx.compose.animation.core.AnimationVector> {
+ method public kotlin.jvm.functions.Function1<V,T> getConvertFromVector();
+ method public kotlin.jvm.functions.Function1<T,V> getConvertToVector();
+ property public abstract kotlin.jvm.functions.Function1<V,T> convertFromVector;
+ property public abstract kotlin.jvm.functions.Function1<T,V> convertToVector;
+ }
+
+ public final class VectorConvertersKt {
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.TwoWayConverter<T,V> TwoWayConverter(kotlin.jvm.functions.Function1<? super T,? extends V> convertToVector, kotlin.jvm.functions.Function1<? super V,? extends T> convertFromVector);
+ method public static androidx.compose.animation.core.TwoWayConverter<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(kotlin.jvm.internal.FloatCompanionObject);
+ method public static androidx.compose.animation.core.TwoWayConverter<java.lang.Integer,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(kotlin.jvm.internal.IntCompanionObject);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Rect,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.geometry.Rect.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Dp,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(androidx.compose.ui.unit.Dp.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.DpOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.DpOffset.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Size,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Size.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Offset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Offset.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.IntOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.IntOffset.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.IntSize,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.IntSize.Companion);
+ }
+
+ public interface VectorizedAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> {
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public default V getEndVelocity(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public boolean isInfinite();
+ property public abstract boolean isInfinite;
+ }
+
+ public final class VectorizedAnimationSpecKt {
+ }
+
+ public interface VectorizedDecayAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> {
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(V initialValue, V initialVelocity);
+ method public V getTargetValue(V initialValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V initialVelocity);
+ property public abstract float absVelocityThreshold;
+ }
+
+ public interface VectorizedDurationBasedAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> extends androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public default long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ property public abstract int delayMillis;
+ property public abstract int durationMillis;
+ }
+
+ public interface VectorizedFiniteAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> extends androidx.compose.animation.core.VectorizedAnimationSpec<V> {
+ method public default boolean isInfinite();
+ property public default boolean isInfinite;
+ }
+
+ public final class VectorizedFloatAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ ctor public VectorizedFloatAnimationSpec(androidx.compose.animation.core.FloatAnimationSpec anim);
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ }
+
+ public final class VectorizedInfiniteRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedAnimationSpec<V> {
+ ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public boolean isInfinite();
+ property public boolean isInfinite;
+ }
+
+ public final class VectorizedKeyframesSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
+ ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, optional int delayMillis);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ property public int delayMillis;
+ property public int durationMillis;
+ }
+
+ public final class VectorizedRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ }
+
+ public final class VectorizedSnapSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
+ ctor public VectorizedSnapSpec(optional int delayMillis);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ property public int delayMillis;
+ property public int durationMillis;
+ }
+
+ public final class VectorizedSpringSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ ctor public VectorizedSpringSpec(optional float dampingRatio, optional float stiffness, optional V? visibilityThreshold);
+ method public float getDampingRatio();
+ method public float getStiffness();
+ property public final float dampingRatio;
+ property public final float stiffness;
+ }
+
+ public final class VectorizedTweenSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
+ ctor public VectorizedTweenSpec(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public androidx.compose.animation.core.Easing getEasing();
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ property public int delayMillis;
+ property public int durationMillis;
+ property public final androidx.compose.animation.core.Easing easing;
+ }
+
+ public final class VisibilityThresholdsKt {
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.IntOffset.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Offset.Companion);
+ method public static int getVisibilityThreshold(kotlin.jvm.internal.IntCompanionObject);
+ method public static float getVisibilityThreshold(androidx.compose.ui.unit.Dp.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.DpOffset.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Size.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.IntSize.Companion);
+ method public static androidx.compose.ui.geometry.Rect getVisibilityThreshold(androidx.compose.ui.geometry.Rect.Companion);
+ }
+
+}
+
diff --git a/compose/animation/animation-core/api/res-1.0.0-beta10.txt b/compose/animation/animation-core/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/animation/animation-core/api/res-1.0.0-beta10.txt
diff --git a/compose/animation/animation-core/api/restricted_1.0.0-beta10.txt b/compose/animation/animation-core/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..b96b878
--- /dev/null
+++ b/compose/animation/animation-core/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,651 @@
+// Signature format: 4.0
+package androidx.compose.animation.core {
+
+ public final class ActualJvmKt {
+ }
+
+ public final class Animatable<T, V extends androidx.compose.animation.core.AnimationVector> {
+ ctor public Animatable(T? initialValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional T? visibilityThreshold);
+ method public suspend Object? animateDecay(T? initialVelocity, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
+ method public suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? initialVelocity, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Animatable<T,V>,kotlin.Unit>? block, optional kotlin.coroutines.Continuation<? super androidx.compose.animation.core.AnimationResult<T,V>> p);
+ method public androidx.compose.runtime.State<T> asState();
+ method public T? getLowerBound();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T? getUpperBound();
+ method public T! getValue();
+ method public T! getVelocity();
+ method public V getVelocityVector();
+ method public boolean isRunning();
+ method public suspend Object? snapTo(T? targetValue, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? stop(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public void updateBounds(optional T? lowerBound, optional T? upperBound);
+ property public final boolean isRunning;
+ property public final T? lowerBound;
+ property public final T! targetValue;
+ property public final androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ property public final T? upperBound;
+ property public final T! value;
+ property public final T! velocity;
+ property public final V velocityVector;
+ }
+
+ public final class AnimatableKt {
+ method public static androidx.compose.animation.core.Animatable<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> Animatable(float initialValue, optional float visibilityThreshold);
+ }
+
+ public final class AnimateAsStateKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> animateDpAsState-Lz7ev7o(float targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.Dp> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Dp,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Float> animateFloatAsState(float targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional float visibilityThreshold, optional kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Integer> animateIntAsState(int targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Integer> animationSpec, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.unit.IntOffset> animateIntOffsetAsState-2AXSKHY(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntOffset,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.unit.IntSize> animateIntSizeAsState-Cmzki-s(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.geometry.Offset> animateOffsetAsState-t81mtYE(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Offset> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.geometry.Rect> animateRectAsState(androidx.compose.ui.geometry.Rect targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Rect> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Rect,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.geometry.Size> animateSizeAsState-rlPqr8Y(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Size> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Size,kotlin.Unit>? finishedListener);
+ method @androidx.compose.runtime.Composable public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValueAsState(T? targetValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional T? visibilityThreshold, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? finishedListener);
+ }
+
+ public interface Animation<T, V extends androidx.compose.animation.core.AnimationVector> {
+ method public long getDurationNanos();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValueFromNanos(long playTimeNanos);
+ method public V getVelocityVectorFromNanos(long playTimeNanos);
+ method public default boolean isFinishedFromNanos(long playTimeNanos);
+ method public boolean isInfinite();
+ property public abstract long durationNanos;
+ property public abstract boolean isInfinite;
+ property public abstract T! targetValue;
+ property public abstract androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ }
+
+ public final class AnimationConstants {
+ field public static final int DefaultDurationMillis = 300; // 0x12c
+ field public static final androidx.compose.animation.core.AnimationConstants INSTANCE;
+ field public static final long UnspecifiedTime = -9223372036854775808L; // 0x8000000000000000L
+ }
+
+ public enum AnimationEndReason {
+ enum_constant public static final androidx.compose.animation.core.AnimationEndReason BoundReached;
+ enum_constant public static final androidx.compose.animation.core.AnimationEndReason Finished;
+ }
+
+ public final class AnimationKt {
+ method public static androidx.compose.animation.core.DecayAnimation<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> DecayAnimation(androidx.compose.animation.core.FloatDecayAnimationSpec animationSpec, float initialValue, optional float initialVelocity);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.TargetBasedAnimation<T,V> TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, T? initialVelocity);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> T! getVelocityFromNanos(androidx.compose.animation.core.Animation<T,V>, long playTimeNanos);
+ }
+
+ public final class AnimationResult<T, V extends androidx.compose.animation.core.AnimationVector> {
+ ctor public AnimationResult(androidx.compose.animation.core.AnimationState<T,V> endState, androidx.compose.animation.core.AnimationEndReason endReason);
+ method public androidx.compose.animation.core.AnimationEndReason getEndReason();
+ method public androidx.compose.animation.core.AnimationState<T,V> getEndState();
+ property public final androidx.compose.animation.core.AnimationEndReason endReason;
+ property public final androidx.compose.animation.core.AnimationState<T,V> endState;
+ }
+
+ public final class AnimationScope<T, V extends androidx.compose.animation.core.AnimationVector> {
+ method public void cancelAnimation();
+ method public long getFinishedTimeNanos();
+ method public long getLastFrameTimeNanos();
+ method public long getStartTimeNanos();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValue();
+ method public T! getVelocity();
+ method public V getVelocityVector();
+ method public boolean isRunning();
+ method public androidx.compose.animation.core.AnimationState<T,V> toAnimationState();
+ property public final long finishedTimeNanos;
+ property public final boolean isRunning;
+ property public final long lastFrameTimeNanos;
+ property public final long startTimeNanos;
+ property public final T! targetValue;
+ property public final androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ property public final T! value;
+ property public final T! velocity;
+ property public final V velocityVector;
+ }
+
+ public interface AnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ }
+
+ public final class AnimationSpecKt {
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.InfiniteRepeatableSpec<T> infiniteRepeatable(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.KeyframesSpec<T> keyframes(kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T>,kotlin.Unit> init);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.RepeatableSpec<T> repeatable(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.SnapSpec<T> snap(optional int delayMillis);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.SpringSpec<T> spring(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
+ method @androidx.compose.runtime.Stable public static <T> androidx.compose.animation.core.TweenSpec<T> tween(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
+ }
+
+ public final class AnimationState<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.runtime.State<T> {
+ ctor public AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, optional V? initialVelocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public long getFinishedTimeNanos();
+ method public long getLastFrameTimeNanos();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValue();
+ method public T! getVelocity();
+ method public V getVelocityVector();
+ method public boolean isRunning();
+ property public final long finishedTimeNanos;
+ property public final boolean isRunning;
+ property public final long lastFrameTimeNanos;
+ property public final androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ property public T! value;
+ property public final T! velocity;
+ property public final V velocityVector;
+ }
+
+ public final class AnimationStateKt {
+ method public static androidx.compose.animation.core.AnimationState<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> AnimationState(float initialValue, optional float initialVelocity, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.AnimationState<T,V> AnimationState(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? initialVelocity, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.AnimationState<T,V> copy(androidx.compose.animation.core.AnimationState<T,V>, optional T? value, optional V? velocityVector, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static androidx.compose.animation.core.AnimationState<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> copy(androidx.compose.animation.core.AnimationState<java.lang.Float,androidx.compose.animation.core.AnimationVector1D>, optional float value, optional float velocity, optional long lastFrameTimeNanos, optional long finishedTimeNanos, optional boolean isRunning);
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> V createZeroVectorFrom(androidx.compose.animation.core.TwoWayConverter<T,V>, T? value);
+ method public static boolean isFinished(androidx.compose.animation.core.AnimationState<?,?>);
+ }
+
+ public abstract sealed class AnimationVector {
+ }
+
+ public final class AnimationVector1D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector1D(float initVal);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getValue();
+ method public androidx.compose.animation.core.AnimationVector1D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float value;
+ }
+
+ public final class AnimationVector2D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector2D(float v1, float v2);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getV1();
+ method public float getV2();
+ method public androidx.compose.animation.core.AnimationVector2D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float v1;
+ property public final float v2;
+ }
+
+ public final class AnimationVector3D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector3D(float v1, float v2, float v3);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getV1();
+ method public float getV2();
+ method public float getV3();
+ method public androidx.compose.animation.core.AnimationVector3D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float v1;
+ property public final float v2;
+ property public final float v3;
+ }
+
+ public final class AnimationVector4D extends androidx.compose.animation.core.AnimationVector {
+ ctor public AnimationVector4D(float v1, float v2, float v3, float v4);
+ method public float get$metalava_module(int index);
+ method public int getSize$metalava_module();
+ method public float getV1();
+ method public float getV2();
+ method public float getV3();
+ method public float getV4();
+ method public androidx.compose.animation.core.AnimationVector4D newVector$metalava_module();
+ method public void reset$metalava_module();
+ method public void set$metalava_module(int index, float value);
+ property public int size;
+ property public final float v1;
+ property public final float v2;
+ property public final float v3;
+ property public final float v4;
+ }
+
+ public final class AnimationVectorsKt {
+ method public static androidx.compose.animation.core.AnimationVector1D AnimationVector(float v1);
+ method public static androidx.compose.animation.core.AnimationVector2D AnimationVector(float v1, float v2);
+ method public static androidx.compose.animation.core.AnimationVector3D AnimationVector(float v1, float v2, float v3);
+ method public static androidx.compose.animation.core.AnimationVector4D AnimationVector(float v1, float v2, float v3, float v4);
+ }
+
+ public final class ComplexDoubleKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class CubicBezierEasing implements androidx.compose.animation.core.Easing {
+ ctor public CubicBezierEasing(float a, float b, float c, float d);
+ method public float transform(float fraction);
+ }
+
+ public final class DecayAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
+ ctor public DecayAnimation(androidx.compose.animation.core.VectorizedDecayAnimationSpec<V> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V initialVelocityVector);
+ ctor public DecayAnimation(androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, V initialVelocityVector);
+ ctor public DecayAnimation(androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? initialVelocity);
+ method public long getDurationNanos();
+ method public T! getInitialValue();
+ method public V getInitialVelocityVector();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValueFromNanos(long playTimeNanos);
+ method public V getVelocityVectorFromNanos(long playTimeNanos);
+ method public boolean isInfinite();
+ property public long durationNanos;
+ property public final T! initialValue;
+ property public final V initialVelocityVector;
+ property public boolean isInfinite;
+ property public T! targetValue;
+ property public androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ }
+
+ public interface DecayAnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDecayAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter);
+ }
+
+ public final class DecayAnimationSpecKt {
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> T! calculateTargetValue(androidx.compose.animation.core.DecayAnimationSpec<T>, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? initialVelocity);
+ method public static float calculateTargetValue(androidx.compose.animation.core.DecayAnimationSpec<java.lang.Float>, float initialValue, float initialVelocity);
+ method public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> exponentialDecay(optional float frictionMultiplier, optional float absVelocityThreshold);
+ method public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> generateDecayAnimationSpec(androidx.compose.animation.core.FloatDecayAnimationSpec);
+ }
+
+ public interface DurationBasedAnimationSpec<T> extends androidx.compose.animation.core.FiniteAnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ }
+
+ @androidx.compose.runtime.Stable public fun interface Easing {
+ method public float transform(float fraction);
+ }
+
+ public final class EasingKt {
+ method public static androidx.compose.animation.core.Easing getFastOutLinearInEasing();
+ method public static androidx.compose.animation.core.Easing getFastOutSlowInEasing();
+ method public static androidx.compose.animation.core.Easing getLinearEasing();
+ method public static androidx.compose.animation.core.Easing getLinearOutSlowInEasing();
+ }
+
+ public interface FiniteAnimationSpec<T> extends androidx.compose.animation.core.AnimationSpec<T> {
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ }
+
+ public interface FloatAnimationSpec extends androidx.compose.animation.core.AnimationSpec<java.lang.Float> {
+ method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
+ method public default float getEndVelocity(float initialValue, float targetValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public default <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedFloatAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<java.lang.Float,V> converter);
+ }
+
+ public interface FloatDecayAnimationSpec {
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(float initialValue, float initialVelocity);
+ method public float getTargetValue(float initialValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ property public abstract float absVelocityThreshold;
+ }
+
+ public final class FloatDecayAnimationSpecKt {
+ }
+
+ public final class FloatExponentialDecaySpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
+ ctor public FloatExponentialDecaySpec(optional float frictionMultiplier, optional float absVelocityThreshold);
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(float initialValue, float initialVelocity);
+ method public float getTargetValue(float initialValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ property public float absVelocityThreshold;
+ }
+
+ public final class FloatSpringSpec implements androidx.compose.animation.core.FloatAnimationSpec {
+ ctor public FloatSpringSpec(optional float dampingRatio, optional float stiffness, optional float visibilityThreshold);
+ method public float getDampingRatio();
+ method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
+ method public float getStiffness();
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ property public final float dampingRatio;
+ property public final float stiffness;
+ }
+
+ public final class FloatTweenSpec implements androidx.compose.animation.core.FloatAnimationSpec {
+ ctor public FloatTweenSpec(optional int duration, optional int delay, optional androidx.compose.animation.core.Easing easing);
+ method public int getDelay();
+ method public int getDuration();
+ method public long getDurationNanos(float initialValue, float targetValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float targetValue, float initialVelocity);
+ property public final int delay;
+ property public final int duration;
+ }
+
+ public interface InfiniteAnimationPolicy extends kotlin.coroutines.CoroutineContext.Element {
+ method public default kotlin.coroutines.CoroutineContext.Key<?> getKey();
+ method public suspend <R> Object? onInfiniteOperation(kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ property public default kotlin.coroutines.CoroutineContext.Key<?> key;
+ field public static final androidx.compose.animation.core.InfiniteAnimationPolicy.Key Key;
+ }
+
+ public static final class InfiniteAnimationPolicy.Key implements kotlin.coroutines.CoroutineContext.Key<androidx.compose.animation.core.InfiniteAnimationPolicy> {
+ }
+
+ public final class InfiniteAnimationPolicyKt {
+ method public static suspend inline <R> Object? withInfiniteAnimationFrameMillis(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ method public static suspend <R> Object? withInfiniteAnimationFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ public final class InfiniteRepeatableSpec<T> implements androidx.compose.animation.core.AnimationSpec<T> {
+ ctor public InfiniteRepeatableSpec(androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
+ method public androidx.compose.animation.core.RepeatMode getRepeatMode();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation;
+ property public final androidx.compose.animation.core.RepeatMode repeatMode;
+ }
+
+ public final class InfiniteTransition {
+ }
+
+ public final class InfiniteTransitionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Float> animateFloat(androidx.compose.animation.core.InfiniteTransition, float initialValue, float targetValue, androidx.compose.animation.core.InfiniteRepeatableSpec<java.lang.Float> animationSpec);
+ method @androidx.compose.runtime.Composable public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValue(androidx.compose.animation.core.InfiniteTransition, T? initialValue, T? targetValue, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, androidx.compose.animation.core.InfiniteRepeatableSpec<T> animationSpec);
+ method @androidx.compose.runtime.Composable public static androidx.compose.animation.core.InfiniteTransition rememberInfiniteTransition();
+ }
+
+ @androidx.compose.runtime.Immutable public final class KeyframesSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
+ ctor public KeyframesSpec(androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T> config);
+ method public androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T> getConfig();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedKeyframesSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final androidx.compose.animation.core.KeyframesSpec.KeyframesSpecConfig<T> config;
+ }
+
+ public static final class KeyframesSpec.KeyframeEntity<T> {
+ }
+
+ public static final class KeyframesSpec.KeyframesSpecConfig<T> {
+ ctor public KeyframesSpec.KeyframesSpecConfig();
+ method public infix androidx.compose.animation.core.KeyframesSpec.KeyframeEntity<T> at(T?, int timeStamp);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public void setDelayMillis(int p);
+ method public void setDurationMillis(int p);
+ method public infix void with(androidx.compose.animation.core.KeyframesSpec.KeyframeEntity<T>, androidx.compose.animation.core.Easing easing);
+ property public final int delayMillis;
+ property public final int durationMillis;
+ }
+
+ public final class MutableTransitionState<S> {
+ ctor public MutableTransitionState(S? initialState);
+ method public S! getCurrentState();
+ method public S! getTargetState();
+ method public void setTargetState(S! p);
+ property public final S! currentState;
+ property public final S! targetState;
+ }
+
+ public enum RepeatMode {
+ enum_constant public static final androidx.compose.animation.core.RepeatMode Restart;
+ enum_constant public static final androidx.compose.animation.core.RepeatMode Reverse;
+ }
+
+ @androidx.compose.runtime.Immutable public final class RepeatableSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
+ ctor public RepeatableSpec(int iterations, androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public androidx.compose.animation.core.DurationBasedAnimationSpec<T> getAnimation();
+ method public int getIterations();
+ method public androidx.compose.animation.core.RepeatMode getRepeatMode();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final androidx.compose.animation.core.DurationBasedAnimationSpec<T> animation;
+ property public final int iterations;
+ property public final androidx.compose.animation.core.RepeatMode repeatMode;
+ }
+
+ @androidx.compose.runtime.Immutable public final class SnapSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
+ ctor public SnapSpec(optional int delay);
+ method public int getDelay();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final int delay;
+ }
+
+ public final class Spring {
+ field public static final float DampingRatioHighBouncy = 0.2f;
+ field public static final float DampingRatioLowBouncy = 0.75f;
+ field public static final float DampingRatioMediumBouncy = 0.5f;
+ field public static final float DampingRatioNoBouncy = 1.0f;
+ field public static final float DefaultDisplacementThreshold = 0.01f;
+ field public static final androidx.compose.animation.core.Spring INSTANCE;
+ field public static final float StiffnessHigh = 10000.0f;
+ field public static final float StiffnessLow = 200.0f;
+ field public static final float StiffnessMedium = 1500.0f;
+ field public static final float StiffnessVeryLow = 50.0f;
+ }
+
+ public final class SpringEstimationKt {
+ }
+
+ public final class SpringSimulationKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class SpringSpec<T> implements androidx.compose.animation.core.FiniteAnimationSpec<T> {
+ ctor public SpringSpec(optional float dampingRatio, optional float stiffness, optional T? visibilityThreshold);
+ method public float getDampingRatio();
+ method public float getStiffness();
+ method public T? getVisibilityThreshold();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedSpringSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final float dampingRatio;
+ property public final float stiffness;
+ property public final T? visibilityThreshold;
+ }
+
+ public final class SuspendAnimationKt {
+ method public static suspend Object? animate(float initialValue, float targetValue, optional float initialVelocity, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend <T, V extends androidx.compose.animation.core.AnimationVector> Object? animate(androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional T? initialVelocity, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, kotlin.jvm.functions.Function2<? super T,? super T,kotlin.Unit> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? animateDecay(float initialValue, float initialVelocity, androidx.compose.animation.core.FloatDecayAnimationSpec animationSpec, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend <T, V extends androidx.compose.animation.core.AnimationVector> Object? animateDecay(androidx.compose.animation.core.AnimationState<T,V>, androidx.compose.animation.core.DecayAnimationSpec<T> animationSpec, optional boolean sequentialAnimation, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.AnimationScope<T,V>,kotlin.Unit> block, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend <T, V extends androidx.compose.animation.core.AnimationVector> Object? animateTo(androidx.compose.animation.core.AnimationState<T,V>, T? targetValue, optional androidx.compose.animation.core.AnimationSpec<T> animationSpec, optional boolean sequentialAnimation, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.AnimationScope<T,V>,kotlin.Unit> block, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public final class TargetBasedAnimation<T, V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.Animation<T,V> {
+ ctor public TargetBasedAnimation(androidx.compose.animation.core.AnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, T? initialValue, T? targetValue, optional V? initialVelocityVector);
+ method public long getDurationNanos();
+ method public T! getInitialValue();
+ method public T! getTargetValue();
+ method public androidx.compose.animation.core.TwoWayConverter<T,V> getTypeConverter();
+ method public T! getValueFromNanos(long playTimeNanos);
+ method public V getVelocityVectorFromNanos(long playTimeNanos);
+ method public boolean isInfinite();
+ property public long durationNanos;
+ property public final T! initialValue;
+ property public boolean isInfinite;
+ property public T! targetValue;
+ property public androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter;
+ }
+
+ @androidx.compose.runtime.Stable public final class Transition<S> {
+ ctor @kotlin.PublishedApi internal Transition(androidx.compose.animation.core.MutableTransitionState<S> transitionState, optional String? label);
+ method public S! getCurrentState();
+ method public String? getLabel();
+ method public androidx.compose.animation.core.Transition.Segment<S> getSegment();
+ method public S! getTargetState();
+ method public boolean isRunning();
+ property public final S! currentState;
+ property public final boolean isRunning;
+ property public final String? label;
+ property public final androidx.compose.animation.core.Transition.Segment<S> segment;
+ property public final S! targetState;
+ field @kotlin.PublishedApi internal final androidx.compose.runtime.MutableState isSeeking$delegate;
+ }
+
+ public static interface Transition.Segment<S> {
+ method public S! getInitialState();
+ method public S! getTargetState();
+ method public default infix boolean isTransitioningTo(S?, S? targetState);
+ property public abstract S! initialState;
+ property public abstract S! targetState;
+ }
+
+ public final class TransitionKt {
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> animateDp(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.Dp>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.Dp> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<java.lang.Float> animateFloat(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,java.lang.Float> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<java.lang.Integer> animateInt(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Integer>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,java.lang.Integer> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntOffset> animateIntOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntOffset> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.unit.IntSize> animateIntSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.unit.IntSize> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Offset> animateOffset(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Offset>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Offset> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Rect> animateRect(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Rect>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Rect> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.geometry.Size> animateSize(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.geometry.Size>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.geometry.Size> targetValueByState);
+ method @androidx.compose.runtime.Composable public static inline <S, T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> animateValue(androidx.compose.animation.core.Transition<S>, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<T>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,? extends T> targetValueByState);
+ method @androidx.compose.runtime.Composable @kotlin.PublishedApi internal static <S, T> androidx.compose.animation.core.Transition<T> createChildTransitionInternal(androidx.compose.animation.core.Transition<S>, T? initialState, T? targetState, String label);
+ method @androidx.compose.runtime.Composable @kotlin.PublishedApi internal static <S, T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.runtime.State<T> createTransitionAnimation(androidx.compose.animation.core.Transition<S>, T? initialValue, T? targetValue, androidx.compose.animation.core.FiniteAnimationSpec<T> animationSpec, androidx.compose.animation.core.TwoWayConverter<T,V> typeConverter, String label);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.animation.core.Transition<T> updateTransition(T? targetState, optional String? label);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.animation.core.Transition<T> updateTransition(androidx.compose.animation.core.MutableTransitionState<T> transitionState, optional String? label);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TweenSpec<T> implements androidx.compose.animation.core.DurationBasedAnimationSpec<T> {
+ ctor public TweenSpec(optional int durationMillis, optional int delay, optional androidx.compose.animation.core.Easing easing);
+ method public int getDelay();
+ method public int getDurationMillis();
+ method public androidx.compose.animation.core.Easing getEasing();
+ method public <V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.VectorizedTweenSpec<V> vectorize(androidx.compose.animation.core.TwoWayConverter<T,V> converter);
+ property public final int delay;
+ property public final int durationMillis;
+ property public final androidx.compose.animation.core.Easing easing;
+ }
+
+ public interface TwoWayConverter<T, V extends androidx.compose.animation.core.AnimationVector> {
+ method public kotlin.jvm.functions.Function1<V,T> getConvertFromVector();
+ method public kotlin.jvm.functions.Function1<T,V> getConvertToVector();
+ property public abstract kotlin.jvm.functions.Function1<V,T> convertFromVector;
+ property public abstract kotlin.jvm.functions.Function1<T,V> convertToVector;
+ }
+
+ public final class VectorConvertersKt {
+ method public static <T, V extends androidx.compose.animation.core.AnimationVector> androidx.compose.animation.core.TwoWayConverter<T,V> TwoWayConverter(kotlin.jvm.functions.Function1<? super T,? extends V> convertToVector, kotlin.jvm.functions.Function1<? super V,? extends T> convertFromVector);
+ method public static androidx.compose.animation.core.TwoWayConverter<java.lang.Float,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(kotlin.jvm.internal.FloatCompanionObject);
+ method public static androidx.compose.animation.core.TwoWayConverter<java.lang.Integer,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(kotlin.jvm.internal.IntCompanionObject);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Rect,androidx.compose.animation.core.AnimationVector4D> getVectorConverter(androidx.compose.ui.geometry.Rect.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.Dp,androidx.compose.animation.core.AnimationVector1D> getVectorConverter(androidx.compose.ui.unit.Dp.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.DpOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.DpOffset.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Size,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Size.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.geometry.Offset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.geometry.Offset.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.IntOffset,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.IntOffset.Companion);
+ method public static androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.unit.IntSize,androidx.compose.animation.core.AnimationVector2D> getVectorConverter(androidx.compose.ui.unit.IntSize.Companion);
+ }
+
+ public interface VectorizedAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> {
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public default V getEndVelocity(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public boolean isInfinite();
+ property public abstract boolean isInfinite;
+ }
+
+ public final class VectorizedAnimationSpecKt {
+ }
+
+ public interface VectorizedDecayAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> {
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(V initialValue, V initialVelocity);
+ method public V getTargetValue(V initialValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V initialVelocity);
+ property public abstract float absVelocityThreshold;
+ }
+
+ public interface VectorizedDurationBasedAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> extends androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public default long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ property public abstract int delayMillis;
+ property public abstract int durationMillis;
+ }
+
+ public interface VectorizedFiniteAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> extends androidx.compose.animation.core.VectorizedAnimationSpec<V> {
+ method public default boolean isInfinite();
+ property public default boolean isInfinite;
+ }
+
+ public final class VectorizedFloatAnimationSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ ctor public VectorizedFloatAnimationSpec(androidx.compose.animation.core.FloatAnimationSpec anim);
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ }
+
+ public final class VectorizedInfiniteRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedAnimationSpec<V> {
+ ctor public VectorizedInfiniteRepeatableSpec(androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public boolean isInfinite();
+ property public boolean isInfinite;
+ }
+
+ public final class VectorizedKeyframesSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
+ ctor public VectorizedKeyframesSpec(java.util.Map<java.lang.Integer,? extends kotlin.Pair<? extends V,? extends androidx.compose.animation.core.Easing>> keyframes, int durationMillis, optional int delayMillis);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ property public int delayMillis;
+ property public int durationMillis;
+ }
+
+ public final class VectorizedRepeatableSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ ctor public VectorizedRepeatableSpec(int iterations, androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> animation, optional androidx.compose.animation.core.RepeatMode repeatMode);
+ method public long getDurationNanos(V initialValue, V targetValue, V initialVelocity);
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ }
+
+ public final class VectorizedSnapSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
+ ctor public VectorizedSnapSpec(optional int delayMillis);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ property public int delayMillis;
+ property public int durationMillis;
+ }
+
+ public final class VectorizedSpringSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedFiniteAnimationSpec<V> {
+ ctor public VectorizedSpringSpec(optional float dampingRatio, optional float stiffness, optional V? visibilityThreshold);
+ method public float getDampingRatio();
+ method public float getStiffness();
+ property public final float dampingRatio;
+ property public final float stiffness;
+ }
+
+ public final class VectorizedTweenSpec<V extends androidx.compose.animation.core.AnimationVector> implements androidx.compose.animation.core.VectorizedDurationBasedAnimationSpec<V> {
+ ctor public VectorizedTweenSpec(optional int durationMillis, optional int delayMillis, optional androidx.compose.animation.core.Easing easing);
+ method public int getDelayMillis();
+ method public int getDurationMillis();
+ method public androidx.compose.animation.core.Easing getEasing();
+ method public V getValueFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ method public V getVelocityFromNanos(long playTimeNanos, V initialValue, V targetValue, V initialVelocity);
+ property public int delayMillis;
+ property public int durationMillis;
+ property public final androidx.compose.animation.core.Easing easing;
+ }
+
+ public final class VisibilityThresholdsKt {
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.IntOffset.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Offset.Companion);
+ method public static int getVisibilityThreshold(kotlin.jvm.internal.IntCompanionObject);
+ method public static float getVisibilityThreshold(androidx.compose.ui.unit.Dp.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.DpOffset.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.geometry.Size.Companion);
+ method public static long getVisibilityThreshold(androidx.compose.ui.unit.IntSize.Companion);
+ method public static androidx.compose.ui.geometry.Rect getVisibilityThreshold(androidx.compose.ui.geometry.Rect.Companion);
+ }
+
+}
+
diff --git a/compose/animation/animation-lint/build.gradle b/compose/animation/animation-lint/build.gradle
index ce68e93..ac6ef88 100644
--- a/compose/animation/animation-lint/build.gradle
+++ b/compose/animation/animation-lint/build.gradle
@@ -27,10 +27,11 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly libs.androidLintMinApi
+ compileOnly libs.androidLintMinComposeApi
compileOnly libs.kotlinStdlib
bundleInside(project(":compose:lint:common"))
+ testImplementation(project(":compose:lint:common-test"))
testImplementation libs.kotlinStdlib
testImplementation libs.androidLint
testImplementation libs.androidLintTests
diff --git a/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/AnimationIssueRegistry.kt b/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/AnimationIssueRegistry.kt
index e835511..592a6ba 100644
--- a/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/AnimationIssueRegistry.kt
+++ b/compose/animation/animation-lint/src/main/java/androidx/compose/animation/lint/AnimationIssueRegistry.kt
@@ -19,6 +19,7 @@
package androidx.compose.animation.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -31,4 +32,9 @@
override val issues get() = listOf(
CrossfadeDetector.UnusedCrossfadeTargetStateParameter
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.animation",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/ApiLintVersionsTest.kt b/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/ApiLintVersionsTest.kt
index 5e4df8f..3b758c0 100644
--- a/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/ApiLintVersionsTest.kt
+++ b/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = AnimationIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/CrossfadeDetectorTest.kt b/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/CrossfadeDetectorTest.kt
index 180b874..ef3d713 100644
--- a/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/CrossfadeDetectorTest.kt
+++ b/compose/animation/animation-lint/src/test/java/androidx/compose/animation/lint/CrossfadeDetectorTest.kt
@@ -18,7 +18,8 @@
package androidx.compose.animation.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
+import androidx.compose.lint.test.compiledStub
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -29,9 +30,6 @@
/* ktlint-disable max-line-length */
@RunWith(JUnit4::class)
-// TODO: add tests for methods defined in class files when we update Lint to support bytecode()
-// test files
-
/**
* Test for [CrossfadeDetector].
*/
@@ -42,7 +40,9 @@
mutableListOf(CrossfadeDetector.UnusedCrossfadeTargetStateParameter)
// Simplified Transition.kt stubs
- private val CrossfadeStub = kotlin(
+ private val CrossfadeStub = compiledStub(
+ filename = "Transition.kt",
+ filepath = "androidx/compose/animation",
"""
package androidx.compose.animation
@@ -53,6 +53,30 @@
targetState: T,
content: @Composable (T) -> Unit
) {}
+ """,
+"""
+ androidx/compose/animation/TransitionKt.class:
+ H4sIAAAAAAAAAIVSW08TQRT+ZnvZdgFZyr0oIhcBUbcQfLHExJAQGisYW3nh
+ abpd6vQya3amDY/9Lf4D34wPpvHRH2U8s1RBasIme86Zb77znTNn5uevb98B
+ 7OMpwyaX9SgU9UvPDzufQhV4XIoO1yKUXjXiUgkTvtE2GIPb5D3utblseKe1
+ ZuATmmDIHkahUhe8HjC82Crf5hTLrVC3hfSavY530ZW+EVTe0TDaLW6fMZwe
+ VF+OZr7aqlbvSj94doPzQQrKihU3yiMni7pSi07gHcZrXmsHRYa1chg1vGag
+ axEXJMylDDW/KnIS6pNuu00s2w+lDqTOwGFYvtGRIDiSvO2VpI4oX/jKxjjD
+ rP8x8FtDgXc84p2AiDTv/w3oGqkYkQYdYBz3MOlgAi7DmOZRI9AVaotGnBsV
+ YFi5a8gMU38obwPN61xzwqxOL0EvgRmTYmAtE1iEXwoTFSiq7zJUBv0ZZ9B3
+ LNdyrEzCsRas+B/08/suGavAVpOZQd+19tJuIm8dW3vzbjI/nUvmKDa2wAqp
+ H5/TViZ9bBvv2kZ6j1FtsKo51LC5mx1PXD/A5y3NkDwMzRubLAsZnHQ7tSCq
+ mks02aHP22c8EmY9BLMV0ZBcdyOKl95fXX1J9oQStP36+pYZ1m/v/r2vf2hO
+ JexGfnAkjPriMOdsRA+7sJCE+YiGFNK0WqdVkXCLvL2TG/uKqS9m1NggmyZi
+ Gg4eUzx3RUEO07GETfgM7W/GbBtbQ36G/Db9WSuuk423n8R2DTvkDwmdpepz
+ 50iUMF/CAlkslpDHUgn38eAcTGEZD8+RUUgprCg8UsgpOAqryoDp38bsatcp
+ BAAA
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcUllZiXUpSfmVKhl5yfW5BfnKqX
+ mJeZm1iSmZ8nxBNSlJhXnAlie5dw8XIxp+XnC7GFpBaXeJcoMWgxAACekN3e
+ UwAAAA==
"""
)
@@ -80,7 +104,7 @@
"""
),
CrossfadeStub,
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -142,7 +166,7 @@
"""
),
CrossfadeStub,
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -217,7 +241,7 @@
"""
),
CrossfadeStub,
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expectClean()
diff --git a/compose/animation/animation-tooling-internal/api/1.0.0-beta10.txt b/compose/animation/animation-tooling-internal/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..f54cae5f
--- /dev/null
+++ b/compose/animation/animation-tooling-internal/api/1.0.0-beta10.txt
@@ -0,0 +1,32 @@
+// Signature format: 4.0
+package androidx.compose.animation.tooling {
+
+ public final class ComposeAnimatedProperty {
+ ctor public ComposeAnimatedProperty(String label, Object value);
+ method public String component1();
+ method public Object component2();
+ method public androidx.compose.animation.tooling.ComposeAnimatedProperty copy(String label, Object value);
+ method public String getLabel();
+ method public Object getValue();
+ property public final String label;
+ property public final Object value;
+ }
+
+ public interface ComposeAnimation {
+ method public Object getAnimationObject();
+ method public default String? getLabel();
+ method public default java.util.Set<java.lang.Object> getStates();
+ method public androidx.compose.animation.tooling.ComposeAnimationType getType();
+ property public abstract Object animationObject;
+ property public default String? label;
+ property public default java.util.Set<java.lang.Object> states;
+ property public abstract androidx.compose.animation.tooling.ComposeAnimationType type;
+ }
+
+ public enum ComposeAnimationType {
+ enum_constant public static final androidx.compose.animation.tooling.ComposeAnimationType ANIMATED_VALUE;
+ enum_constant public static final androidx.compose.animation.tooling.ComposeAnimationType TRANSITION_ANIMATION;
+ }
+
+}
+
diff --git a/compose/animation/animation-tooling-internal/api/public_plus_experimental_1.0.0-beta10.txt b/compose/animation/animation-tooling-internal/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..f54cae5f
--- /dev/null
+++ b/compose/animation/animation-tooling-internal/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,32 @@
+// Signature format: 4.0
+package androidx.compose.animation.tooling {
+
+ public final class ComposeAnimatedProperty {
+ ctor public ComposeAnimatedProperty(String label, Object value);
+ method public String component1();
+ method public Object component2();
+ method public androidx.compose.animation.tooling.ComposeAnimatedProperty copy(String label, Object value);
+ method public String getLabel();
+ method public Object getValue();
+ property public final String label;
+ property public final Object value;
+ }
+
+ public interface ComposeAnimation {
+ method public Object getAnimationObject();
+ method public default String? getLabel();
+ method public default java.util.Set<java.lang.Object> getStates();
+ method public androidx.compose.animation.tooling.ComposeAnimationType getType();
+ property public abstract Object animationObject;
+ property public default String? label;
+ property public default java.util.Set<java.lang.Object> states;
+ property public abstract androidx.compose.animation.tooling.ComposeAnimationType type;
+ }
+
+ public enum ComposeAnimationType {
+ enum_constant public static final androidx.compose.animation.tooling.ComposeAnimationType ANIMATED_VALUE;
+ enum_constant public static final androidx.compose.animation.tooling.ComposeAnimationType TRANSITION_ANIMATION;
+ }
+
+}
+
diff --git a/compose/animation/animation-tooling-internal/api/restricted_1.0.0-beta10.txt b/compose/animation/animation-tooling-internal/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..f54cae5f
--- /dev/null
+++ b/compose/animation/animation-tooling-internal/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,32 @@
+// Signature format: 4.0
+package androidx.compose.animation.tooling {
+
+ public final class ComposeAnimatedProperty {
+ ctor public ComposeAnimatedProperty(String label, Object value);
+ method public String component1();
+ method public Object component2();
+ method public androidx.compose.animation.tooling.ComposeAnimatedProperty copy(String label, Object value);
+ method public String getLabel();
+ method public Object getValue();
+ property public final String label;
+ property public final Object value;
+ }
+
+ public interface ComposeAnimation {
+ method public Object getAnimationObject();
+ method public default String? getLabel();
+ method public default java.util.Set<java.lang.Object> getStates();
+ method public androidx.compose.animation.tooling.ComposeAnimationType getType();
+ property public abstract Object animationObject;
+ property public default String? label;
+ property public default java.util.Set<java.lang.Object> states;
+ property public abstract androidx.compose.animation.tooling.ComposeAnimationType type;
+ }
+
+ public enum ComposeAnimationType {
+ enum_constant public static final androidx.compose.animation.tooling.ComposeAnimationType ANIMATED_VALUE;
+ enum_constant public static final androidx.compose.animation.tooling.ComposeAnimationType TRANSITION_ANIMATION;
+ }
+
+}
+
diff --git a/compose/animation/animation/api/1.0.0-beta10.txt b/compose/animation/animation/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..a653238
--- /dev/null
+++ b/compose/animation/animation/api/1.0.0-beta10.txt
@@ -0,0 +1,61 @@
+// Signature format: 4.0
+package androidx.compose.animation {
+
+ public final class AndroidActualDefaultDecayAnimationSpec_androidKt {
+ method @Deprecated @androidx.compose.runtime.Composable public static androidx.compose.animation.core.DecayAnimationSpec<java.lang.Float> defaultDecayAnimationSpec();
+ }
+
+ public final class AnimatedContentKt {
+ }
+
+ public final class AnimatedVisibilityKt {
+ }
+
+ public final class AnimationModifierKt {
+ method public static androidx.compose.ui.Modifier animateContentSize(androidx.compose.ui.Modifier, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional kotlin.jvm.functions.Function2<? super androidx.compose.ui.unit.IntSize,? super androidx.compose.ui.unit.IntSize,kotlin.Unit>? finishedListener);
+ }
+
+ public final class ColorVectorConverterKt {
+ method public static kotlin.jvm.functions.Function1<androidx.compose.ui.graphics.colorspace.ColorSpace,androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.graphics.Color,androidx.compose.animation.core.AnimationVector4D>> getVectorConverter(androidx.compose.ui.graphics.Color.Companion);
+ }
+
+ public final class CrossfadeKt {
+ method @androidx.compose.runtime.Composable public static <T> void Crossfade(T? targetState, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> content);
+ }
+
+ public final class EnterExitTransitionKt {
+ }
+
+ public final class FlingCalculatorKt {
+ }
+
+ public final class SingleValueAnimationKt {
+ method public static androidx.compose.animation.core.Animatable<androidx.compose.ui.graphics.Color,androidx.compose.animation.core.AnimationVector4D> Animatable-8_81llA(long initialValue);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> animateColorAsState-m3E411Q(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.graphics.Color> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Color,kotlin.Unit>? finishedListener);
+ }
+
+ public final class SplineBasedDecayKt {
+ method public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> splineBasedDecay(androidx.compose.ui.unit.Density density);
+ }
+
+ public final class SplineBasedFloatDecayAnimationSpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
+ ctor public SplineBasedFloatDecayAnimationSpec(androidx.compose.ui.unit.Density density);
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(float initialValue, float initialVelocity);
+ method public float getTargetValue(float initialValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ property public float absVelocityThreshold;
+ }
+
+ public final class SplineBasedFloatDecayAnimationSpec_androidKt {
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> rememberSplineBasedDecay();
+ }
+
+ public final class TransitionKt {
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> animateColor(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.graphics.Color>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.graphics.Color> targetValueByState);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> animateColor-Baa6hxQ(androidx.compose.animation.core.InfiniteTransition, long initialValue, long targetValue, androidx.compose.animation.core.InfiniteRepeatableSpec<androidx.compose.ui.graphics.Color> animationSpec);
+ }
+
+}
+
diff --git a/compose/animation/animation/api/public_plus_experimental_1.0.0-beta10.txt b/compose/animation/animation/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..20da353
--- /dev/null
+++ b/compose/animation/animation/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,175 @@
+// Signature format: 4.0
+package androidx.compose.animation {
+
+ public final class AndroidActualDefaultDecayAnimationSpec_androidKt {
+ method @Deprecated @androidx.compose.runtime.Composable public static androidx.compose.animation.core.DecayAnimationSpec<java.lang.Float> defaultDecayAnimationSpec();
+ }
+
+ public final class AnimatedContentKt {
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static <S> void AnimatedContent(S? targetState, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedContentScope<S>,androidx.compose.animation.ContentTransform> transitionSpec, optional androidx.compose.ui.Alignment contentAlignment, kotlin.jvm.functions.Function2<? super androidx.compose.animation.AnimatedVisibilityScope,? super S,kotlin.Unit> content);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static <S> void AnimatedContent(androidx.compose.animation.core.Transition<S>, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedContentScope<S>,androidx.compose.animation.ContentTransform> transitionSpec, optional androidx.compose.ui.Alignment contentAlignment, kotlin.jvm.functions.Function2<? super androidx.compose.animation.AnimatedVisibilityScope,? super S,kotlin.Unit> content);
+ method @androidx.compose.animation.ExperimentalAnimationApi public static androidx.compose.animation.SizeTransform SizeTransform(optional boolean clip, optional kotlin.jvm.functions.Function2<? super androidx.compose.ui.unit.IntSize,? super androidx.compose.ui.unit.IntSize,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize>> sizeAnimationSpec);
+ method @androidx.compose.animation.ExperimentalAnimationApi public static infix androidx.compose.animation.ContentTransform with(androidx.compose.animation.EnterTransition, androidx.compose.animation.ExitTransition exit);
+ }
+
+ @androidx.compose.animation.ExperimentalAnimationApi public final class AnimatedContentScope<S> implements androidx.compose.animation.core.Transition.Segment<S> {
+ method public S! getInitialState();
+ method public S! getTargetState();
+ method public androidx.compose.animation.EnterTransition slideIntoContainer-GPwtvT8(int towards, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> initialOffset);
+ method public androidx.compose.animation.ExitTransition slideOutOfContainer-GPwtvT8(int towards, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> targetOffset);
+ method @androidx.compose.animation.ExperimentalAnimationApi public infix androidx.compose.animation.ContentTransform using(androidx.compose.animation.ContentTransform, androidx.compose.animation.SizeTransform? sizeTransform);
+ property public S! initialState;
+ property public S! targetState;
+ }
+
+ @androidx.compose.runtime.Immutable public static final inline class AnimatedContentScope.SlideDirection {
+ ctor public AnimatedContentScope.SlideDirection();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.animation.AnimatedContentScope.SlideDirection.Companion Companion;
+ }
+
+ public static final class AnimatedContentScope.SlideDirection.Companion {
+ method public int getDown-aUPqQNE();
+ method public int getEnd-aUPqQNE();
+ method public int getLeft-aUPqQNE();
+ method public int getRight-aUPqQNE();
+ method public int getStart-aUPqQNE();
+ method public int getUp-aUPqQNE();
+ property public final int Down;
+ property public final int End;
+ property public final int Left;
+ property public final int Right;
+ property public final int Start;
+ property public final int Up;
+ }
+
+ public final class AnimatedVisibilityKt {
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(boolean visible, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.foundation.layout.RowScope, boolean visible, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.foundation.layout.ColumnScope, boolean visible, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.animation.core.MutableTransitionState<java.lang.Boolean> visibleState, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.foundation.layout.RowScope, androidx.compose.animation.core.MutableTransitionState<java.lang.Boolean> visibleState, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.foundation.layout.ColumnScope, androidx.compose.animation.core.MutableTransitionState<java.lang.Boolean> visibleState, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static <T> void AnimatedVisibility(androidx.compose.animation.core.Transition<T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> visible, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
+ method @Deprecated @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(boolean visible, optional androidx.compose.ui.Modifier modifier, androidx.compose.animation.EnterTransition enter, androidx.compose.animation.ExitTransition exit, boolean initiallyVisible, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ @androidx.compose.animation.ExperimentalAnimationApi public interface AnimatedVisibilityScope {
+ method public default androidx.compose.ui.Modifier animateEnterExit(androidx.compose.ui.Modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit);
+ method public androidx.compose.animation.core.Transition<androidx.compose.animation.EnterExitState> getTransition();
+ property public abstract androidx.compose.animation.core.Transition<androidx.compose.animation.EnterExitState> transition;
+ }
+
+ public final class AnimationModifierKt {
+ method public static androidx.compose.ui.Modifier animateContentSize(androidx.compose.ui.Modifier, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional kotlin.jvm.functions.Function2<? super androidx.compose.ui.unit.IntSize,? super androidx.compose.ui.unit.IntSize,kotlin.Unit>? finishedListener);
+ }
+
+ public final class ColorVectorConverterKt {
+ method public static kotlin.jvm.functions.Function1<androidx.compose.ui.graphics.colorspace.ColorSpace,androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.graphics.Color,androidx.compose.animation.core.AnimationVector4D>> getVectorConverter(androidx.compose.ui.graphics.Color.Companion);
+ }
+
+ @androidx.compose.animation.ExperimentalAnimationApi public final class ContentTransform {
+ ctor public ContentTransform(androidx.compose.animation.EnterTransition targetContentEnter, androidx.compose.animation.ExitTransition initialContentExit, optional float targetContentZIndex, optional androidx.compose.animation.SizeTransform? sizeTransform);
+ method public androidx.compose.animation.ExitTransition getInitialContentExit();
+ method public androidx.compose.animation.SizeTransform? getSizeTransform();
+ method public androidx.compose.animation.EnterTransition getTargetContentEnter();
+ method public float getTargetContentZIndex();
+ method public void setTargetContentZIndex(float p);
+ property public final androidx.compose.animation.ExitTransition initialContentExit;
+ property public final androidx.compose.animation.SizeTransform? sizeTransform;
+ property public final androidx.compose.animation.EnterTransition targetContentEnter;
+ property public final float targetContentZIndex;
+ }
+
+ public final class CrossfadeKt {
+ method @androidx.compose.runtime.Composable public static <T> void Crossfade(T? targetState, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> content);
+ }
+
+ @androidx.compose.animation.ExperimentalAnimationApi public enum EnterExitState {
+ enum_constant public static final androidx.compose.animation.EnterExitState PostExit;
+ enum_constant public static final androidx.compose.animation.EnterExitState PreEnter;
+ enum_constant public static final androidx.compose.animation.EnterExitState Visible;
+ }
+
+ public final class EnterExitTransitionKt {
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.EnterTransition expandHorizontally(optional androidx.compose.ui.Alignment.Horizontal expandFrom, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> initialWidth, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional boolean clip);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.EnterTransition expandIn(optional androidx.compose.ui.Alignment expandFrom, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,androidx.compose.ui.unit.IntSize> initialSize, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional boolean clip);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.EnterTransition expandVertically(optional androidx.compose.ui.Alignment.Vertical expandFrom, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> initialHeight, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional boolean clip);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.EnterTransition fadeIn(optional float initialAlpha, optional androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float> animationSpec);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.ExitTransition fadeOut(optional float targetAlpha, optional androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float> animationSpec);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.ExitTransition shrinkHorizontally(optional androidx.compose.ui.Alignment.Horizontal shrinkTowards, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> targetWidth, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional boolean clip);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.ExitTransition shrinkOut(optional androidx.compose.ui.Alignment shrinkTowards, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,androidx.compose.ui.unit.IntSize> targetSize, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional boolean clip);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.ExitTransition shrinkVertically(optional androidx.compose.ui.Alignment.Vertical shrinkTowards, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> targetHeight, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional boolean clip);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.EnterTransition slideIn(kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,androidx.compose.ui.unit.IntOffset> initialOffset, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.EnterTransition slideInHorizontally(optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> initialOffsetX, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.EnterTransition slideInVertically(optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> initialOffsetY, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.ExitTransition slideOut(kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,androidx.compose.ui.unit.IntOffset> targetOffset, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.ExitTransition slideOutHorizontally(optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> targetOffsetX, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Stable public static androidx.compose.animation.ExitTransition slideOutVertically(optional kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Integer> targetOffsetY, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntOffset> animationSpec);
+ }
+
+ @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Immutable public abstract sealed class EnterTransition {
+ method @androidx.compose.runtime.Stable public final operator androidx.compose.animation.EnterTransition plus(androidx.compose.animation.EnterTransition enter);
+ field public static final androidx.compose.animation.EnterTransition.Companion Companion;
+ }
+
+ public static final class EnterTransition.Companion {
+ method public androidx.compose.animation.EnterTransition getNone();
+ property public final androidx.compose.animation.EnterTransition None;
+ }
+
+ @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Immutable public abstract sealed class ExitTransition {
+ method @androidx.compose.runtime.Stable public final operator androidx.compose.animation.ExitTransition plus(androidx.compose.animation.ExitTransition exit);
+ field public static final androidx.compose.animation.ExitTransition.Companion Companion;
+ }
+
+ public static final class ExitTransition.Companion {
+ method public androidx.compose.animation.ExitTransition getNone();
+ property public final androidx.compose.animation.ExitTransition None;
+ }
+
+ @kotlin.RequiresOptIn(message="This is an experimental animation API.") @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ExperimentalAnimationApi {
+ }
+
+ public final class FlingCalculatorKt {
+ }
+
+ public final class SingleValueAnimationKt {
+ method public static androidx.compose.animation.core.Animatable<androidx.compose.ui.graphics.Color,androidx.compose.animation.core.AnimationVector4D> Animatable-8_81llA(long initialValue);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> animateColorAsState-m3E411Q(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.graphics.Color> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Color,kotlin.Unit>? finishedListener);
+ }
+
+ @androidx.compose.animation.ExperimentalAnimationApi public interface SizeTransform {
+ method public androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> createAnimationSpec-ViLHMyg(long initialSize, long targetSize);
+ method public boolean getClip();
+ property public abstract boolean clip;
+ }
+
+ public final class SplineBasedDecayKt {
+ method public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> splineBasedDecay(androidx.compose.ui.unit.Density density);
+ }
+
+ public final class SplineBasedFloatDecayAnimationSpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
+ ctor public SplineBasedFloatDecayAnimationSpec(androidx.compose.ui.unit.Density density);
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(float initialValue, float initialVelocity);
+ method public float getTargetValue(float initialValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ property public float absVelocityThreshold;
+ }
+
+ public final class SplineBasedFloatDecayAnimationSpec_androidKt {
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> rememberSplineBasedDecay();
+ }
+
+ public final class TransitionKt {
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> animateColor(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.graphics.Color>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.graphics.Color> targetValueByState);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> animateColor-Baa6hxQ(androidx.compose.animation.core.InfiniteTransition, long initialValue, long targetValue, androidx.compose.animation.core.InfiniteRepeatableSpec<androidx.compose.ui.graphics.Color> animationSpec);
+ }
+
+}
+
diff --git a/compose/animation/animation/api/public_plus_experimental_current.txt b/compose/animation/animation/api/public_plus_experimental_current.txt
index 3ca024e..20da353 100644
--- a/compose/animation/animation/api/public_plus_experimental_current.txt
+++ b/compose/animation/animation/api/public_plus_experimental_current.txt
@@ -50,7 +50,7 @@
method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(boolean visible, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.foundation.layout.RowScope, boolean visible, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.foundation.layout.ColumnScope, boolean visible, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
- method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.animation.core.MutableTransitionState<java.lang.Boolean> visibleState, optional androidx.compose.ui.Modifier modifier, androidx.compose.animation.EnterTransition enter, androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
+ method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.animation.core.MutableTransitionState<java.lang.Boolean> visibleState, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.foundation.layout.RowScope, androidx.compose.animation.core.MutableTransitionState<java.lang.Boolean> visibleState, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static void AnimatedVisibility(androidx.compose.foundation.layout.ColumnScope, androidx.compose.animation.core.MutableTransitionState<java.lang.Boolean> visibleState, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
method @androidx.compose.animation.ExperimentalAnimationApi @androidx.compose.runtime.Composable public static <T> void AnimatedVisibility(androidx.compose.animation.core.Transition<T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> visible, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.EnterTransition enter, optional androidx.compose.animation.ExitTransition exit, kotlin.jvm.functions.Function1<? super androidx.compose.animation.AnimatedVisibilityScope,kotlin.Unit> content);
diff --git a/compose/animation/animation/api/res-1.0.0-beta10.txt b/compose/animation/animation/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/animation/animation/api/res-1.0.0-beta10.txt
diff --git a/compose/animation/animation/api/restricted_1.0.0-beta10.txt b/compose/animation/animation/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..a653238
--- /dev/null
+++ b/compose/animation/animation/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,61 @@
+// Signature format: 4.0
+package androidx.compose.animation {
+
+ public final class AndroidActualDefaultDecayAnimationSpec_androidKt {
+ method @Deprecated @androidx.compose.runtime.Composable public static androidx.compose.animation.core.DecayAnimationSpec<java.lang.Float> defaultDecayAnimationSpec();
+ }
+
+ public final class AnimatedContentKt {
+ }
+
+ public final class AnimatedVisibilityKt {
+ }
+
+ public final class AnimationModifierKt {
+ method public static androidx.compose.ui.Modifier animateContentSize(androidx.compose.ui.Modifier, optional androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.unit.IntSize> animationSpec, optional kotlin.jvm.functions.Function2<? super androidx.compose.ui.unit.IntSize,? super androidx.compose.ui.unit.IntSize,kotlin.Unit>? finishedListener);
+ }
+
+ public final class ColorVectorConverterKt {
+ method public static kotlin.jvm.functions.Function1<androidx.compose.ui.graphics.colorspace.ColorSpace,androidx.compose.animation.core.TwoWayConverter<androidx.compose.ui.graphics.Color,androidx.compose.animation.core.AnimationVector4D>> getVectorConverter(androidx.compose.ui.graphics.Color.Companion);
+ }
+
+ public final class CrossfadeKt {
+ method @androidx.compose.runtime.Composable public static <T> void Crossfade(T? targetState, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.animation.core.FiniteAnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> content);
+ }
+
+ public final class EnterExitTransitionKt {
+ }
+
+ public final class FlingCalculatorKt {
+ }
+
+ public final class SingleValueAnimationKt {
+ method public static androidx.compose.animation.core.Animatable<androidx.compose.ui.graphics.Color,androidx.compose.animation.core.AnimationVector4D> Animatable-8_81llA(long initialValue);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> animateColorAsState-m3E411Q(long targetValue, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.graphics.Color> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Color,kotlin.Unit>? finishedListener);
+ }
+
+ public final class SplineBasedDecayKt {
+ method public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> splineBasedDecay(androidx.compose.ui.unit.Density density);
+ }
+
+ public final class SplineBasedFloatDecayAnimationSpec implements androidx.compose.animation.core.FloatDecayAnimationSpec {
+ ctor public SplineBasedFloatDecayAnimationSpec(androidx.compose.ui.unit.Density density);
+ method public float getAbsVelocityThreshold();
+ method public long getDurationNanos(float initialValue, float initialVelocity);
+ method public float getTargetValue(float initialValue, float initialVelocity);
+ method public float getValueFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ method public float getVelocityFromNanos(long playTimeNanos, float initialValue, float initialVelocity);
+ property public float absVelocityThreshold;
+ }
+
+ public final class SplineBasedFloatDecayAnimationSpec_androidKt {
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.animation.core.DecayAnimationSpec<T> rememberSplineBasedDecay();
+ }
+
+ public final class TransitionKt {
+ method @androidx.compose.runtime.Composable public static inline <S> androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> animateColor(androidx.compose.animation.core.Transition<S>, optional kotlin.jvm.functions.Function1<? super androidx.compose.animation.core.Transition.Segment<S>,? extends androidx.compose.animation.core.FiniteAnimationSpec<androidx.compose.ui.graphics.Color>> transitionSpec, optional String label, kotlin.jvm.functions.Function1<? super S,androidx.compose.ui.graphics.Color> targetValueByState);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> animateColor-Baa6hxQ(androidx.compose.animation.core.InfiniteTransition, long initialValue, long targetValue, androidx.compose.animation.core.InfiniteRepeatableSpec<androidx.compose.ui.graphics.Color> animationSpec);
+ }
+
+}
+
diff --git a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedVisibility.kt b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedVisibility.kt
index c1b5784..f5beb63 100644
--- a/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedVisibility.kt
+++ b/compose/animation/animation/src/commonMain/kotlin/androidx/compose/animation/AnimatedVisibility.kt
@@ -345,10 +345,10 @@
*
* @param visibleState defines whether the content should be visible
* @param modifier modifier for the [Layout] created to contain the [content]
- * @param enter EnterTransition(s) used for the appearing animation, fading in while expanding
- * vertically by default
+ * @param enter EnterTransition(s) used for the appearing animation, fading in while expanding by
+ * default
* @param exit ExitTransition(s) used for the disappearing animation, fading out while
- * shrinking vertically by default
+ * shrinking by default
* @param content Content to appear or disappear based on the value of [visibleState]
*
* @see EnterTransition
@@ -366,8 +366,8 @@
fun AnimatedVisibility(
visibleState: MutableTransitionState<Boolean>,
modifier: Modifier = Modifier,
- enter: EnterTransition,
- exit: ExitTransition,
+ enter: EnterTransition = fadeIn() + expandIn(),
+ exit: ExitTransition = fadeOut() + shrinkOut(),
content: @Composable() AnimatedVisibilityScope.() -> Unit
) {
val transition = updateTransition(visibleState)
diff --git a/compose/compiler/compiler-hosted/integration-tests/build.gradle b/compose/compiler/compiler-hosted/integration-tests/build.gradle
index f7b8336..308e4cd 100644
--- a/compose/compiler/compiler-hosted/integration-tests/build.gradle
+++ b/compose/compiler/compiler-hosted/integration-tests/build.gradle
@@ -37,6 +37,18 @@
)
)
+ // tools.jar required for com.sun.jdi
+ def toolsJar
+ if (JavaVersion.current().getMajorVersion() == "8") {
+ toolsJar = ((URLClassLoader) ToolProvider.getSystemToolClassLoader()).getURLs()
+ } else if (System.env.JAVA_TOOLS_JAR != null) {
+ toolsJar = System.env.JAVA_TOOLS_JAR
+ } else {
+ throw new Exception("If you are not using Java 8, JAVA_TOOLS_JAR env variable " +
+ "needs to be set to tools.jar from a Java 8 installation to build Doclava")
+ }
+ testImplementation(files(toolsJar))
+
testImplementation(libs.kotlinStdlib)
testImplementation(project(":compose:compiler:compiler-hosted"))
testImplementation(projectOrArtifact(":compose:material:material"))
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/AbstractDebuggerTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/AbstractDebuggerTest.kt
new file mode 100644
index 0000000..cbd404a
--- /dev/null
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/AbstractDebuggerTest.kt
@@ -0,0 +1,257 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.compiler.plugins.kotlin.debug
+
+import androidx.compose.compiler.plugins.kotlin.AbstractCodegenTest
+import androidx.compose.compiler.plugins.kotlin.CodegenTestFiles
+import androidx.compose.compiler.plugins.kotlin.debug.clientserver.TestProxy
+import androidx.compose.compiler.plugins.kotlin.tmpDir
+import com.sun.jdi.AbsentInformationException
+import com.sun.jdi.VirtualMachine
+import com.sun.jdi.event.BreakpointEvent
+import com.sun.jdi.event.ClassPrepareEvent
+import com.sun.jdi.event.LocatableEvent
+import com.sun.jdi.event.MethodEntryEvent
+import com.sun.jdi.event.MethodExitEvent
+import com.sun.jdi.event.StepEvent
+import com.sun.jdi.event.VMDeathEvent
+import com.sun.jdi.event.VMDisconnectEvent
+import com.sun.jdi.event.VMStartEvent
+import com.sun.jdi.request.EventRequest.SUSPEND_ALL
+import com.sun.jdi.request.MethodEntryRequest
+import com.sun.jdi.request.MethodExitRequest
+import com.sun.jdi.request.StepRequest
+import org.intellij.lang.annotations.Language
+import org.jetbrains.kotlin.backend.common.output.SimpleOutputFileCollection
+import org.jetbrains.kotlin.cli.common.output.writeAllTo
+import org.jetbrains.kotlin.codegen.GeneratedClassLoader
+import org.jetbrains.kotlin.psi.KtFile
+import java.net.URL
+import java.net.URLClassLoader
+
+private const val RUNNER_CLASS = "RunnerKt"
+private const val MAIN_METHOD = "main"
+private const val CONTENT_METHOD = "content"
+private const val TEST_CLASS = "TestKt"
+
+abstract class AbstractDebuggerTest : AbstractCodegenTest() {
+ private lateinit var virtualMachine: VirtualMachine
+ private var proxyPort: Int = -1
+ private lateinit var methodEntryRequest: MethodEntryRequest
+ private lateinit var methodExitRequest: MethodExitRequest
+
+ fun initialize(vm: VirtualMachine, port: Int) {
+ virtualMachine = vm
+ proxyPort = port
+ }
+
+ override fun setUp() {
+ super.setUp()
+ if (proxyPort == -1) throw error("initialize method must be called on AbstractDebuggerTest")
+ createMethodEventsForTestClass()
+ }
+
+ override fun tearDown() {
+ super.tearDown()
+ virtualMachine.eventRequestManager()
+ .deleteEventRequests(listOf(methodEntryRequest, methodExitRequest))
+ }
+
+ private fun createMethodEventsForTestClass() {
+ val manager = virtualMachine.eventRequestManager()
+ methodEntryRequest = manager.createMethodEntryRequest()
+ methodEntryRequest.addClassFilter(TEST_CLASS)
+ methodEntryRequest.setSuspendPolicy(SUSPEND_ALL)
+ methodEntryRequest.enable()
+
+ methodExitRequest = manager.createMethodExitRequest()
+ methodExitRequest.addClassFilter(TEST_CLASS)
+ methodExitRequest.setSuspendPolicy(SUSPEND_ALL)
+ methodExitRequest.enable()
+ }
+
+ private fun invokeRunnerMainInSeparateProcess(
+ classLoader: URLClassLoader,
+ port: Int
+ ) {
+ val classPath = classLoader.extractUrls().toMutableList()
+ if (classLoader is GeneratedClassLoader) {
+ val outDir = tmpDir("${this::class.simpleName}_${this.name}")
+ val currentOutput = SimpleOutputFileCollection(classLoader.allGeneratedFiles)
+ currentOutput.writeAllTo(outDir)
+ classPath.add(0, outDir.toURI().toURL())
+ }
+ TestProxy(port, RUNNER_CLASS, MAIN_METHOD, classPath).runTest()
+ }
+
+ fun collectDebugEvents(@Language("kotlin") source: String): List<LocatableEvent> {
+ val files = mutableListOf<KtFile>()
+ files.addAll(helperFiles())
+ files.add(sourceFile("Runner.kt", RUNNER_SOURCES))
+ files.add(sourceFile("Test.kt", source))
+ myFiles = CodegenTestFiles.create(files)
+ return doTest()
+ }
+
+ private fun doTest(): List<LocatableEvent> {
+ val classLoader = createClassLoader()
+ val testClass = classLoader.loadClass(TEST_CLASS)
+ assert(testClass.declaredMethods.any { it.name == CONTENT_METHOD }) {
+ "Test method $CONTENT_METHOD not present on test class $TEST_CLASS"
+ }
+ if (virtualMachine.allThreads().any { it.isSuspended }) {
+ virtualMachine.resume()
+ }
+ invokeRunnerMainInSeparateProcess(classLoader, proxyPort)
+
+ val manager = virtualMachine.eventRequestManager()
+
+ val loggedItems = mutableListOf<LocatableEvent>()
+ var inContentMethod = false
+ vmLoop@
+ while (true) {
+ val eventSet = virtualMachine.eventQueue().remove(1000) ?: continue
+ for (event in eventSet) {
+ when (event) {
+ is VMDeathEvent, is VMDisconnectEvent -> {
+ break@vmLoop
+ }
+ // We start VM with option 'suspend=n', in case VMStartEvent is still received, discard.
+ is VMStartEvent -> {
+ }
+ is MethodEntryEvent -> {
+ if (!inContentMethod &&
+ event.location().method().name() == CONTENT_METHOD
+ ) {
+ if (manager.stepRequests().isEmpty()) {
+ // Create line stepping request to get all normal line steps starting now.
+ val stepReq = manager.createStepRequest(
+ event.thread(),
+ StepRequest.STEP_LINE,
+ StepRequest.STEP_INTO
+ )
+ stepReq.setSuspendPolicy(SUSPEND_ALL)
+ stepReq.addClassExclusionFilter("java.*")
+ stepReq.addClassExclusionFilter("sun.*")
+ stepReq.addClassExclusionFilter("kotlin.*")
+ stepReq.addClassExclusionFilter("kotlinx.*")
+ stepReq.addClassExclusionFilter("androidx.compose.runtime.*")
+ stepReq.addClassExclusionFilter("jdk.internal.*")
+
+ // Create class prepare request to be able to set breakpoints on class initializer lines.
+ // There are no line stepping events for class initializers, so we depend on breakpoints.
+ val prepareReq = manager.createClassPrepareRequest()
+ prepareReq.setSuspendPolicy(SUSPEND_ALL)
+ prepareReq.addClassExclusionFilter("java.*")
+ prepareReq.addClassExclusionFilter("sun.*")
+ prepareReq.addClassExclusionFilter("kotlinx.*")
+ prepareReq.addClassExclusionFilter("androidx.compose.runtime.*")
+ prepareReq.addClassExclusionFilter("jdk.internal.*")
+ }
+ manager.stepRequests().map { it.enable() }
+ manager.classPrepareRequests().map { it.enable() }
+ inContentMethod = true
+ loggedItems.add(event)
+ }
+ }
+ is StepEvent -> {
+ // Handle the case where an Exception causing program to exit without MethodExitEvent.
+ if (inContentMethod && event.location().method().name() == "run") {
+ manager.stepRequests().map { it.disable() }
+ manager.classPrepareRequests().map { it.disable() }
+ manager.breakpointRequests().map { it.disable() }
+ break@vmLoop
+ }
+ if (inContentMethod) {
+ loggedItems.add(event)
+ }
+ }
+ is MethodExitEvent -> {
+ if (event.location().method().name() == CONTENT_METHOD) {
+ manager.stepRequests().map { it.disable() }
+ manager.classPrepareRequests().map { it.disable() }
+ manager.breakpointRequests().map { it.disable() }
+ break@vmLoop
+ }
+ }
+ is ClassPrepareEvent -> {
+ if (inContentMethod) {
+ val initializer =
+ event.referenceType().methods().find { it.isStaticInitializer }
+ try {
+ initializer?.allLineLocations()?.forEach {
+ manager.createBreakpointRequest(it).enable()
+ }
+ } catch (e: AbsentInformationException) {
+ // If there is no line information, do not set breakpoints.
+ }
+ }
+ }
+ is BreakpointEvent -> {
+ if (inContentMethod) {
+ loggedItems.add(event)
+ }
+ }
+ else -> {
+ throw IllegalStateException("event not handled: $event")
+ }
+ }
+ }
+ eventSet.resume()
+ }
+ virtualMachine.resume()
+
+ return loggedItems
+ }
+}
+
+private fun ClassLoader?.extractUrls(): List<URL> {
+ return (this as? URLClassLoader)?.let {
+ it.urLs.toList() + it.parent.extractUrls()
+ } ?: emptyList()
+}
+
+@Language("kotlin")
+private val RUNNER_SOURCES = """
+ import androidx.compose.runtime.*
+ import kotlinx.coroutines.*
+ fun main() {
+ val mainScope = CoroutineScope(
+ NonCancellable + Dispatchers.Main
+ )
+ val recomposer = Recomposer(mainScope.coroutineContext)
+ Composition(EmptyApplier(), recomposer).setContent { content() }
+ }
+ private class EmptyApplier : Applier<Unit> {
+ override val current: Unit = Unit
+ override fun down(node: Unit) {}
+ override fun up() {}
+ override fun insertTopDown(index: Int, instance: Unit) {
+ error("Unexpected")
+ }
+ override fun insertBottomUp(index: Int, instance: Unit) {
+ error("Unexpected")
+ }
+ override fun remove(index: Int, count: Int) {
+ error("Unexpected")
+ }
+ override fun move(from: Int, to: Int, count: Int) {
+ error("Unexpected")
+ }
+ override fun clear() {}
+ }
+""".trimIndent()
\ No newline at end of file
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/DebugTestSetup.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/DebugTestSetup.kt
new file mode 100644
index 0000000..96cc692
--- /dev/null
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/DebugTestSetup.kt
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.compiler.plugins.kotlin.debug
+
+import androidx.compose.compiler.plugins.kotlin.debug.clientserver.TestProcessServer
+import com.intellij.util.PathUtil
+import com.intellij.util.SystemProperties
+import com.sun.jdi.VirtualMachine
+import com.sun.tools.jdi.SocketAttachingConnector
+import junit.extensions.TestSetup
+import junit.framework.Test
+import java.io.File
+import kotlin.properties.Delegates
+
+/**
+ * An utility that allows sharing of the [TestProcessServer] and debugger across multiple tests.
+ * It startups [TestProcessServer] and attaches debugger to it.
+ */
+class DebugTestSetup(
+ test: Test,
+ val onDebugEnvironmentAvailable: (DebugEnvironment) -> Unit
+) : TestSetup(test) {
+ private lateinit var testServerProcess: Process
+
+ override fun setUp() {
+ super.setUp()
+ testServerProcess = startTestProcessServer()
+ val (debuggerPort, proxyPort) = testServerProcess.inputStream.bufferedReader().use {
+ val debuggerPort = it.readLine().split("address:").last().trim().toInt()
+ it.readLine()
+ val proxyPort = it.readLine().split("port ").last().trim().toInt()
+ (debuggerPort to proxyPort)
+ }
+ val virtualMachine = attachDebugger(debuggerPort)
+ onDebugEnvironmentAvailable(DebugEnvironment(virtualMachine, proxyPort))
+ }
+
+ override fun tearDown() {
+ super.tearDown()
+ testServerProcess.destroy()
+ }
+}
+
+class DebugEnvironment(val virtualMachine: VirtualMachine, val proxyPort: Int)
+
+private fun startTestProcessServer(): Process {
+ val classpath = listOf(
+ PathUtil.getJarPathForClass(TestProcessServer::class.java),
+ PathUtil.getJarPathForClass(Delegates::class.java) // Add Kotlin runtime JAR
+ )
+
+ val javaExec = File(File(SystemProperties.getJavaHome(), "bin"), "java")
+ assert(javaExec.exists())
+
+ val command = listOf(
+ javaExec.absolutePath,
+ "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=127.0.0.1:0",
+ "-ea",
+ "-classpath", classpath.joinToString(File.pathSeparator),
+ TestProcessServer::class.qualifiedName,
+ TestProcessServer.DEBUG_TEST
+ )
+
+ return ProcessBuilder(command).start()
+}
+
+private const val DEBUG_ADDRESS = "127.0.0.1"
+
+private fun attachDebugger(port: Int): VirtualMachine {
+ val connector = SocketAttachingConnector()
+ return connector.attach(
+ connector.defaultArguments().apply {
+ getValue("port").setValue("$port")
+ getValue("hostname").setValue(DEBUG_ADDRESS)
+ }
+ )
+}
\ No newline at end of file
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/LocatableEventExtensions.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/LocatableEventExtensions.kt
new file mode 100644
index 0000000..84fe17e
--- /dev/null
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/LocatableEventExtensions.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.compiler.plugins.kotlin.debug
+
+import com.sun.jdi.Location
+import com.sun.jdi.event.LocatableEvent
+import junit.framework.TestCase
+
+fun List<LocatableEvent>.assertTrace(expected: String) {
+ val actual = compressRunsWithoutLinenumber(this)
+ .filter { (!it.location().method().isSynthetic) }
+ .map { it.location().formatAsExpectation() }
+
+ expected.lines().forEachIndexed { index, expectedLine ->
+ TestCase.assertEquals(expectedLine, actual[index])
+ }
+}
+
+/*
+ Compresses runs of the same, linenumber-less location in the log:
+ specifically removes locations without linenumber, that would otherwise
+ print as byte offsets. This avoids overspecifying code generation
+ strategy in debug tests.
+ */
+fun compressRunsWithoutLinenumber(
+ loggedItems: List<LocatableEvent>,
+): List<LocatableEvent> {
+ var current = ""
+ return loggedItems.filter {
+ val location = it.location()
+ val result = location.lineNumber() != -1 || current != location.formatAsExpectation()
+ if (result) current = location.formatAsExpectation()
+ result
+ }
+}
+
+private fun Location.formatAsExpectation(): String {
+ val synthetic = if (method().isSynthetic) " (synthetic)" else ""
+ return "${sourceName()}:${lineNumber()} ${method().name()}$synthetic"
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/StepTest.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/StepTest.kt
new file mode 100644
index 0000000..485c56e
--- /dev/null
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/StepTest.kt
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.compiler.plugins.kotlin.debug
+
+import junit.framework.Test
+import junit.framework.TestSuite
+
+class StepTest : AbstractDebuggerTest() {
+
+ fun testSteppingIntoIf() {
+ collectDebugEvents(
+ """
+ import androidx.compose.runtime.*
+ @Composable
+ fun content() {
+ var showVar = computeIt()
+ if (showVar) {
+ anotherComposable()
+ }
+ println()
+ }
+ fun computeIt(): Boolean = false
+ @Composable
+ fun anotherComposable() { }
+ """.trimIndent()
+ ).assertTrace(
+ """
+ Test.kt:3 content
+ Test.kt:4 content
+ Test.kt:10 computeIt
+ Test.kt:4 content
+ Test.kt:5 content
+ Test.kt:7 content
+ Test.kt:8 content
+ Test.kt:9 content
+ """.trimIndent()
+ )
+ }
+
+ companion object {
+ @JvmStatic
+ fun suite(): Test {
+ val testSuite = TestSuite(StepTest::class.java)
+ return DebugTestSetup(testSuite) { debugEnv ->
+ testSuite.tests().toList().filterIsInstance(AbstractDebuggerTest::class.java)
+ .forEach {
+ it.initialize(debugEnv.virtualMachine, debugEnv.proxyPort)
+ }
+ }
+ }
+ }
+}
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProcessServer.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProcessServer.kt
new file mode 100644
index 0000000..1f60b47
--- /dev/null
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProcessServer.kt
@@ -0,0 +1,158 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.compiler.plugins.kotlin.debug.clientserver
+
+import java.io.ObjectInputStream
+import java.io.ObjectOutputStream
+import java.lang.reflect.Method
+import java.net.ServerSocket
+import java.net.Socket
+import java.net.URL
+import java.net.URLClassLoader
+import java.util.concurrent.Executors
+import java.util.concurrent.ScheduledFuture
+import java.util.concurrent.TimeUnit
+
+private fun ClassLoader.loadClassOrNull(name: String): Class<*>? =
+ try {
+ loadClass(name)
+ } catch (e: ClassNotFoundException) {
+ null
+ }
+
+private fun Class<*>.getMethodOrNull(name: String, vararg parameterTypes: Class<*>): Method? =
+ try {
+ getMethod(name, *parameterTypes)
+ } catch (e: NoSuchMethodException) {
+ null
+ }
+
+private fun getGeneratedClass(classLoader: ClassLoader, className: String): Class<*> =
+ classLoader.loadClassOrNull(className) ?: error("No class file was generated for: $className")
+
+object TestProcessServer {
+
+ const val DEBUG_TEST = "--debugTest"
+
+ private val executor = Executors.newFixedThreadPool(1)!!
+
+ @Volatile
+ private var isProcessingTask = true
+
+ @Volatile
+ private var lastTime = System.currentTimeMillis()
+
+ private val scheduler = Executors.newScheduledThreadPool(1)
+
+ private lateinit var handler: ScheduledFuture<*>
+
+ private lateinit var serverSocket: ServerSocket
+
+ private var suppressOutput = false
+ private var allocatePort = false
+
+ @JvmStatic
+ fun main(args: Array<String>) {
+ if (args[0] == DEBUG_TEST) {
+ suppressOutput = true
+ allocatePort = true
+ }
+
+ val portNumber = if (allocatePort) 0 else args[0].toInt()
+ println("Starting server on port $portNumber...")
+ val serverSocket = ServerSocket(portNumber)
+ println("...server started on port ${serverSocket.localPort}")
+ scheduleShutdownProcess()
+
+ try {
+ while (true) {
+ lastTime = System.currentTimeMillis()
+ isProcessingTask = false
+ val clientSocket = serverSocket.accept()
+ isProcessingTask = true
+ println("Socket established...")
+ executor.execute(ServerTest(clientSocket, suppressOutput))
+ }
+ } finally {
+ handler.cancel(false)
+ scheduler.shutdown()
+ serverSocket.close()
+ println("Server stopped!")
+ }
+ }
+
+ private fun scheduleShutdownProcess() {
+ handler = scheduler.scheduleAtFixedRate(
+ {
+ if (!isProcessingTask && (System.currentTimeMillis() - lastTime) >= 60 * 1000) {
+ println("Stopping server...")
+ serverSocket.close()
+ }
+ },
+ 60, 60, TimeUnit.SECONDS
+ )
+ }
+}
+
+private class ServerTest(val clientSocket: Socket, val suppressOutput: Boolean) : Runnable {
+ private lateinit var className: String
+ private lateinit var testMethod: String
+
+ override fun run() {
+ val input = ObjectInputStream(clientSocket.getInputStream())
+ val output =
+ if (suppressOutput) null else ObjectOutputStream(clientSocket.getOutputStream())
+ try {
+ var message = input.readObject() as MessageHeader
+ assert(message == MessageHeader.NEW_TEST) {
+ "New test marker missed, but $message received"
+ }
+ className = input.readObject() as String
+ testMethod = input.readObject() as String
+ println("Preparing to execute test $className")
+
+ message = input.readObject() as MessageHeader
+ assert(message == MessageHeader.CLASS_PATH) {
+ "Class path marker missed, but $message received"
+ }
+ @Suppress("UNCHECKED_CAST")
+ val classPath = input.readObject() as Array<URL>
+
+ executeTest(URLClassLoader(classPath))
+ output?.writeObject(MessageHeader.RESULT)
+ } catch (e: Throwable) {
+ output?.writeObject(MessageHeader.ERROR)
+ output?.writeObject(e)
+ } finally {
+ output?.close()
+ input.close()
+ clientSocket.close()
+ }
+ }
+
+ fun executeTest(classLoader: ClassLoader) {
+ val clazz = getGeneratedClass(classLoader, className)
+ clazz.getMethodOrNull(testMethod)!!.invoke(null)
+ }
+}
+
+enum class MessageHeader {
+ NEW_TEST,
+ CLASS_PATH,
+ RESULT,
+ ERROR
+}
\ No newline at end of file
diff --git a/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProxy.kt b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProxy.kt
new file mode 100644
index 0000000..9ddd212
--- /dev/null
+++ b/compose/compiler/compiler-hosted/integration-tests/src/test/java/androidx/compose/compiler/plugins/kotlin/debug/clientserver/TestProxy.kt
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.compiler.plugins.kotlin.debug.clientserver
+
+import java.io.File
+import java.io.ObjectOutputStream
+import java.net.Socket
+import java.net.URL
+
+class TestProxy(
+ private val serverPort: Int,
+ private val testClass: String,
+ private val methodName: String,
+ private val classPath: List<URL>
+) {
+ fun runTest() {
+ Socket("localhost", serverPort).use { clientSocket ->
+ val output = ObjectOutputStream(clientSocket.getOutputStream())
+ try {
+ output.writeObject(MessageHeader.NEW_TEST)
+ output.writeObject(testClass)
+ output.writeObject(methodName)
+ output.writeObject(MessageHeader.CLASS_PATH)
+ // filter out jdk libs
+ output.writeObject(filterOutJdkJars(classPath).toTypedArray())
+ } finally {
+ output.close()
+ }
+ }
+ }
+
+ private fun filterOutJdkJars(classPath: List<URL>): List<URL> {
+ val javaHome = System.getProperty("java.home") ?: error("java.home is not")
+ val javaFolder = File(javaHome)
+ return classPath.filterNot {
+ File(it.file).startsWith(javaFolder)
+ }
+ }
+}
\ No newline at end of file
diff --git a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/VersionChecker.kt b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/VersionChecker.kt
index e8ed06a..fb97b07 100644
--- a/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/VersionChecker.kt
+++ b/compose/compiler/compiler-hosted/src/main/java/androidx/compose/compiler/plugins/kotlin/VersionChecker.kt
@@ -45,19 +45,20 @@
2800 to "1.0.0-beta07",
2900 to "1.0.0-beta08",
3000 to "1.0.0-beta09",
+ 3100 to "1.0.0-beta10",
)
/**
* The minimum version int that this compiler is guaranteed to be compatible with. Typically
* this will match the version int that is in ComposeVersion.kt in the runtime.
*/
- private val minimumRuntimeVersionInt: Int = 3000
+ private val minimumRuntimeVersionInt: Int = 3100
/**
* The maven version string of this compiler. This string should be updated before/after every
* release.
*/
- val compilerVersion: String = "1.0.0-beta09"
+ val compilerVersion: String = "1.0.0-beta10"
private val minimumRuntimeVersion: String
get() = versionTable[minimumRuntimeVersionInt] ?: "unknown"
}
diff --git a/compose/compiler/settings.gradle b/compose/compiler/settings.gradle
index cc92c14..92c29d8 100644
--- a/compose/compiler/settings.gradle
+++ b/compose/compiler/settings.gradle
@@ -20,8 +20,7 @@
setupPlayground(this, "../..")
selectProjectsFromAndroidX({ name ->
if (name.startsWith(":compose:compiler")) return true
- if (name == ":compose:lint:common") return true
- if (name == ":compose:lint:internal-lint-checks") return true
+ if (isNeededForComposePlayground(name)) return true
return false
})
diff --git a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppContent.jvm.kt b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppContent.jvm.kt
index 2cd95ee..d0f6712 100644
--- a/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppContent.jvm.kt
+++ b/compose/desktop/desktop/samples/src/jvmMain/kotlin/androidx/compose/desktop/examples/popupexample/AppContent.jvm.kt
@@ -32,11 +32,13 @@
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.foundation.text.BasicTextField
import androidx.compose.material.AlertDialog
import androidx.compose.material.Button
import androidx.compose.material.ButtonDefaults
import androidx.compose.material.Checkbox
import androidx.compose.material.ContextMenu
+import androidx.compose.material.DropdownMenu
import androidx.compose.material.DropdownMenuItem
import androidx.compose.material.RadioButton
import androidx.compose.material.Surface
@@ -49,6 +51,7 @@
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.unit.DpOffset
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.IntSize
@@ -190,7 +193,11 @@
.background(color = Color(255, 255, 255, 10))
.fillMaxWidth()
) {
- ContextMenu()
+ Row {
+ ContextMenu()
+ Spacer(modifier = Modifier.width(30.dp))
+ TextFieldWithSuggestions()
+ }
Spacer(modifier = Modifier.height(30.dp))
CheckBox(
text = "- alert dialog",
@@ -450,6 +457,47 @@
}
@Composable
+fun TextFieldWithSuggestions() {
+ Surface(
+ color = Color(255, 255, 255, 40),
+ shape = RoundedCornerShape(4.dp)
+ ) {
+ Box(
+ modifier = Modifier.size(200.dp, 35.dp).padding(5.dp),
+ contentAlignment = Alignment.CenterStart
+ ) {
+ val text = remember { mutableStateOf("") }
+ val words = remember { listOf("Hi!", "walking", "are", "home", "world") }
+ val showMenu = remember { mutableStateOf(false) }
+ BasicTextField(
+ textStyle = TextStyle.Default.copy(color = Color(200, 200, 200)),
+ value = text.value,
+ singleLine = true,
+ onValueChange = {
+ text.value = it
+ if (text.value.isNotEmpty())
+ showMenu.value = true
+ else
+ showMenu.value = false
+ },
+ modifier = Modifier.height(14.dp),
+ )
+ DropdownMenu(
+ expanded = showMenu.value,
+ onDismissRequest = {},
+ focusable = false
+ ) {
+ words.forEach { name ->
+ DropdownMenuItem(onClick = { text.value += name }) {
+ Text(text = name)
+ }
+ }
+ }
+ }
+ }
+}
+
+@Composable
fun CheckBox(text: String, state: MutableState<Boolean>) {
Row {
Box(
diff --git a/compose/foundation/foundation-layout/api/1.0.0-beta10.txt b/compose/foundation/foundation-layout/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..c5b29be
--- /dev/null
+++ b/compose/foundation/foundation-layout/api/1.0.0-beta10.txt
@@ -0,0 +1,207 @@
+// Signature format: 4.0
+package androidx.compose.foundation.layout {
+
+ public final class AlignmentLineKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFrom-XACvGJ4(androidx.compose.ui.Modifier, androidx.compose.ui.layout.AlignmentLine alignmentLine, optional long before, optional long after);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFrom-x1H7Rps(androidx.compose.ui.Modifier, androidx.compose.ui.layout.AlignmentLine alignmentLine, optional float before, optional float after);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFromBaseline-S2lCeAQ(androidx.compose.ui.Modifier, optional float top, optional float bottom);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFromBaseline-zCFLmh4(androidx.compose.ui.Modifier, optional long top, optional long bottom);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Arrangement {
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal aligned(androidx.compose.ui.Alignment.Horizontal alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Vertical aligned(androidx.compose.ui.Alignment.Vertical alignment);
+ method public androidx.compose.foundation.layout.Arrangement.Vertical getBottom();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getCenter();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getEnd();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getSpaceAround();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getSpaceBetween();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getSpaceEvenly();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getStart();
+ method public androidx.compose.foundation.layout.Arrangement.Vertical getTop();
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical spacedBy-0680j_4(float space);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Vertical spacedBy-6mHxxJo(float space, androidx.compose.ui.Alignment.Vertical alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal spacedBy-w0p642k(float space, androidx.compose.ui.Alignment.Horizontal alignment);
+ property public final androidx.compose.foundation.layout.Arrangement.Vertical Bottom;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical Center;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal End;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical SpaceAround;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical SpaceBetween;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical SpaceEvenly;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Start;
+ property public final androidx.compose.foundation.layout.Arrangement.Vertical Top;
+ field public static final androidx.compose.foundation.layout.Arrangement INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class Arrangement.Absolute {
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal aligned(androidx.compose.ui.Alignment.Horizontal alignment);
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getCenter();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getLeft();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getRight();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getSpaceAround();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getSpaceBetween();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getSpaceEvenly();
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical spacedBy-0680j_4(float space);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Vertical spacedBy-6mHxxJo(float space, androidx.compose.ui.Alignment.Vertical alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal spacedBy-w0p642k(float space, androidx.compose.ui.Alignment.Horizontal alignment);
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Center;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Left;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Right;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal SpaceAround;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal SpaceBetween;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal SpaceEvenly;
+ field public static final androidx.compose.foundation.layout.Arrangement.Absolute INSTANCE;
+ }
+
+ @androidx.compose.runtime.Stable public static interface Arrangement.Horizontal {
+ method public void arrange(androidx.compose.ui.unit.Density, int totalSize, int[] sizes, androidx.compose.ui.unit.LayoutDirection layoutDirection, int[] outPositions);
+ method public default float getSpacing-D9Ej5fM();
+ property public default float spacing;
+ }
+
+ @androidx.compose.runtime.Stable public static interface Arrangement.HorizontalOrVertical extends androidx.compose.foundation.layout.Arrangement.Horizontal androidx.compose.foundation.layout.Arrangement.Vertical {
+ property public default float spacing;
+ }
+
+ @androidx.compose.runtime.Stable public static interface Arrangement.Vertical {
+ method public void arrange(androidx.compose.ui.unit.Density, int totalSize, int[] sizes, int[] outPositions);
+ method public default float getSpacing-D9Ej5fM();
+ property public default float spacing;
+ }
+
+ public final class AspectRatioKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier aspectRatio(androidx.compose.ui.Modifier, float ratio, optional boolean matchHeightConstraintsFirst);
+ }
+
+ public final class BoxKt {
+ method @androidx.compose.runtime.Composable public static inline void Box(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment contentAlignment, optional boolean propagateMinConstraints, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.BoxScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Box(androidx.compose.ui.Modifier modifier);
+ }
+
+ @androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface BoxScope {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier align(androidx.compose.ui.Modifier, androidx.compose.ui.Alignment alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier matchParentSize(androidx.compose.ui.Modifier);
+ }
+
+ public final class BoxWithConstraintsKt {
+ method @androidx.compose.runtime.Composable public static void BoxWithConstraints(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment contentAlignment, optional boolean propagateMinConstraints, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.BoxWithConstraintsScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.runtime.Stable public interface BoxWithConstraintsScope extends androidx.compose.foundation.layout.BoxScope {
+ method public long getConstraints-msEJaDk();
+ method public float getMaxHeight-D9Ej5fM();
+ method public float getMaxWidth-D9Ej5fM();
+ method public float getMinHeight-D9Ej5fM();
+ method public float getMinWidth-D9Ej5fM();
+ property public abstract long constraints;
+ property public abstract float maxHeight;
+ property public abstract float maxWidth;
+ property public abstract float minHeight;
+ property public abstract float minWidth;
+ }
+
+ public final class ColumnKt {
+ method @androidx.compose.runtime.Composable public static inline void Column(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.layout.Arrangement.Vertical verticalArrangement, optional androidx.compose.ui.Alignment.Horizontal horizontalAlignment, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface ColumnScope {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier align(androidx.compose.ui.Modifier, androidx.compose.ui.Alignment.Horizontal alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, androidx.compose.ui.layout.VerticalAlignmentLine alignmentLine);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.Measured,java.lang.Integer> alignmentLineBlock);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier weight(androidx.compose.ui.Modifier, float weight, optional boolean fill);
+ }
+
+ public final class IntrinsicKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier height(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredHeight(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredWidth(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier width(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ }
+
+ public enum IntrinsicSize {
+ enum_constant public static final androidx.compose.foundation.layout.IntrinsicSize Max;
+ enum_constant public static final androidx.compose.foundation.layout.IntrinsicSize Min;
+ }
+
+ @kotlin.DslMarker public @interface LayoutScopeMarker {
+ }
+
+ public final class OffsetKt {
+ method public static androidx.compose.ui.Modifier absoluteOffset(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Density,androidx.compose.ui.unit.IntOffset> offset);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier absoluteOffset-S2lCeAQ(androidx.compose.ui.Modifier, optional float x, optional float y);
+ method public static androidx.compose.ui.Modifier offset(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Density,androidx.compose.ui.unit.IntOffset> offset);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier offset-S2lCeAQ(androidx.compose.ui.Modifier, optional float x, optional float y);
+ }
+
+ public final class PaddingKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.layout.PaddingValues PaddingValues-0680j_4(float all);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.layout.PaddingValues PaddingValues-ZmiikuI(optional float start, optional float top, optional float end, optional float bottom);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.layout.PaddingValues PaddingValues-ioHfwGI(optional float horizontal, optional float vertical);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier absolutePadding-w2-DAAU(androidx.compose.ui.Modifier, optional float left, optional float top, optional float right, optional float bottom);
+ method @androidx.compose.runtime.Stable public static float calculateEndPadding(androidx.compose.foundation.layout.PaddingValues, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Stable public static float calculateStartPadding(androidx.compose.foundation.layout.PaddingValues, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.PaddingValues paddingValues);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding-S2lCeAQ(androidx.compose.ui.Modifier, optional float horizontal, optional float vertical);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding-w2-DAAU(androidx.compose.ui.Modifier, optional float start, optional float top, optional float end, optional float bottom);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding-wxomhCo(androidx.compose.ui.Modifier, float all);
+ }
+
+ @androidx.compose.runtime.Stable public interface PaddingValues {
+ method public float calculateBottomPadding-D9Ej5fM();
+ method public float calculateLeftPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateRightPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateTopPadding-D9Ej5fM();
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PaddingValues.Absolute implements androidx.compose.foundation.layout.PaddingValues {
+ method public float calculateBottomPadding-D9Ej5fM();
+ method public float calculateLeftPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateRightPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateTopPadding-D9Ej5fM();
+ }
+
+ public final class RowColumnImplKt {
+ }
+
+ public final class RowKt {
+ method @androidx.compose.runtime.Composable public static inline void Row(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.layout.Arrangement.Horizontal horizontalArrangement, optional androidx.compose.ui.Alignment.Vertical verticalAlignment, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface RowScope {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier align(androidx.compose.ui.Modifier, androidx.compose.ui.Alignment.Vertical alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, androidx.compose.ui.layout.HorizontalAlignmentLine alignmentLine);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.Measured,java.lang.Integer> alignmentLineBlock);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignByBaseline(androidx.compose.ui.Modifier);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier weight(androidx.compose.ui.Modifier, float weight, optional boolean fill);
+ }
+
+ public final class SizeKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier defaultMinSize-S2lCeAQ(androidx.compose.ui.Modifier, optional float minWidth, optional float minHeight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier fillMaxHeight(androidx.compose.ui.Modifier, optional float fraction);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier fillMaxSize(androidx.compose.ui.Modifier, optional float fraction);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier fillMaxWidth(androidx.compose.ui.Modifier, optional float fraction);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier height-wxomhCo(androidx.compose.ui.Modifier, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier heightIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredHeight-wxomhCo(androidx.compose.ui.Modifier, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredHeightIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredSize-S2lCeAQ(androidx.compose.ui.Modifier, float width, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredSize-wxomhCo(androidx.compose.ui.Modifier, float size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredSizeIn-w2-DAAU(androidx.compose.ui.Modifier, optional float minWidth, optional float minHeight, optional float maxWidth, optional float maxHeight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredWidth-wxomhCo(androidx.compose.ui.Modifier, float width);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredWidthIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier size-S2lCeAQ(androidx.compose.ui.Modifier, float width, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier size-wxomhCo(androidx.compose.ui.Modifier, float size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier sizeIn-w2-DAAU(androidx.compose.ui.Modifier, optional float minWidth, optional float minHeight, optional float maxWidth, optional float maxHeight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier width-wxomhCo(androidx.compose.ui.Modifier, float width);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier widthIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier wrapContentHeight(androidx.compose.ui.Modifier, optional androidx.compose.ui.Alignment.Vertical align, optional boolean unbounded);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier wrapContentSize(androidx.compose.ui.Modifier, optional androidx.compose.ui.Alignment align, optional boolean unbounded);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier wrapContentWidth(androidx.compose.ui.Modifier, optional androidx.compose.ui.Alignment.Horizontal align, optional boolean unbounded);
+ }
+
+ public final class SpacerKt {
+ method @androidx.compose.runtime.Composable public static void Spacer(androidx.compose.ui.Modifier modifier);
+ }
+
+}
+
diff --git a/compose/foundation/foundation-layout/api/public_plus_experimental_1.0.0-beta10.txt b/compose/foundation/foundation-layout/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..a6093dd
--- /dev/null
+++ b/compose/foundation/foundation-layout/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,210 @@
+// Signature format: 4.0
+package androidx.compose.foundation.layout {
+
+ public final class AlignmentLineKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFrom-XACvGJ4(androidx.compose.ui.Modifier, androidx.compose.ui.layout.AlignmentLine alignmentLine, optional long before, optional long after);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFrom-x1H7Rps(androidx.compose.ui.Modifier, androidx.compose.ui.layout.AlignmentLine alignmentLine, optional float before, optional float after);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFromBaseline-S2lCeAQ(androidx.compose.ui.Modifier, optional float top, optional float bottom);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFromBaseline-zCFLmh4(androidx.compose.ui.Modifier, optional long top, optional long bottom);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Arrangement {
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal aligned(androidx.compose.ui.Alignment.Horizontal alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Vertical aligned(androidx.compose.ui.Alignment.Vertical alignment);
+ method public androidx.compose.foundation.layout.Arrangement.Vertical getBottom();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getCenter();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getEnd();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getSpaceAround();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getSpaceBetween();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getSpaceEvenly();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getStart();
+ method public androidx.compose.foundation.layout.Arrangement.Vertical getTop();
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical spacedBy-0680j_4(float space);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Vertical spacedBy-6mHxxJo(float space, androidx.compose.ui.Alignment.Vertical alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal spacedBy-w0p642k(float space, androidx.compose.ui.Alignment.Horizontal alignment);
+ property public final androidx.compose.foundation.layout.Arrangement.Vertical Bottom;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical Center;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal End;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical SpaceAround;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical SpaceBetween;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical SpaceEvenly;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Start;
+ property public final androidx.compose.foundation.layout.Arrangement.Vertical Top;
+ field public static final androidx.compose.foundation.layout.Arrangement INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class Arrangement.Absolute {
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal aligned(androidx.compose.ui.Alignment.Horizontal alignment);
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getCenter();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getLeft();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getRight();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getSpaceAround();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getSpaceBetween();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getSpaceEvenly();
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical spacedBy-0680j_4(float space);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Vertical spacedBy-6mHxxJo(float space, androidx.compose.ui.Alignment.Vertical alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal spacedBy-w0p642k(float space, androidx.compose.ui.Alignment.Horizontal alignment);
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Center;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Left;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Right;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal SpaceAround;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal SpaceBetween;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal SpaceEvenly;
+ field public static final androidx.compose.foundation.layout.Arrangement.Absolute INSTANCE;
+ }
+
+ @androidx.compose.runtime.Stable public static interface Arrangement.Horizontal {
+ method public void arrange(androidx.compose.ui.unit.Density, int totalSize, int[] sizes, androidx.compose.ui.unit.LayoutDirection layoutDirection, int[] outPositions);
+ method public default float getSpacing-D9Ej5fM();
+ property public default float spacing;
+ }
+
+ @androidx.compose.runtime.Stable public static interface Arrangement.HorizontalOrVertical extends androidx.compose.foundation.layout.Arrangement.Horizontal androidx.compose.foundation.layout.Arrangement.Vertical {
+ property public default float spacing;
+ }
+
+ @androidx.compose.runtime.Stable public static interface Arrangement.Vertical {
+ method public void arrange(androidx.compose.ui.unit.Density, int totalSize, int[] sizes, int[] outPositions);
+ method public default float getSpacing-D9Ej5fM();
+ property public default float spacing;
+ }
+
+ public final class AspectRatioKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier aspectRatio(androidx.compose.ui.Modifier, float ratio, optional boolean matchHeightConstraintsFirst);
+ }
+
+ public final class BoxKt {
+ method @androidx.compose.runtime.Composable public static inline void Box(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment contentAlignment, optional boolean propagateMinConstraints, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.BoxScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Box(androidx.compose.ui.Modifier modifier);
+ }
+
+ @androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface BoxScope {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier align(androidx.compose.ui.Modifier, androidx.compose.ui.Alignment alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier matchParentSize(androidx.compose.ui.Modifier);
+ }
+
+ public final class BoxWithConstraintsKt {
+ method @androidx.compose.runtime.Composable public static void BoxWithConstraints(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment contentAlignment, optional boolean propagateMinConstraints, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.BoxWithConstraintsScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.runtime.Stable public interface BoxWithConstraintsScope extends androidx.compose.foundation.layout.BoxScope {
+ method public long getConstraints-msEJaDk();
+ method public float getMaxHeight-D9Ej5fM();
+ method public float getMaxWidth-D9Ej5fM();
+ method public float getMinHeight-D9Ej5fM();
+ method public float getMinWidth-D9Ej5fM();
+ property public abstract long constraints;
+ property public abstract float maxHeight;
+ property public abstract float maxWidth;
+ property public abstract float minHeight;
+ property public abstract float minWidth;
+ }
+
+ public final class ColumnKt {
+ method @androidx.compose.runtime.Composable public static inline void Column(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.layout.Arrangement.Vertical verticalArrangement, optional androidx.compose.ui.Alignment.Horizontal horizontalAlignment, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface ColumnScope {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier align(androidx.compose.ui.Modifier, androidx.compose.ui.Alignment.Horizontal alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, androidx.compose.ui.layout.VerticalAlignmentLine alignmentLine);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.Measured,java.lang.Integer> alignmentLineBlock);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier weight(androidx.compose.ui.Modifier, float weight, optional boolean fill);
+ }
+
+ @kotlin.RequiresOptIn(message="The API of this layout is experimental and is likely to change in the future.") public @interface ExperimentalLayoutApi {
+ }
+
+ public final class IntrinsicKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier height(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredHeight(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredWidth(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier width(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ }
+
+ public enum IntrinsicSize {
+ enum_constant public static final androidx.compose.foundation.layout.IntrinsicSize Max;
+ enum_constant public static final androidx.compose.foundation.layout.IntrinsicSize Min;
+ }
+
+ @kotlin.DslMarker public @interface LayoutScopeMarker {
+ }
+
+ public final class OffsetKt {
+ method public static androidx.compose.ui.Modifier absoluteOffset(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Density,androidx.compose.ui.unit.IntOffset> offset);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier absoluteOffset-S2lCeAQ(androidx.compose.ui.Modifier, optional float x, optional float y);
+ method public static androidx.compose.ui.Modifier offset(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Density,androidx.compose.ui.unit.IntOffset> offset);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier offset-S2lCeAQ(androidx.compose.ui.Modifier, optional float x, optional float y);
+ }
+
+ public final class PaddingKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.layout.PaddingValues PaddingValues-0680j_4(float all);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.layout.PaddingValues PaddingValues-ZmiikuI(optional float start, optional float top, optional float end, optional float bottom);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.layout.PaddingValues PaddingValues-ioHfwGI(optional float horizontal, optional float vertical);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier absolutePadding-w2-DAAU(androidx.compose.ui.Modifier, optional float left, optional float top, optional float right, optional float bottom);
+ method @androidx.compose.runtime.Stable public static float calculateEndPadding(androidx.compose.foundation.layout.PaddingValues, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Stable public static float calculateStartPadding(androidx.compose.foundation.layout.PaddingValues, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.PaddingValues paddingValues);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding-S2lCeAQ(androidx.compose.ui.Modifier, optional float horizontal, optional float vertical);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding-w2-DAAU(androidx.compose.ui.Modifier, optional float start, optional float top, optional float end, optional float bottom);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding-wxomhCo(androidx.compose.ui.Modifier, float all);
+ }
+
+ @androidx.compose.runtime.Stable public interface PaddingValues {
+ method public float calculateBottomPadding-D9Ej5fM();
+ method public float calculateLeftPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateRightPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateTopPadding-D9Ej5fM();
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PaddingValues.Absolute implements androidx.compose.foundation.layout.PaddingValues {
+ method public float calculateBottomPadding-D9Ej5fM();
+ method public float calculateLeftPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateRightPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateTopPadding-D9Ej5fM();
+ }
+
+ public final class RowColumnImplKt {
+ }
+
+ public final class RowKt {
+ method @androidx.compose.runtime.Composable public static inline void Row(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.layout.Arrangement.Horizontal horizontalArrangement, optional androidx.compose.ui.Alignment.Vertical verticalAlignment, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface RowScope {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier align(androidx.compose.ui.Modifier, androidx.compose.ui.Alignment.Vertical alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, androidx.compose.ui.layout.HorizontalAlignmentLine alignmentLine);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.Measured,java.lang.Integer> alignmentLineBlock);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignByBaseline(androidx.compose.ui.Modifier);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier weight(androidx.compose.ui.Modifier, float weight, optional boolean fill);
+ }
+
+ public final class SizeKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier defaultMinSize-S2lCeAQ(androidx.compose.ui.Modifier, optional float minWidth, optional float minHeight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier fillMaxHeight(androidx.compose.ui.Modifier, optional float fraction);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier fillMaxSize(androidx.compose.ui.Modifier, optional float fraction);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier fillMaxWidth(androidx.compose.ui.Modifier, optional float fraction);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier height-wxomhCo(androidx.compose.ui.Modifier, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier heightIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredHeight-wxomhCo(androidx.compose.ui.Modifier, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredHeightIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredSize-S2lCeAQ(androidx.compose.ui.Modifier, float width, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredSize-wxomhCo(androidx.compose.ui.Modifier, float size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredSizeIn-w2-DAAU(androidx.compose.ui.Modifier, optional float minWidth, optional float minHeight, optional float maxWidth, optional float maxHeight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredWidth-wxomhCo(androidx.compose.ui.Modifier, float width);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredWidthIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier size-S2lCeAQ(androidx.compose.ui.Modifier, float width, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier size-wxomhCo(androidx.compose.ui.Modifier, float size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier sizeIn-w2-DAAU(androidx.compose.ui.Modifier, optional float minWidth, optional float minHeight, optional float maxWidth, optional float maxHeight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier width-wxomhCo(androidx.compose.ui.Modifier, float width);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier widthIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier wrapContentHeight(androidx.compose.ui.Modifier, optional androidx.compose.ui.Alignment.Vertical align, optional boolean unbounded);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier wrapContentSize(androidx.compose.ui.Modifier, optional androidx.compose.ui.Alignment align, optional boolean unbounded);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier wrapContentWidth(androidx.compose.ui.Modifier, optional androidx.compose.ui.Alignment.Horizontal align, optional boolean unbounded);
+ }
+
+ public final class SpacerKt {
+ method @androidx.compose.runtime.Composable public static void Spacer(androidx.compose.ui.Modifier modifier);
+ }
+
+}
+
diff --git a/compose/foundation/foundation-layout/api/res-1.0.0-beta10.txt b/compose/foundation/foundation-layout/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/foundation/foundation-layout/api/res-1.0.0-beta10.txt
diff --git a/compose/foundation/foundation-layout/api/restricted_1.0.0-beta10.txt b/compose/foundation/foundation-layout/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..7dd49e8
--- /dev/null
+++ b/compose/foundation/foundation-layout/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,212 @@
+// Signature format: 4.0
+package androidx.compose.foundation.layout {
+
+ public final class AlignmentLineKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFrom-XACvGJ4(androidx.compose.ui.Modifier, androidx.compose.ui.layout.AlignmentLine alignmentLine, optional long before, optional long after);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFrom-x1H7Rps(androidx.compose.ui.Modifier, androidx.compose.ui.layout.AlignmentLine alignmentLine, optional float before, optional float after);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFromBaseline-S2lCeAQ(androidx.compose.ui.Modifier, optional float top, optional float bottom);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier paddingFromBaseline-zCFLmh4(androidx.compose.ui.Modifier, optional long top, optional long bottom);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Arrangement {
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal aligned(androidx.compose.ui.Alignment.Horizontal alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Vertical aligned(androidx.compose.ui.Alignment.Vertical alignment);
+ method public androidx.compose.foundation.layout.Arrangement.Vertical getBottom();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getCenter();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getEnd();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getSpaceAround();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getSpaceBetween();
+ method public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical getSpaceEvenly();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getStart();
+ method public androidx.compose.foundation.layout.Arrangement.Vertical getTop();
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical spacedBy-0680j_4(float space);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Vertical spacedBy-6mHxxJo(float space, androidx.compose.ui.Alignment.Vertical alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal spacedBy-w0p642k(float space, androidx.compose.ui.Alignment.Horizontal alignment);
+ property public final androidx.compose.foundation.layout.Arrangement.Vertical Bottom;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical Center;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal End;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical SpaceAround;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical SpaceBetween;
+ property public final androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical SpaceEvenly;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Start;
+ property public final androidx.compose.foundation.layout.Arrangement.Vertical Top;
+ field public static final androidx.compose.foundation.layout.Arrangement INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class Arrangement.Absolute {
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal aligned(androidx.compose.ui.Alignment.Horizontal alignment);
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getCenter();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getLeft();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getRight();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getSpaceAround();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getSpaceBetween();
+ method public androidx.compose.foundation.layout.Arrangement.Horizontal getSpaceEvenly();
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.HorizontalOrVertical spacedBy-0680j_4(float space);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Vertical spacedBy-6mHxxJo(float space, androidx.compose.ui.Alignment.Vertical alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.foundation.layout.Arrangement.Horizontal spacedBy-w0p642k(float space, androidx.compose.ui.Alignment.Horizontal alignment);
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Center;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Left;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal Right;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal SpaceAround;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal SpaceBetween;
+ property public final androidx.compose.foundation.layout.Arrangement.Horizontal SpaceEvenly;
+ field public static final androidx.compose.foundation.layout.Arrangement.Absolute INSTANCE;
+ }
+
+ @androidx.compose.runtime.Stable public static interface Arrangement.Horizontal {
+ method public void arrange(androidx.compose.ui.unit.Density, int totalSize, int[] sizes, androidx.compose.ui.unit.LayoutDirection layoutDirection, int[] outPositions);
+ method public default float getSpacing-D9Ej5fM();
+ property public default float spacing;
+ }
+
+ @androidx.compose.runtime.Stable public static interface Arrangement.HorizontalOrVertical extends androidx.compose.foundation.layout.Arrangement.Horizontal androidx.compose.foundation.layout.Arrangement.Vertical {
+ property public default float spacing;
+ }
+
+ @androidx.compose.runtime.Stable public static interface Arrangement.Vertical {
+ method public void arrange(androidx.compose.ui.unit.Density, int totalSize, int[] sizes, int[] outPositions);
+ method public default float getSpacing-D9Ej5fM();
+ property public default float spacing;
+ }
+
+ public final class AspectRatioKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier aspectRatio(androidx.compose.ui.Modifier, float ratio, optional boolean matchHeightConstraintsFirst);
+ }
+
+ public final class BoxKt {
+ method @androidx.compose.runtime.Composable public static inline void Box(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment contentAlignment, optional boolean propagateMinConstraints, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.BoxScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Box(androidx.compose.ui.Modifier modifier);
+ method @androidx.compose.runtime.Composable @kotlin.PublishedApi internal static androidx.compose.ui.layout.MeasurePolicy rememberBoxMeasurePolicy(androidx.compose.ui.Alignment alignment, boolean propagateMinConstraints);
+ }
+
+ @androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface BoxScope {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier align(androidx.compose.ui.Modifier, androidx.compose.ui.Alignment alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier matchParentSize(androidx.compose.ui.Modifier);
+ }
+
+ public final class BoxWithConstraintsKt {
+ method @androidx.compose.runtime.Composable public static void BoxWithConstraints(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment contentAlignment, optional boolean propagateMinConstraints, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.BoxWithConstraintsScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.runtime.Stable public interface BoxWithConstraintsScope extends androidx.compose.foundation.layout.BoxScope {
+ method public long getConstraints-msEJaDk();
+ method public float getMaxHeight-D9Ej5fM();
+ method public float getMaxWidth-D9Ej5fM();
+ method public float getMinHeight-D9Ej5fM();
+ method public float getMinWidth-D9Ej5fM();
+ property public abstract long constraints;
+ property public abstract float maxHeight;
+ property public abstract float maxWidth;
+ property public abstract float minHeight;
+ property public abstract float minWidth;
+ }
+
+ public final class ColumnKt {
+ method @androidx.compose.runtime.Composable public static inline void Column(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.layout.Arrangement.Vertical verticalArrangement, optional androidx.compose.ui.Alignment.Horizontal horizontalAlignment, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @kotlin.PublishedApi internal static androidx.compose.ui.layout.MeasurePolicy columnMeasurePolicy(androidx.compose.foundation.layout.Arrangement.Vertical verticalArrangement, androidx.compose.ui.Alignment.Horizontal horizontalAlignment);
+ field @kotlin.PublishedApi internal static final androidx.compose.ui.layout.MeasurePolicy DefaultColumnMeasurePolicy;
+ }
+
+ @androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface ColumnScope {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier align(androidx.compose.ui.Modifier, androidx.compose.ui.Alignment.Horizontal alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, androidx.compose.ui.layout.VerticalAlignmentLine alignmentLine);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.Measured,java.lang.Integer> alignmentLineBlock);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier weight(androidx.compose.ui.Modifier, float weight, optional boolean fill);
+ }
+
+ public final class IntrinsicKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier height(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredHeight(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredWidth(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier width(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.IntrinsicSize intrinsicSize);
+ }
+
+ public enum IntrinsicSize {
+ enum_constant public static final androidx.compose.foundation.layout.IntrinsicSize Max;
+ enum_constant public static final androidx.compose.foundation.layout.IntrinsicSize Min;
+ }
+
+ @kotlin.DslMarker public @interface LayoutScopeMarker {
+ }
+
+ public final class OffsetKt {
+ method public static androidx.compose.ui.Modifier absoluteOffset(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Density,androidx.compose.ui.unit.IntOffset> offset);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier absoluteOffset-S2lCeAQ(androidx.compose.ui.Modifier, optional float x, optional float y);
+ method public static androidx.compose.ui.Modifier offset(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.Density,androidx.compose.ui.unit.IntOffset> offset);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier offset-S2lCeAQ(androidx.compose.ui.Modifier, optional float x, optional float y);
+ }
+
+ public final class PaddingKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.layout.PaddingValues PaddingValues-0680j_4(float all);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.layout.PaddingValues PaddingValues-ZmiikuI(optional float start, optional float top, optional float end, optional float bottom);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.layout.PaddingValues PaddingValues-ioHfwGI(optional float horizontal, optional float vertical);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier absolutePadding-w2-DAAU(androidx.compose.ui.Modifier, optional float left, optional float top, optional float right, optional float bottom);
+ method @androidx.compose.runtime.Stable public static float calculateEndPadding(androidx.compose.foundation.layout.PaddingValues, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Stable public static float calculateStartPadding(androidx.compose.foundation.layout.PaddingValues, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding(androidx.compose.ui.Modifier, androidx.compose.foundation.layout.PaddingValues paddingValues);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding-S2lCeAQ(androidx.compose.ui.Modifier, optional float horizontal, optional float vertical);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding-w2-DAAU(androidx.compose.ui.Modifier, optional float start, optional float top, optional float end, optional float bottom);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier padding-wxomhCo(androidx.compose.ui.Modifier, float all);
+ }
+
+ @androidx.compose.runtime.Stable public interface PaddingValues {
+ method public float calculateBottomPadding-D9Ej5fM();
+ method public float calculateLeftPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateRightPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateTopPadding-D9Ej5fM();
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PaddingValues.Absolute implements androidx.compose.foundation.layout.PaddingValues {
+ method public float calculateBottomPadding-D9Ej5fM();
+ method public float calculateLeftPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateRightPadding-D9Ej5fM(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float calculateTopPadding-D9Ej5fM();
+ }
+
+ public final class RowColumnImplKt {
+ }
+
+ public final class RowKt {
+ method @androidx.compose.runtime.Composable public static inline void Row(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.layout.Arrangement.Horizontal horizontalArrangement, optional androidx.compose.ui.Alignment.Vertical verticalAlignment, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @kotlin.PublishedApi internal static androidx.compose.ui.layout.MeasurePolicy rowMeasurePolicy(androidx.compose.foundation.layout.Arrangement.Horizontal horizontalArrangement, androidx.compose.ui.Alignment.Vertical verticalAlignment);
+ field @kotlin.PublishedApi internal static final androidx.compose.ui.layout.MeasurePolicy DefaultRowMeasurePolicy;
+ }
+
+ @androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface RowScope {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier align(androidx.compose.ui.Modifier, androidx.compose.ui.Alignment.Vertical alignment);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, androidx.compose.ui.layout.HorizontalAlignmentLine alignmentLine);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignBy(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.Measured,java.lang.Integer> alignmentLineBlock);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier alignByBaseline(androidx.compose.ui.Modifier);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.Modifier weight(androidx.compose.ui.Modifier, float weight, optional boolean fill);
+ }
+
+ public final class SizeKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier defaultMinSize-S2lCeAQ(androidx.compose.ui.Modifier, optional float minWidth, optional float minHeight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier fillMaxHeight(androidx.compose.ui.Modifier, optional float fraction);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier fillMaxSize(androidx.compose.ui.Modifier, optional float fraction);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier fillMaxWidth(androidx.compose.ui.Modifier, optional float fraction);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier height-wxomhCo(androidx.compose.ui.Modifier, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier heightIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredHeight-wxomhCo(androidx.compose.ui.Modifier, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredHeightIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredSize-S2lCeAQ(androidx.compose.ui.Modifier, float width, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredSize-wxomhCo(androidx.compose.ui.Modifier, float size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredSizeIn-w2-DAAU(androidx.compose.ui.Modifier, optional float minWidth, optional float minHeight, optional float maxWidth, optional float maxHeight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredWidth-wxomhCo(androidx.compose.ui.Modifier, float width);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier requiredWidthIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier size-S2lCeAQ(androidx.compose.ui.Modifier, float width, float height);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier size-wxomhCo(androidx.compose.ui.Modifier, float size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier sizeIn-w2-DAAU(androidx.compose.ui.Modifier, optional float minWidth, optional float minHeight, optional float maxWidth, optional float maxHeight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier width-wxomhCo(androidx.compose.ui.Modifier, float width);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier widthIn-S2lCeAQ(androidx.compose.ui.Modifier, optional float min, optional float max);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier wrapContentHeight(androidx.compose.ui.Modifier, optional androidx.compose.ui.Alignment.Vertical align, optional boolean unbounded);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier wrapContentSize(androidx.compose.ui.Modifier, optional androidx.compose.ui.Alignment align, optional boolean unbounded);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier wrapContentWidth(androidx.compose.ui.Modifier, optional androidx.compose.ui.Alignment.Horizontal align, optional boolean unbounded);
+ }
+
+ public final class SpacerKt {
+ method @androidx.compose.runtime.Composable public static void Spacer(androidx.compose.ui.Modifier modifier);
+ }
+
+}
+
diff --git a/compose/foundation/foundation/api/1.0.0-beta10.txt b/compose/foundation/foundation/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..1c29d18
--- /dev/null
+++ b/compose/foundation/foundation/api/1.0.0-beta10.txt
@@ -0,0 +1,766 @@
+// Signature format: 4.0
+package androidx.compose.foundation {
+
+ public final class ActualJvmKt {
+ }
+
+ public final class BackgroundKt {
+ method public static androidx.compose.ui.Modifier background(androidx.compose.ui.Modifier, androidx.compose.ui.graphics.Brush brush, optional androidx.compose.ui.graphics.Shape shape, optional float alpha);
+ method public static androidx.compose.ui.Modifier background-1xq40Q0(androidx.compose.ui.Modifier, long color, optional androidx.compose.ui.graphics.Shape shape);
+ }
+
+ public final class BorderKt {
+ method public static androidx.compose.ui.Modifier border(androidx.compose.ui.Modifier, androidx.compose.foundation.BorderStroke border, optional androidx.compose.ui.graphics.Shape shape);
+ method public static androidx.compose.ui.Modifier border-bMj1UE0(androidx.compose.ui.Modifier, float width, androidx.compose.ui.graphics.Brush brush, androidx.compose.ui.graphics.Shape shape);
+ method public static androidx.compose.ui.Modifier border-zRMYNwQ(androidx.compose.ui.Modifier, float width, long color, optional androidx.compose.ui.graphics.Shape shape);
+ }
+
+ @androidx.compose.runtime.Immutable public final class BorderStroke {
+ method public androidx.compose.foundation.BorderStroke copy-v_fYJzc(optional float width, optional androidx.compose.ui.graphics.Brush brush);
+ method public androidx.compose.ui.graphics.Brush getBrush();
+ method public float getWidth-D9Ej5fM();
+ property public final androidx.compose.ui.graphics.Brush brush;
+ property public final float width;
+ }
+
+ public final class BorderStrokeKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.BorderStroke BorderStroke-Qek64HU(float width, long color);
+ }
+
+ public final class CanvasKt {
+ method @androidx.compose.runtime.Composable public static void Canvas(androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> onDraw);
+ }
+
+ public final class ClickableKt {
+ method public static androidx.compose.ui.Modifier clickable-BZ_EYKE(androidx.compose.ui.Modifier, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method public static androidx.compose.ui.Modifier clickable-h9bCOVY(androidx.compose.ui.Modifier, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ }
+
+ public final class Clickable_androidKt {
+ }
+
+ public final class DarkThemeKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static boolean isSystemInDarkTheme();
+ }
+
+ public final class DarkTheme_androidKt {
+ }
+
+ public final class FocusableKt {
+ method public static androidx.compose.ui.Modifier focusable(androidx.compose.ui.Modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource);
+ }
+
+ public final class ImageKt {
+ method @androidx.compose.runtime.Composable public static void Image(androidx.compose.ui.graphics.ImageBitmap bitmap, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method @androidx.compose.runtime.Composable public static void Image(androidx.compose.ui.graphics.vector.ImageVector imageVector, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method @androidx.compose.runtime.Composable public static void Image(androidx.compose.ui.graphics.painter.Painter painter, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ }
+
+ @androidx.compose.runtime.Stable public interface Indication {
+ method @androidx.compose.runtime.Composable public androidx.compose.foundation.IndicationInstance rememberUpdatedInstance(androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ }
+
+ public interface IndicationInstance {
+ method public void drawIndication(androidx.compose.ui.graphics.drawscope.ContentDrawScope);
+ }
+
+ public final class IndicationKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.foundation.Indication> getLocalIndication();
+ method public static androidx.compose.ui.Modifier indication(androidx.compose.ui.Modifier, androidx.compose.foundation.interaction.InteractionSource interactionSource, androidx.compose.foundation.Indication? indication);
+ }
+
+ public enum MutatePriority {
+ enum_constant public static final androidx.compose.foundation.MutatePriority Default;
+ enum_constant public static final androidx.compose.foundation.MutatePriority PreventUserInput;
+ enum_constant public static final androidx.compose.foundation.MutatePriority UserInput;
+ }
+
+ @androidx.compose.runtime.Stable public final class MutatorMutex {
+ ctor public MutatorMutex();
+ method public suspend <R> Object? mutate(optional androidx.compose.foundation.MutatePriority priority, kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ method public suspend <T, R> Object? mutateWith(T? receiver, optional androidx.compose.foundation.MutatePriority priority, kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ public final class ProgressSemanticsKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier progressSemantics(androidx.compose.ui.Modifier, float value, optional kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> valueRange, optional int steps);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier progressSemantics(androidx.compose.ui.Modifier);
+ }
+
+ public final class ScrollKt {
+ method public static androidx.compose.ui.Modifier horizontalScroll(androidx.compose.ui.Modifier, androidx.compose.foundation.ScrollState state, optional boolean enabled, optional androidx.compose.foundation.gestures.FlingBehavior? flingBehavior, optional boolean reverseScrolling);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.ScrollState rememberScrollState(optional int initial);
+ method public static androidx.compose.ui.Modifier verticalScroll(androidx.compose.ui.Modifier, androidx.compose.foundation.ScrollState state, optional boolean enabled, optional androidx.compose.foundation.gestures.FlingBehavior? flingBehavior, optional boolean reverseScrolling);
+ }
+
+ @androidx.compose.runtime.Stable public final class ScrollState implements androidx.compose.foundation.gestures.ScrollableState {
+ ctor public ScrollState(int initial);
+ method public suspend Object? animateScrollTo(int value, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public float dispatchRawDelta(float delta);
+ method public androidx.compose.foundation.interaction.InteractionSource getInteractionSource();
+ method public int getMaxValue();
+ method public int getValue();
+ method public boolean isScrollInProgress();
+ method public suspend Object? scroll(androidx.compose.foundation.MutatePriority scrollPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.ScrollScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? scrollTo(int value, kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ property public final androidx.compose.foundation.interaction.InteractionSource interactionSource;
+ property public boolean isScrollInProgress;
+ property public final int maxValue;
+ property public final int value;
+ field public static final androidx.compose.foundation.ScrollState.Companion Companion;
+ }
+
+ public static final class ScrollState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.ScrollState,?> getSaver();
+ property public final androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.ScrollState,?> Saver;
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+}
+
+package androidx.compose.foundation.gestures {
+
+ public final class AndroidScrollable_androidKt {
+ }
+
+ public final class DragGestureDetectorKt {
+ method public static suspend Object? awaitDragOrCancellation-ijcpFGM(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitHorizontalDragOrCancellation-ijcpFGM(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitHorizontalTouchSlopOrCancellation-qFc19kk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onTouchSlopReached, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitTouchSlopOrCancellation-qFc19kk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onTouchSlopReached, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitVerticalDragOrCancellation-ijcpFGM(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitVerticalTouchSlopOrCancellation-qFc19kk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onTouchSlopReached, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? detectDragGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? detectDragGesturesAfterLongPress(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? detectHorizontalDragGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onHorizontalDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? detectVerticalDragGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onVerticalDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? drag-Pd94rOk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.pointer.PointerInputChange,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ method public static suspend Object? horizontalDrag-Pd94rOk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.pointer.PointerInputChange,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ method public static suspend Object? verticalDrag-Pd94rOk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.pointer.PointerInputChange,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public interface DragScope {
+ method public void dragBy(float pixels);
+ }
+
+ public final class DraggableKt {
+ method public static androidx.compose.foundation.gestures.DraggableState DraggableState(kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onDelta);
+ method public static androidx.compose.ui.Modifier draggable(androidx.compose.ui.Modifier, androidx.compose.foundation.gestures.DraggableState state, androidx.compose.foundation.gestures.Orientation orientation, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource, optional boolean startDragImmediately, optional kotlin.jvm.functions.Function3<? super kotlinx.coroutines.CoroutineScope,? super androidx.compose.ui.geometry.Offset,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> onDragStarted, optional kotlin.jvm.functions.Function3<? super kotlinx.coroutines.CoroutineScope,? super java.lang.Float,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> onDragStopped, optional boolean reverseDirection);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.gestures.DraggableState rememberDraggableState(kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onDelta);
+ }
+
+ public interface DraggableState {
+ method public void dispatchRawDelta(float delta);
+ method public suspend Object? drag(optional androidx.compose.foundation.MutatePriority dragPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.DragScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ @androidx.compose.runtime.Stable public interface FlingBehavior {
+ method public suspend Object? performFling(androidx.compose.foundation.gestures.ScrollScope, float initialVelocity, kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ }
+
+ public final class ForEachGestureKt {
+ method public static suspend Object? forEachGesture(androidx.compose.ui.input.pointer.PointerInputScope, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public final class GestureCancellationException extends java.util.concurrent.CancellationException {
+ ctor public GestureCancellationException(optional String? message);
+ }
+
+ public enum Orientation {
+ enum_constant public static final androidx.compose.foundation.gestures.Orientation Horizontal;
+ enum_constant public static final androidx.compose.foundation.gestures.Orientation Vertical;
+ }
+
+ public interface PressGestureScope extends androidx.compose.ui.unit.Density {
+ method public suspend Object? awaitRelease(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? tryAwaitRelease(kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public final class RelativeVelocityTrackerKt {
+ }
+
+ public final class ScrollExtensionsKt {
+ method public static suspend Object? animateScrollBy(androidx.compose.foundation.gestures.ScrollableState, float value, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ method public static suspend Object? scrollBy(androidx.compose.foundation.gestures.ScrollableState, float value, kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ method public static suspend Object? stopScroll(androidx.compose.foundation.gestures.ScrollableState, optional androidx.compose.foundation.MutatePriority scrollPriority, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public interface ScrollScope {
+ method public float scrollBy(float pixels);
+ }
+
+ public final class ScrollableDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.foundation.gestures.FlingBehavior flingBehavior();
+ field public static final androidx.compose.foundation.gestures.ScrollableDefaults INSTANCE;
+ }
+
+ public final class ScrollableKt {
+ method public static androidx.compose.ui.Modifier scrollable(androidx.compose.ui.Modifier, androidx.compose.foundation.gestures.ScrollableState state, androidx.compose.foundation.gestures.Orientation orientation, optional boolean enabled, optional boolean reverseDirection, optional androidx.compose.foundation.gestures.FlingBehavior? flingBehavior, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource);
+ }
+
+ public interface ScrollableState {
+ method public float dispatchRawDelta(float delta);
+ method public boolean isScrollInProgress();
+ method public suspend Object? scroll(optional androidx.compose.foundation.MutatePriority scrollPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.ScrollScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public abstract boolean isScrollInProgress;
+ }
+
+ public final class ScrollableStateKt {
+ method public static androidx.compose.foundation.gestures.ScrollableState ScrollableState(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> consumeScrollDelta);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.gestures.ScrollableState rememberScrollableState(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> consumeScrollDelta);
+ }
+
+ public final class TapGestureDetectorKt {
+ method public static suspend Object? awaitFirstDown(androidx.compose.ui.input.pointer.AwaitPointerEventScope, optional boolean requireUnconsumed, optional kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? detectTapGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? onDoubleTap, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? onLongPress, optional kotlin.jvm.functions.Function3<? super androidx.compose.foundation.gestures.PressGestureScope,? super androidx.compose.ui.geometry.Offset,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> onPress, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? onTap, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? waitForUpOrCancellation(androidx.compose.ui.input.pointer.AwaitPointerEventScope, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ }
+
+ public final class TransformGestureDetectorKt {
+ method public static long calculateCentroid(androidx.compose.ui.input.pointer.PointerEvent, optional boolean useCurrent);
+ method public static float calculateCentroidSize(androidx.compose.ui.input.pointer.PointerEvent, optional boolean useCurrent);
+ method public static long calculatePan(androidx.compose.ui.input.pointer.PointerEvent);
+ method public static float calculateRotation(androidx.compose.ui.input.pointer.PointerEvent);
+ method public static float calculateZoom(androidx.compose.ui.input.pointer.PointerEvent);
+ method public static suspend Object? detectTransformGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional boolean panZoomLock, kotlin.jvm.functions.Function4<? super androidx.compose.ui.geometry.Offset,? super androidx.compose.ui.geometry.Offset,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> onGesture, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public interface TransformScope {
+ method public void transformBy-ox2scHU(optional float zoomChange, optional long panChange, optional float rotationChange);
+ }
+
+ public final class TransformableKt {
+ method public static androidx.compose.ui.Modifier transformable(androidx.compose.ui.Modifier, androidx.compose.foundation.gestures.TransformableState state, optional boolean lockRotationOnZoomPan, optional boolean enabled);
+ }
+
+ public interface TransformableState {
+ method public boolean isTransformInProgress();
+ method public suspend Object? transform(optional androidx.compose.foundation.MutatePriority transformPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.TransformScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public abstract boolean isTransformInProgress;
+ }
+
+ public final class TransformableStateKt {
+ method public static androidx.compose.foundation.gestures.TransformableState TransformableState(kotlin.jvm.functions.Function3<? super java.lang.Float,? super androidx.compose.ui.geometry.Offset,? super java.lang.Float,kotlin.Unit> onTransformation);
+ method public static suspend Object? animatePanBy-5602LSQ(androidx.compose.foundation.gestures.TransformableState, long offset, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Offset> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? animateRotateBy(androidx.compose.foundation.gestures.TransformableState, float degrees, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? animateZoomBy(androidx.compose.foundation.gestures.TransformableState, float zoomFactor, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? panBy-8hPFfiU(androidx.compose.foundation.gestures.TransformableState, long offset, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.gestures.TransformableState rememberTransformableState(kotlin.jvm.functions.Function3<? super java.lang.Float,? super androidx.compose.ui.geometry.Offset,? super java.lang.Float,kotlin.Unit> onTransformation);
+ method public static suspend Object? rotateBy(androidx.compose.foundation.gestures.TransformableState, float degrees, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? stopTransformation(androidx.compose.foundation.gestures.TransformableState, optional androidx.compose.foundation.MutatePriority terminationPriority, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? zoomBy(androidx.compose.foundation.gestures.TransformableState, float zoomFactor, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+}
+
+package androidx.compose.foundation.interaction {
+
+ public interface DragInteraction extends androidx.compose.foundation.interaction.Interaction {
+ }
+
+ public static final class DragInteraction.Cancel implements androidx.compose.foundation.interaction.DragInteraction {
+ ctor public DragInteraction.Cancel(androidx.compose.foundation.interaction.DragInteraction.Start start);
+ method public androidx.compose.foundation.interaction.DragInteraction.Start getStart();
+ property public final androidx.compose.foundation.interaction.DragInteraction.Start start;
+ }
+
+ public static final class DragInteraction.Start implements androidx.compose.foundation.interaction.DragInteraction {
+ ctor public DragInteraction.Start();
+ }
+
+ public static final class DragInteraction.Stop implements androidx.compose.foundation.interaction.DragInteraction {
+ ctor public DragInteraction.Stop(androidx.compose.foundation.interaction.DragInteraction.Start start);
+ method public androidx.compose.foundation.interaction.DragInteraction.Start getStart();
+ property public final androidx.compose.foundation.interaction.DragInteraction.Start start;
+ }
+
+ public final class DragInteractionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> collectIsDraggedAsState(androidx.compose.foundation.interaction.InteractionSource);
+ }
+
+ public interface FocusInteraction extends androidx.compose.foundation.interaction.Interaction {
+ }
+
+ public static final class FocusInteraction.Focus implements androidx.compose.foundation.interaction.FocusInteraction {
+ ctor public FocusInteraction.Focus();
+ }
+
+ public static final class FocusInteraction.Unfocus implements androidx.compose.foundation.interaction.FocusInteraction {
+ ctor public FocusInteraction.Unfocus(androidx.compose.foundation.interaction.FocusInteraction.Focus focus);
+ method public androidx.compose.foundation.interaction.FocusInteraction.Focus getFocus();
+ property public final androidx.compose.foundation.interaction.FocusInteraction.Focus focus;
+ }
+
+ public final class FocusInteractionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> collectIsFocusedAsState(androidx.compose.foundation.interaction.InteractionSource);
+ }
+
+ public interface Interaction {
+ }
+
+ @androidx.compose.runtime.Stable public interface InteractionSource {
+ method public kotlinx.coroutines.flow.Flow<androidx.compose.foundation.interaction.Interaction> getInteractions();
+ property public abstract kotlinx.coroutines.flow.Flow<androidx.compose.foundation.interaction.Interaction> interactions;
+ }
+
+ public final class InteractionSourceKt {
+ method public static androidx.compose.foundation.interaction.MutableInteractionSource MutableInteractionSource();
+ }
+
+ @androidx.compose.runtime.Stable public interface MutableInteractionSource extends androidx.compose.foundation.interaction.InteractionSource {
+ method public suspend Object? emit(androidx.compose.foundation.interaction.Interaction interaction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public boolean tryEmit(androidx.compose.foundation.interaction.Interaction interaction);
+ }
+
+ public interface PressInteraction extends androidx.compose.foundation.interaction.Interaction {
+ }
+
+ public static final class PressInteraction.Cancel implements androidx.compose.foundation.interaction.PressInteraction {
+ ctor public PressInteraction.Cancel(androidx.compose.foundation.interaction.PressInteraction.Press press);
+ method public androidx.compose.foundation.interaction.PressInteraction.Press getPress();
+ property public final androidx.compose.foundation.interaction.PressInteraction.Press press;
+ }
+
+ public static final class PressInteraction.Press implements androidx.compose.foundation.interaction.PressInteraction {
+ method public long getPressPosition-F1C5BW0();
+ property public final long pressPosition;
+ }
+
+ public static final class PressInteraction.Release implements androidx.compose.foundation.interaction.PressInteraction {
+ ctor public PressInteraction.Release(androidx.compose.foundation.interaction.PressInteraction.Press press);
+ method public androidx.compose.foundation.interaction.PressInteraction.Press getPress();
+ property public final androidx.compose.foundation.interaction.PressInteraction.Press press;
+ }
+
+ public final class PressInteractionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> collectIsPressedAsState(androidx.compose.foundation.interaction.InteractionSource);
+ }
+
+}
+
+package androidx.compose.foundation.lazy {
+
+ public final class LazyDslKt {
+ method @androidx.compose.runtime.Composable public static void LazyColumn(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.lazy.LazyListState state, optional androidx.compose.foundation.layout.PaddingValues contentPadding, optional boolean reverseLayout, optional androidx.compose.foundation.layout.Arrangement.Vertical verticalArrangement, optional androidx.compose.ui.Alignment.Horizontal horizontalAlignment, optional androidx.compose.foundation.gestures.FlingBehavior flingBehavior, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyListScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void LazyRow(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.lazy.LazyListState state, optional androidx.compose.foundation.layout.PaddingValues contentPadding, optional boolean reverseLayout, optional androidx.compose.foundation.layout.Arrangement.Horizontal horizontalArrangement, optional androidx.compose.ui.Alignment.Vertical verticalAlignment, optional androidx.compose.foundation.gestures.FlingBehavior flingBehavior, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyListScope,kotlin.Unit> content);
+ method public static inline <T> void items(androidx.compose.foundation.lazy.LazyListScope, java.util.List<? extends T> items, optional kotlin.jvm.functions.Function1<? super T,?>? key, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super T,kotlin.Unit> itemContent);
+ method public static inline <T> void items(androidx.compose.foundation.lazy.LazyListScope, T![] items, optional kotlin.jvm.functions.Function1<? super T,?>? key, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super T,kotlin.Unit> itemContent);
+ method public static inline <T> void itemsIndexed(androidx.compose.foundation.lazy.LazyListScope, java.util.List<? extends T> items, optional kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,?>? key, kotlin.jvm.functions.Function3<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,? super T,kotlin.Unit> itemContent);
+ method public static inline <T> void itemsIndexed(androidx.compose.foundation.lazy.LazyListScope, T![] items, optional kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,?>? key, kotlin.jvm.functions.Function3<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,? super T,kotlin.Unit> itemContent);
+ }
+
+ public final class LazyGridKt {
+ }
+
+ @androidx.compose.foundation.lazy.LazyScopeMarker @androidx.compose.runtime.Stable public interface LazyItemScope {
+ method public androidx.compose.ui.Modifier fillParentMaxHeight(androidx.compose.ui.Modifier, optional float fraction);
+ method public androidx.compose.ui.Modifier fillParentMaxSize(androidx.compose.ui.Modifier, optional float fraction);
+ method public androidx.compose.ui.Modifier fillParentMaxWidth(androidx.compose.ui.Modifier, optional float fraction);
+ }
+
+ public final class LazyListHeadersKt {
+ }
+
+ public final class LazyListItemContentFactoryKt {
+ }
+
+ public interface LazyListItemInfo {
+ method public int getIndex();
+ method public Object getKey();
+ method public int getOffset();
+ method public int getSize();
+ property public abstract int index;
+ property public abstract Object key;
+ property public abstract int offset;
+ property public abstract int size;
+ }
+
+ public final class LazyListKt {
+ }
+
+ public interface LazyListLayoutInfo {
+ method public int getTotalItemsCount();
+ method public int getViewportEndOffset();
+ method public int getViewportStartOffset();
+ method public java.util.List<androidx.compose.foundation.lazy.LazyListItemInfo> getVisibleItemsInfo();
+ property public abstract int totalItemsCount;
+ property public abstract int viewportEndOffset;
+ property public abstract int viewportStartOffset;
+ property public abstract java.util.List<androidx.compose.foundation.lazy.LazyListItemInfo> visibleItemsInfo;
+ }
+
+ public final class LazyListMeasureKt {
+ }
+
+ public final class LazyListPrefetcher_androidKt {
+ }
+
+ @androidx.compose.foundation.lazy.LazyScopeMarker public interface LazyListScope {
+ method public void item(optional Object? key, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyItemScope,kotlin.Unit> content);
+ method public void items(int count, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,?>? key, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,kotlin.Unit> itemContent);
+ }
+
+ public final class LazyListScrollingKt {
+ }
+
+ @androidx.compose.runtime.Stable public final class LazyListState implements androidx.compose.foundation.gestures.ScrollableState {
+ ctor public LazyListState(optional int firstVisibleItemIndex, optional int firstVisibleItemScrollOffset);
+ method public suspend Object? animateScrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public float dispatchRawDelta(float delta);
+ method public int getFirstVisibleItemIndex();
+ method public int getFirstVisibleItemScrollOffset();
+ method public androidx.compose.foundation.interaction.InteractionSource getInteractionSource();
+ method public androidx.compose.foundation.lazy.LazyListLayoutInfo getLayoutInfo();
+ method public boolean isScrollInProgress();
+ method public suspend Object? scroll(androidx.compose.foundation.MutatePriority scrollPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.ScrollScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? scrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final int firstVisibleItemIndex;
+ property public final int firstVisibleItemScrollOffset;
+ property public final androidx.compose.foundation.interaction.InteractionSource interactionSource;
+ property public boolean isScrollInProgress;
+ property public final androidx.compose.foundation.lazy.LazyListLayoutInfo layoutInfo;
+ field public static final androidx.compose.foundation.lazy.LazyListState.Companion Companion;
+ }
+
+ public static final class LazyListState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.lazy.LazyListState,?> getSaver();
+ property public final androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.lazy.LazyListState,?> Saver;
+ }
+
+ public final class LazyListStateKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.lazy.LazyListState rememberLazyListState(optional int initialFirstVisibleItemIndex, optional int initialFirstVisibleItemScrollOffset);
+ }
+
+ @kotlin.DslMarker public @interface LazyScopeMarker {
+ }
+
+ public final class LazySemanticsKt {
+ }
+
+ public final class Lazy_androidKt {
+ }
+
+}
+
+package androidx.compose.foundation.selection {
+
+ public final class SelectableGroupKt {
+ method public static androidx.compose.ui.Modifier selectableGroup(androidx.compose.ui.Modifier);
+ }
+
+ public final class SelectableKt {
+ method public static androidx.compose.ui.Modifier selectable-1gxKe7Q(androidx.compose.ui.Modifier, boolean selected, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method public static androidx.compose.ui.Modifier selectable-LEETLVc(androidx.compose.ui.Modifier, boolean selected, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ }
+
+ public final class ToggleableKt {
+ method public static androidx.compose.ui.Modifier toggleable-RP-hrYQ(androidx.compose.ui.Modifier, boolean value, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
+ method public static androidx.compose.ui.Modifier toggleable-rafqdns(androidx.compose.ui.Modifier, boolean value, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
+ method public static androidx.compose.ui.Modifier triStateToggleable-9kOUaIQ(androidx.compose.ui.Modifier, androidx.compose.ui.state.ToggleableState state, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method public static androidx.compose.ui.Modifier triStateToggleable-lQGob-I(androidx.compose.ui.Modifier, androidx.compose.ui.state.ToggleableState state, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ }
+
+}
+
+package androidx.compose.foundation.shape {
+
+ public final class AbsoluteCutCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public AbsoluteCutCornerShape(androidx.compose.foundation.shape.CornerSize topLeft, androidx.compose.foundation.shape.CornerSize topRight, androidx.compose.foundation.shape.CornerSize bottomRight, androidx.compose.foundation.shape.CornerSize bottomLeft);
+ method public androidx.compose.foundation.shape.AbsoluteCutCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class AbsoluteCutCornerShapeKt {
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(optional int topLeftPercent, optional int topRightPercent, optional int bottomRightPercent, optional int bottomLeftPercent);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape-ZmiikuI(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ }
+
+ public final class AbsoluteRoundedCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public AbsoluteRoundedCornerShape(androidx.compose.foundation.shape.CornerSize topLeft, androidx.compose.foundation.shape.CornerSize topRight, androidx.compose.foundation.shape.CornerSize bottomRight, androidx.compose.foundation.shape.CornerSize bottomLeft);
+ method public androidx.compose.foundation.shape.AbsoluteRoundedCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class AbsoluteRoundedCornerShapeKt {
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(optional int topLeftPercent, optional int topRightPercent, optional int bottomRightPercent, optional int bottomLeftPercent);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape-ZmiikuI(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ }
+
+ public abstract class CornerBasedShape implements androidx.compose.ui.graphics.Shape {
+ ctor public CornerBasedShape(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public abstract androidx.compose.foundation.shape.CornerBasedShape copy(optional androidx.compose.foundation.shape.CornerSize topStart, optional androidx.compose.foundation.shape.CornerSize topEnd, optional androidx.compose.foundation.shape.CornerSize bottomEnd, optional androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public final androidx.compose.foundation.shape.CornerBasedShape copy(androidx.compose.foundation.shape.CornerSize all);
+ method public final androidx.compose.ui.graphics.Outline createOutline-9w1PWio(long size, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.unit.Density density);
+ method public abstract androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public final androidx.compose.foundation.shape.CornerSize getBottomEnd();
+ method public final androidx.compose.foundation.shape.CornerSize getBottomStart();
+ method public final androidx.compose.foundation.shape.CornerSize getTopEnd();
+ method public final androidx.compose.foundation.shape.CornerSize getTopStart();
+ property public final androidx.compose.foundation.shape.CornerSize bottomEnd;
+ property public final androidx.compose.foundation.shape.CornerSize bottomStart;
+ property public final androidx.compose.foundation.shape.CornerSize topEnd;
+ property public final androidx.compose.foundation.shape.CornerSize topStart;
+ }
+
+ @androidx.compose.runtime.Immutable public interface CornerSize {
+ method public float toPx-lwCvPpU(long shapeSize, androidx.compose.ui.unit.Density density);
+ }
+
+ public final class CornerSizeKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.shape.CornerSize CornerSize(float size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.shape.CornerSize CornerSize(int percent);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.shape.CornerSize CornerSize-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.CornerSize getZeroCornerSize();
+ }
+
+ public final class CutCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public CutCornerShape(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.foundation.shape.CutCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class CutCornerShapeKt {
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(float size);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(optional int topStartPercent, optional int topEndPercent, optional int bottomEndPercent, optional int bottomStartPercent);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape-ZmiikuI(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ }
+
+ public final class GenericShape implements androidx.compose.ui.graphics.Shape {
+ ctor public GenericShape(kotlin.jvm.functions.Function3<? super androidx.compose.ui.graphics.Path,? super androidx.compose.ui.geometry.Size,? super androidx.compose.ui.unit.LayoutDirection,kotlin.Unit> builder);
+ method public androidx.compose.ui.graphics.Outline createOutline-9w1PWio(long size, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.unit.Density density);
+ }
+
+ public final class RoundedCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public RoundedCornerShape(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.foundation.shape.RoundedCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class RoundedCornerShapeKt {
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(float size);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(optional int topStartPercent, optional int topEndPercent, optional int bottomEndPercent, optional int bottomStartPercent);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape-ZmiikuI(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape getCircleShape();
+ }
+
+}
+
+package androidx.compose.foundation.text {
+
+ public final class BasicTextFieldKt {
+ method @androidx.compose.runtime.Composable public static void BasicTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Brush cursorBrush, optional kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> decorationBox);
+ method @androidx.compose.runtime.Composable public static void BasicTextField(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Brush cursorBrush, optional kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> decorationBox);
+ }
+
+ public final class BasicTextKt {
+ method @androidx.compose.runtime.Composable public static void BasicText-0jxMD7A(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines);
+ method @androidx.compose.runtime.Composable public static void BasicText-wGg1G4c(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent);
+ }
+
+ public final class ClickableTextKt {
+ method @androidx.compose.runtime.Composable public static void ClickableText-kVZBHUE(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional boolean softWrap, optional int overflow, optional int maxLines, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
+ }
+
+ public final class CoreTextFieldKt {
+ }
+
+ public final class CoreTextKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class InlineTextContent {
+ ctor public InlineTextContent(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+ method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> getChildren();
+ method public androidx.compose.ui.text.Placeholder getPlaceholder();
+ property public final kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> children;
+ property public final androidx.compose.ui.text.Placeholder placeholder;
+ }
+
+ public final class InlineTextContentKt {
+ method public static void appendInlineContent(androidx.compose.ui.text.AnnotatedString.Builder, String id, optional String alternateText);
+ }
+
+ public final class KeyMappingKt {
+ }
+
+ public final class KeyMapping_androidKt {
+ }
+
+ public interface KeyboardActionScope {
+ method public void defaultKeyboardAction-KlQnJC8(int imeAction);
+ }
+
+ public final class KeyboardActions {
+ ctor public KeyboardActions(optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnDone();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnGo();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnNext();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnPrevious();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnSearch();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnSend();
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend;
+ field public static final androidx.compose.foundation.text.KeyboardActions.Companion Companion;
+ }
+
+ public static final class KeyboardActions.Companion {
+ method public androidx.compose.foundation.text.KeyboardActions getDefault();
+ property public final androidx.compose.foundation.text.KeyboardActions Default;
+ }
+
+ public final class KeyboardActionsKt {
+ method public static androidx.compose.foundation.text.KeyboardActions KeyboardActions(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit> onAny);
+ }
+
+ @androidx.compose.runtime.Immutable public final class KeyboardOptions {
+ method public androidx.compose.foundation.text.KeyboardOptions copy-C1cpEnM(optional int capitalization, optional boolean autoCorrect, optional int keyboardType, optional int imeAction);
+ method public boolean getAutoCorrect();
+ method public int getCapitalization-IUNYP9k();
+ method public int getImeAction-eUduSuo();
+ method public int getKeyboardType-PjHm6EE();
+ property public final boolean autoCorrect;
+ property public final int capitalization;
+ property public final int imeAction;
+ property public final int keyboardType;
+ field public static final androidx.compose.foundation.text.KeyboardOptions.Companion Companion;
+ }
+
+ public static final class KeyboardOptions.Companion {
+ method public androidx.compose.foundation.text.KeyboardOptions getDefault();
+ property public final androidx.compose.foundation.text.KeyboardOptions Default;
+ }
+
+ public final class LongPressTextDragObserverKt {
+ }
+
+ public final class MaxLinesHeightModifierKt {
+ }
+
+ public final class StringHelpersKt {
+ }
+
+ public final class StringHelpers_androidKt {
+ }
+
+ public final class StringHelpers_jvmKt {
+ }
+
+ public final class TextFieldCursorKt {
+ }
+
+ public final class TextFieldDelegateKt {
+ }
+
+ public final class TextFieldGestureModifiersKt {
+ }
+
+ public final class TextFieldKeyInputKt {
+ }
+
+ public final class TextFieldKeyInput_androidKt {
+ }
+
+ public final class TextFieldPressGestureFilterKt {
+ }
+
+ public final class TextFieldScrollKt {
+ }
+
+ public final class TextFieldSizeKt {
+ }
+
+ public final class TextLayoutHelperKt {
+ }
+
+ public final class TextLayoutResultProxyKt {
+ }
+
+ public final class TouchMode_androidKt {
+ }
+
+ public final class UndoManagerKt {
+ }
+
+ public final class UndoManager_jvmKt {
+ }
+
+}
+
+package androidx.compose.foundation.text.selection {
+
+ public final class AndroidSelectionHandles_androidKt {
+ }
+
+ public final class MultiWidgetSelectionDelegateKt {
+ }
+
+ public final class SelectionContainerKt {
+ method @androidx.compose.runtime.Composable public static void DisableSelection(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void SelectionContainer(optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class SelectionHandlesKt {
+ }
+
+ public final class SelectionManagerKt {
+ }
+
+ public final class SelectionManager_androidKt {
+ }
+
+ public final class SelectionRegistrarKt {
+ }
+
+ public final class SimpleLayoutKt {
+ }
+
+ public final class TextFieldSelectionDelegateKt {
+ }
+
+ public final class TextFieldSelectionManagerKt {
+ }
+
+ public final class TextFieldSelectionManager_androidKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextSelectionColors {
+ method public long getBackgroundColor-0d7_KjU();
+ method public long getHandleColor-0d7_KjU();
+ property public final long backgroundColor;
+ property public final long handleColor;
+ }
+
+ public final class TextSelectionColorsKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.foundation.text.selection.TextSelectionColors> getLocalTextSelectionColors();
+ }
+
+ public final class TextSelectionDelegateKt {
+ }
+
+ public final class TextSelectionMouseDetectorKt {
+ }
+
+}
+
diff --git a/compose/foundation/foundation/api/public_plus_experimental_1.0.0-beta10.txt b/compose/foundation/foundation/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..05c364c
--- /dev/null
+++ b/compose/foundation/foundation/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,802 @@
+// Signature format: 4.0
+package androidx.compose.foundation {
+
+ public final class ActualJvmKt {
+ }
+
+ public final class BackgroundKt {
+ method public static androidx.compose.ui.Modifier background(androidx.compose.ui.Modifier, androidx.compose.ui.graphics.Brush brush, optional androidx.compose.ui.graphics.Shape shape, optional float alpha);
+ method public static androidx.compose.ui.Modifier background-1xq40Q0(androidx.compose.ui.Modifier, long color, optional androidx.compose.ui.graphics.Shape shape);
+ }
+
+ public final class BorderKt {
+ method public static androidx.compose.ui.Modifier border(androidx.compose.ui.Modifier, androidx.compose.foundation.BorderStroke border, optional androidx.compose.ui.graphics.Shape shape);
+ method public static androidx.compose.ui.Modifier border-bMj1UE0(androidx.compose.ui.Modifier, float width, androidx.compose.ui.graphics.Brush brush, androidx.compose.ui.graphics.Shape shape);
+ method public static androidx.compose.ui.Modifier border-zRMYNwQ(androidx.compose.ui.Modifier, float width, long color, optional androidx.compose.ui.graphics.Shape shape);
+ }
+
+ @androidx.compose.runtime.Immutable public final class BorderStroke {
+ method public androidx.compose.foundation.BorderStroke copy-v_fYJzc(optional float width, optional androidx.compose.ui.graphics.Brush brush);
+ method public androidx.compose.ui.graphics.Brush getBrush();
+ method public float getWidth-D9Ej5fM();
+ property public final androidx.compose.ui.graphics.Brush brush;
+ property public final float width;
+ }
+
+ public final class BorderStrokeKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.BorderStroke BorderStroke-Qek64HU(float width, long color);
+ }
+
+ public final class CanvasKt {
+ method @androidx.compose.runtime.Composable public static void Canvas(androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> onDraw);
+ }
+
+ public final class ClickableKt {
+ method public static androidx.compose.ui.Modifier clickable-BZ_EYKE(androidx.compose.ui.Modifier, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method public static androidx.compose.ui.Modifier clickable-h9bCOVY(androidx.compose.ui.Modifier, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method @androidx.compose.foundation.ExperimentalFoundationApi public static androidx.compose.ui.Modifier combinedClickable-KZeeM7c(androidx.compose.ui.Modifier, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, optional String? onLongClickLabel, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onLongClick, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onDoubleClick, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method @androidx.compose.foundation.ExperimentalFoundationApi public static androidx.compose.ui.Modifier combinedClickable-hgLIPVc(androidx.compose.ui.Modifier, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, optional String? onLongClickLabel, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onLongClick, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onDoubleClick, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ }
+
+ public final class Clickable_androidKt {
+ }
+
+ public final class DarkThemeKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static boolean isSystemInDarkTheme();
+ }
+
+ public final class DarkTheme_androidKt {
+ }
+
+ @kotlin.RequiresOptIn(message="This foundation API is experimental and is likely to change or be removed in the " + "future.") public @interface ExperimentalFoundationApi {
+ }
+
+ public final class FocusableKt {
+ method public static androidx.compose.ui.Modifier focusable(androidx.compose.ui.Modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource);
+ }
+
+ public final class ImageKt {
+ method @androidx.compose.runtime.Composable public static void Image(androidx.compose.ui.graphics.ImageBitmap bitmap, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method @androidx.compose.runtime.Composable public static void Image(androidx.compose.ui.graphics.vector.ImageVector imageVector, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method @androidx.compose.runtime.Composable public static void Image(androidx.compose.ui.graphics.painter.Painter painter, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ }
+
+ @androidx.compose.runtime.Stable public interface Indication {
+ method @androidx.compose.runtime.Composable public androidx.compose.foundation.IndicationInstance rememberUpdatedInstance(androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ }
+
+ public interface IndicationInstance {
+ method public void drawIndication(androidx.compose.ui.graphics.drawscope.ContentDrawScope);
+ }
+
+ public final class IndicationKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.foundation.Indication> getLocalIndication();
+ method public static androidx.compose.ui.Modifier indication(androidx.compose.ui.Modifier, androidx.compose.foundation.interaction.InteractionSource interactionSource, androidx.compose.foundation.Indication? indication);
+ }
+
+ @kotlin.RequiresOptIn(message="This API is internal to library.") @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface InternalFoundationApi {
+ }
+
+ public enum MutatePriority {
+ enum_constant public static final androidx.compose.foundation.MutatePriority Default;
+ enum_constant public static final androidx.compose.foundation.MutatePriority PreventUserInput;
+ enum_constant public static final androidx.compose.foundation.MutatePriority UserInput;
+ }
+
+ @androidx.compose.runtime.Stable public final class MutatorMutex {
+ ctor public MutatorMutex();
+ method public suspend <R> Object? mutate(optional androidx.compose.foundation.MutatePriority priority, kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ method public suspend <T, R> Object? mutateWith(T? receiver, optional androidx.compose.foundation.MutatePriority priority, kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ public final class ProgressSemanticsKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier progressSemantics(androidx.compose.ui.Modifier, float value, optional kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> valueRange, optional int steps);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier progressSemantics(androidx.compose.ui.Modifier);
+ }
+
+ public final class ScrollKt {
+ method public static androidx.compose.ui.Modifier horizontalScroll(androidx.compose.ui.Modifier, androidx.compose.foundation.ScrollState state, optional boolean enabled, optional androidx.compose.foundation.gestures.FlingBehavior? flingBehavior, optional boolean reverseScrolling);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.ScrollState rememberScrollState(optional int initial);
+ method public static androidx.compose.ui.Modifier verticalScroll(androidx.compose.ui.Modifier, androidx.compose.foundation.ScrollState state, optional boolean enabled, optional androidx.compose.foundation.gestures.FlingBehavior? flingBehavior, optional boolean reverseScrolling);
+ }
+
+ @androidx.compose.runtime.Stable public final class ScrollState implements androidx.compose.foundation.gestures.ScrollableState {
+ ctor public ScrollState(int initial);
+ method public suspend Object? animateScrollTo(int value, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public float dispatchRawDelta(float delta);
+ method public androidx.compose.foundation.interaction.InteractionSource getInteractionSource();
+ method public int getMaxValue();
+ method public int getValue();
+ method public boolean isScrollInProgress();
+ method public suspend Object? scroll(androidx.compose.foundation.MutatePriority scrollPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.ScrollScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? scrollTo(int value, kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ property public final androidx.compose.foundation.interaction.InteractionSource interactionSource;
+ property public boolean isScrollInProgress;
+ property public final int maxValue;
+ property public final int value;
+ field public static final androidx.compose.foundation.ScrollState.Companion Companion;
+ }
+
+ public static final class ScrollState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.ScrollState,?> getSaver();
+ property public final androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.ScrollState,?> Saver;
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+}
+
+package androidx.compose.foundation.gestures {
+
+ public final class AndroidScrollable_androidKt {
+ }
+
+ public final class DragGestureDetectorKt {
+ method public static suspend Object? awaitDragOrCancellation-ijcpFGM(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitHorizontalDragOrCancellation-ijcpFGM(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitHorizontalTouchSlopOrCancellation-qFc19kk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onTouchSlopReached, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitTouchSlopOrCancellation-qFc19kk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onTouchSlopReached, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitVerticalDragOrCancellation-ijcpFGM(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitVerticalTouchSlopOrCancellation-qFc19kk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onTouchSlopReached, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? detectDragGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? detectDragGesturesAfterLongPress(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? detectHorizontalDragGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onHorizontalDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? detectVerticalDragGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onVerticalDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? drag-Pd94rOk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.pointer.PointerInputChange,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ method public static suspend Object? horizontalDrag-Pd94rOk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.pointer.PointerInputChange,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ method public static suspend Object? verticalDrag-Pd94rOk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.pointer.PointerInputChange,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public interface DragScope {
+ method public void dragBy(float pixels);
+ }
+
+ public final class DraggableKt {
+ method public static androidx.compose.foundation.gestures.DraggableState DraggableState(kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onDelta);
+ method public static androidx.compose.ui.Modifier draggable(androidx.compose.ui.Modifier, androidx.compose.foundation.gestures.DraggableState state, androidx.compose.foundation.gestures.Orientation orientation, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource, optional boolean startDragImmediately, optional kotlin.jvm.functions.Function3<? super kotlinx.coroutines.CoroutineScope,? super androidx.compose.ui.geometry.Offset,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> onDragStarted, optional kotlin.jvm.functions.Function3<? super kotlinx.coroutines.CoroutineScope,? super java.lang.Float,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> onDragStopped, optional boolean reverseDirection);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.gestures.DraggableState rememberDraggableState(kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onDelta);
+ }
+
+ public interface DraggableState {
+ method public void dispatchRawDelta(float delta);
+ method public suspend Object? drag(optional androidx.compose.foundation.MutatePriority dragPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.DragScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ @androidx.compose.runtime.Stable public interface FlingBehavior {
+ method public suspend Object? performFling(androidx.compose.foundation.gestures.ScrollScope, float initialVelocity, kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ }
+
+ public final class ForEachGestureKt {
+ method public static suspend Object? forEachGesture(androidx.compose.ui.input.pointer.PointerInputScope, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public final class GestureCancellationException extends java.util.concurrent.CancellationException {
+ ctor public GestureCancellationException(optional String? message);
+ }
+
+ public enum Orientation {
+ enum_constant public static final androidx.compose.foundation.gestures.Orientation Horizontal;
+ enum_constant public static final androidx.compose.foundation.gestures.Orientation Vertical;
+ }
+
+ public interface PressGestureScope extends androidx.compose.ui.unit.Density {
+ method public suspend Object? awaitRelease(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? tryAwaitRelease(kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public final class RelativeVelocityTrackerKt {
+ }
+
+ public final class ScrollExtensionsKt {
+ method public static suspend Object? animateScrollBy(androidx.compose.foundation.gestures.ScrollableState, float value, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ method public static suspend Object? scrollBy(androidx.compose.foundation.gestures.ScrollableState, float value, kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ method public static suspend Object? stopScroll(androidx.compose.foundation.gestures.ScrollableState, optional androidx.compose.foundation.MutatePriority scrollPriority, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public interface ScrollScope {
+ method public float scrollBy(float pixels);
+ }
+
+ public final class ScrollableDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.foundation.gestures.FlingBehavior flingBehavior();
+ field public static final androidx.compose.foundation.gestures.ScrollableDefaults INSTANCE;
+ }
+
+ public final class ScrollableKt {
+ method public static androidx.compose.ui.Modifier scrollable(androidx.compose.ui.Modifier, androidx.compose.foundation.gestures.ScrollableState state, androidx.compose.foundation.gestures.Orientation orientation, optional boolean enabled, optional boolean reverseDirection, optional androidx.compose.foundation.gestures.FlingBehavior? flingBehavior, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource);
+ }
+
+ public interface ScrollableState {
+ method public float dispatchRawDelta(float delta);
+ method public boolean isScrollInProgress();
+ method public suspend Object? scroll(optional androidx.compose.foundation.MutatePriority scrollPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.ScrollScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public abstract boolean isScrollInProgress;
+ }
+
+ public final class ScrollableStateKt {
+ method public static androidx.compose.foundation.gestures.ScrollableState ScrollableState(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> consumeScrollDelta);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.gestures.ScrollableState rememberScrollableState(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> consumeScrollDelta);
+ }
+
+ public final class TapGestureDetectorKt {
+ method public static suspend Object? awaitFirstDown(androidx.compose.ui.input.pointer.AwaitPointerEventScope, optional boolean requireUnconsumed, optional kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? detectTapGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? onDoubleTap, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? onLongPress, optional kotlin.jvm.functions.Function3<? super androidx.compose.foundation.gestures.PressGestureScope,? super androidx.compose.ui.geometry.Offset,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> onPress, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? onTap, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? waitForUpOrCancellation(androidx.compose.ui.input.pointer.AwaitPointerEventScope, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ }
+
+ public final class TransformGestureDetectorKt {
+ method public static long calculateCentroid(androidx.compose.ui.input.pointer.PointerEvent, optional boolean useCurrent);
+ method public static float calculateCentroidSize(androidx.compose.ui.input.pointer.PointerEvent, optional boolean useCurrent);
+ method public static long calculatePan(androidx.compose.ui.input.pointer.PointerEvent);
+ method public static float calculateRotation(androidx.compose.ui.input.pointer.PointerEvent);
+ method public static float calculateZoom(androidx.compose.ui.input.pointer.PointerEvent);
+ method public static suspend Object? detectTransformGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional boolean panZoomLock, kotlin.jvm.functions.Function4<? super androidx.compose.ui.geometry.Offset,? super androidx.compose.ui.geometry.Offset,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> onGesture, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public interface TransformScope {
+ method public void transformBy-ox2scHU(optional float zoomChange, optional long panChange, optional float rotationChange);
+ }
+
+ public final class TransformableKt {
+ method public static androidx.compose.ui.Modifier transformable(androidx.compose.ui.Modifier, androidx.compose.foundation.gestures.TransformableState state, optional boolean lockRotationOnZoomPan, optional boolean enabled);
+ }
+
+ public interface TransformableState {
+ method public boolean isTransformInProgress();
+ method public suspend Object? transform(optional androidx.compose.foundation.MutatePriority transformPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.TransformScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public abstract boolean isTransformInProgress;
+ }
+
+ public final class TransformableStateKt {
+ method public static androidx.compose.foundation.gestures.TransformableState TransformableState(kotlin.jvm.functions.Function3<? super java.lang.Float,? super androidx.compose.ui.geometry.Offset,? super java.lang.Float,kotlin.Unit> onTransformation);
+ method public static suspend Object? animatePanBy-5602LSQ(androidx.compose.foundation.gestures.TransformableState, long offset, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Offset> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? animateRotateBy(androidx.compose.foundation.gestures.TransformableState, float degrees, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? animateZoomBy(androidx.compose.foundation.gestures.TransformableState, float zoomFactor, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? panBy-8hPFfiU(androidx.compose.foundation.gestures.TransformableState, long offset, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.gestures.TransformableState rememberTransformableState(kotlin.jvm.functions.Function3<? super java.lang.Float,? super androidx.compose.ui.geometry.Offset,? super java.lang.Float,kotlin.Unit> onTransformation);
+ method public static suspend Object? rotateBy(androidx.compose.foundation.gestures.TransformableState, float degrees, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? stopTransformation(androidx.compose.foundation.gestures.TransformableState, optional androidx.compose.foundation.MutatePriority terminationPriority, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? zoomBy(androidx.compose.foundation.gestures.TransformableState, float zoomFactor, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+}
+
+package androidx.compose.foundation.interaction {
+
+ public interface DragInteraction extends androidx.compose.foundation.interaction.Interaction {
+ }
+
+ public static final class DragInteraction.Cancel implements androidx.compose.foundation.interaction.DragInteraction {
+ ctor public DragInteraction.Cancel(androidx.compose.foundation.interaction.DragInteraction.Start start);
+ method public androidx.compose.foundation.interaction.DragInteraction.Start getStart();
+ property public final androidx.compose.foundation.interaction.DragInteraction.Start start;
+ }
+
+ public static final class DragInteraction.Start implements androidx.compose.foundation.interaction.DragInteraction {
+ ctor public DragInteraction.Start();
+ }
+
+ public static final class DragInteraction.Stop implements androidx.compose.foundation.interaction.DragInteraction {
+ ctor public DragInteraction.Stop(androidx.compose.foundation.interaction.DragInteraction.Start start);
+ method public androidx.compose.foundation.interaction.DragInteraction.Start getStart();
+ property public final androidx.compose.foundation.interaction.DragInteraction.Start start;
+ }
+
+ public final class DragInteractionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> collectIsDraggedAsState(androidx.compose.foundation.interaction.InteractionSource);
+ }
+
+ public interface FocusInteraction extends androidx.compose.foundation.interaction.Interaction {
+ }
+
+ public static final class FocusInteraction.Focus implements androidx.compose.foundation.interaction.FocusInteraction {
+ ctor public FocusInteraction.Focus();
+ }
+
+ public static final class FocusInteraction.Unfocus implements androidx.compose.foundation.interaction.FocusInteraction {
+ ctor public FocusInteraction.Unfocus(androidx.compose.foundation.interaction.FocusInteraction.Focus focus);
+ method public androidx.compose.foundation.interaction.FocusInteraction.Focus getFocus();
+ property public final androidx.compose.foundation.interaction.FocusInteraction.Focus focus;
+ }
+
+ public final class FocusInteractionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> collectIsFocusedAsState(androidx.compose.foundation.interaction.InteractionSource);
+ }
+
+ public interface Interaction {
+ }
+
+ @androidx.compose.runtime.Stable public interface InteractionSource {
+ method public kotlinx.coroutines.flow.Flow<androidx.compose.foundation.interaction.Interaction> getInteractions();
+ property public abstract kotlinx.coroutines.flow.Flow<androidx.compose.foundation.interaction.Interaction> interactions;
+ }
+
+ public final class InteractionSourceKt {
+ method public static androidx.compose.foundation.interaction.MutableInteractionSource MutableInteractionSource();
+ }
+
+ @androidx.compose.runtime.Stable public interface MutableInteractionSource extends androidx.compose.foundation.interaction.InteractionSource {
+ method public suspend Object? emit(androidx.compose.foundation.interaction.Interaction interaction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public boolean tryEmit(androidx.compose.foundation.interaction.Interaction interaction);
+ }
+
+ public interface PressInteraction extends androidx.compose.foundation.interaction.Interaction {
+ }
+
+ public static final class PressInteraction.Cancel implements androidx.compose.foundation.interaction.PressInteraction {
+ ctor public PressInteraction.Cancel(androidx.compose.foundation.interaction.PressInteraction.Press press);
+ method public androidx.compose.foundation.interaction.PressInteraction.Press getPress();
+ property public final androidx.compose.foundation.interaction.PressInteraction.Press press;
+ }
+
+ public static final class PressInteraction.Press implements androidx.compose.foundation.interaction.PressInteraction {
+ method public long getPressPosition-F1C5BW0();
+ property public final long pressPosition;
+ }
+
+ public static final class PressInteraction.Release implements androidx.compose.foundation.interaction.PressInteraction {
+ ctor public PressInteraction.Release(androidx.compose.foundation.interaction.PressInteraction.Press press);
+ method public androidx.compose.foundation.interaction.PressInteraction.Press getPress();
+ property public final androidx.compose.foundation.interaction.PressInteraction.Press press;
+ }
+
+ public final class PressInteractionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> collectIsPressedAsState(androidx.compose.foundation.interaction.InteractionSource);
+ }
+
+}
+
+package androidx.compose.foundation.lazy {
+
+ @androidx.compose.foundation.ExperimentalFoundationApi public abstract sealed class GridCells {
+ }
+
+ @androidx.compose.foundation.ExperimentalFoundationApi public static final class GridCells.Adaptive extends androidx.compose.foundation.lazy.GridCells {
+ method public float getMinSize-D9Ej5fM();
+ property public final float minSize;
+ }
+
+ @androidx.compose.foundation.ExperimentalFoundationApi public static final class GridCells.Fixed extends androidx.compose.foundation.lazy.GridCells {
+ ctor public GridCells.Fixed(int count);
+ method public int getCount();
+ property public final int count;
+ }
+
+ public final class LazyDslKt {
+ method @androidx.compose.runtime.Composable public static void LazyColumn(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.lazy.LazyListState state, optional androidx.compose.foundation.layout.PaddingValues contentPadding, optional boolean reverseLayout, optional androidx.compose.foundation.layout.Arrangement.Vertical verticalArrangement, optional androidx.compose.ui.Alignment.Horizontal horizontalAlignment, optional androidx.compose.foundation.gestures.FlingBehavior flingBehavior, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyListScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void LazyRow(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.lazy.LazyListState state, optional androidx.compose.foundation.layout.PaddingValues contentPadding, optional boolean reverseLayout, optional androidx.compose.foundation.layout.Arrangement.Horizontal horizontalArrangement, optional androidx.compose.ui.Alignment.Vertical verticalAlignment, optional androidx.compose.foundation.gestures.FlingBehavior flingBehavior, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyListScope,kotlin.Unit> content);
+ method public static inline <T> void items(androidx.compose.foundation.lazy.LazyListScope, java.util.List<? extends T> items, optional kotlin.jvm.functions.Function1<? super T,?>? key, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super T,kotlin.Unit> itemContent);
+ method public static inline <T> void items(androidx.compose.foundation.lazy.LazyListScope, T![] items, optional kotlin.jvm.functions.Function1<? super T,?>? key, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super T,kotlin.Unit> itemContent);
+ method public static inline <T> void itemsIndexed(androidx.compose.foundation.lazy.LazyListScope, java.util.List<? extends T> items, optional kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,?>? key, kotlin.jvm.functions.Function3<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,? super T,kotlin.Unit> itemContent);
+ method public static inline <T> void itemsIndexed(androidx.compose.foundation.lazy.LazyListScope, T![] items, optional kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,?>? key, kotlin.jvm.functions.Function3<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,? super T,kotlin.Unit> itemContent);
+ }
+
+ public final class LazyGridKt {
+ method @androidx.compose.foundation.ExperimentalFoundationApi @androidx.compose.runtime.Composable public static void LazyVerticalGrid(androidx.compose.foundation.lazy.GridCells cells, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.lazy.LazyListState state, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyGridScope,kotlin.Unit> content);
+ method @androidx.compose.foundation.ExperimentalFoundationApi public static inline <T> void items(androidx.compose.foundation.lazy.LazyGridScope, java.util.List<? extends T> items, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super T,kotlin.Unit> itemContent);
+ method @androidx.compose.foundation.ExperimentalFoundationApi public static inline <T> void items(androidx.compose.foundation.lazy.LazyGridScope, T![] items, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super T,kotlin.Unit> itemContent);
+ method @androidx.compose.foundation.ExperimentalFoundationApi public static inline <T> void itemsIndexed(androidx.compose.foundation.lazy.LazyGridScope, java.util.List<? extends T> items, kotlin.jvm.functions.Function3<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,? super T,kotlin.Unit> itemContent);
+ method @androidx.compose.foundation.ExperimentalFoundationApi public static inline <T> void itemsIndexed(androidx.compose.foundation.lazy.LazyGridScope, T![] items, kotlin.jvm.functions.Function3<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,? super T,kotlin.Unit> itemContent);
+ }
+
+ @androidx.compose.foundation.ExperimentalFoundationApi public interface LazyGridScope {
+ method public void item(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyItemScope,kotlin.Unit> content);
+ method public void items(int count, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,kotlin.Unit> itemContent);
+ }
+
+ @androidx.compose.foundation.lazy.LazyScopeMarker @androidx.compose.runtime.Stable public interface LazyItemScope {
+ method public androidx.compose.ui.Modifier fillParentMaxHeight(androidx.compose.ui.Modifier, optional float fraction);
+ method public androidx.compose.ui.Modifier fillParentMaxSize(androidx.compose.ui.Modifier, optional float fraction);
+ method public androidx.compose.ui.Modifier fillParentMaxWidth(androidx.compose.ui.Modifier, optional float fraction);
+ }
+
+ public final class LazyListHeadersKt {
+ }
+
+ public final class LazyListItemContentFactoryKt {
+ }
+
+ public interface LazyListItemInfo {
+ method public int getIndex();
+ method public Object getKey();
+ method public int getOffset();
+ method public int getSize();
+ property public abstract int index;
+ property public abstract Object key;
+ property public abstract int offset;
+ property public abstract int size;
+ }
+
+ public final class LazyListKt {
+ }
+
+ public interface LazyListLayoutInfo {
+ method public int getTotalItemsCount();
+ method public int getViewportEndOffset();
+ method public int getViewportStartOffset();
+ method public java.util.List<androidx.compose.foundation.lazy.LazyListItemInfo> getVisibleItemsInfo();
+ property public abstract int totalItemsCount;
+ property public abstract int viewportEndOffset;
+ property public abstract int viewportStartOffset;
+ property public abstract java.util.List<androidx.compose.foundation.lazy.LazyListItemInfo> visibleItemsInfo;
+ }
+
+ public final class LazyListMeasureKt {
+ }
+
+ public final class LazyListPrefetcher_androidKt {
+ }
+
+ @androidx.compose.foundation.lazy.LazyScopeMarker public interface LazyListScope {
+ method public void item(optional Object? key, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyItemScope,kotlin.Unit> content);
+ method public void items(int count, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,?>? key, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,kotlin.Unit> itemContent);
+ method @androidx.compose.foundation.ExperimentalFoundationApi public void stickyHeader(optional Object? key, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyItemScope,kotlin.Unit> content);
+ }
+
+ public final class LazyListScrollingKt {
+ }
+
+ @androidx.compose.runtime.Stable public final class LazyListState implements androidx.compose.foundation.gestures.ScrollableState {
+ ctor public LazyListState(optional int firstVisibleItemIndex, optional int firstVisibleItemScrollOffset);
+ method public suspend Object? animateScrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public float dispatchRawDelta(float delta);
+ method public int getFirstVisibleItemIndex();
+ method public int getFirstVisibleItemScrollOffset();
+ method public androidx.compose.foundation.interaction.InteractionSource getInteractionSource();
+ method public androidx.compose.foundation.lazy.LazyListLayoutInfo getLayoutInfo();
+ method public boolean isScrollInProgress();
+ method public suspend Object? scroll(androidx.compose.foundation.MutatePriority scrollPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.ScrollScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? scrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final int firstVisibleItemIndex;
+ property public final int firstVisibleItemScrollOffset;
+ property public final androidx.compose.foundation.interaction.InteractionSource interactionSource;
+ property public boolean isScrollInProgress;
+ property public final androidx.compose.foundation.lazy.LazyListLayoutInfo layoutInfo;
+ field public static final androidx.compose.foundation.lazy.LazyListState.Companion Companion;
+ }
+
+ public static final class LazyListState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.lazy.LazyListState,?> getSaver();
+ property public final androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.lazy.LazyListState,?> Saver;
+ }
+
+ public final class LazyListStateKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.lazy.LazyListState rememberLazyListState(optional int initialFirstVisibleItemIndex, optional int initialFirstVisibleItemScrollOffset);
+ }
+
+ @kotlin.DslMarker public @interface LazyScopeMarker {
+ }
+
+ public final class LazySemanticsKt {
+ }
+
+ public final class Lazy_androidKt {
+ }
+
+}
+
+package androidx.compose.foundation.selection {
+
+ public final class SelectableGroupKt {
+ method public static androidx.compose.ui.Modifier selectableGroup(androidx.compose.ui.Modifier);
+ }
+
+ public final class SelectableKt {
+ method public static androidx.compose.ui.Modifier selectable-1gxKe7Q(androidx.compose.ui.Modifier, boolean selected, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method public static androidx.compose.ui.Modifier selectable-LEETLVc(androidx.compose.ui.Modifier, boolean selected, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ }
+
+ public final class ToggleableKt {
+ method public static androidx.compose.ui.Modifier toggleable-RP-hrYQ(androidx.compose.ui.Modifier, boolean value, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
+ method public static androidx.compose.ui.Modifier toggleable-rafqdns(androidx.compose.ui.Modifier, boolean value, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
+ method public static androidx.compose.ui.Modifier triStateToggleable-9kOUaIQ(androidx.compose.ui.Modifier, androidx.compose.ui.state.ToggleableState state, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method public static androidx.compose.ui.Modifier triStateToggleable-lQGob-I(androidx.compose.ui.Modifier, androidx.compose.ui.state.ToggleableState state, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ }
+
+}
+
+package androidx.compose.foundation.shape {
+
+ public final class AbsoluteCutCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public AbsoluteCutCornerShape(androidx.compose.foundation.shape.CornerSize topLeft, androidx.compose.foundation.shape.CornerSize topRight, androidx.compose.foundation.shape.CornerSize bottomRight, androidx.compose.foundation.shape.CornerSize bottomLeft);
+ method public androidx.compose.foundation.shape.AbsoluteCutCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class AbsoluteCutCornerShapeKt {
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(optional int topLeftPercent, optional int topRightPercent, optional int bottomRightPercent, optional int bottomLeftPercent);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape-ZmiikuI(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ }
+
+ public final class AbsoluteRoundedCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public AbsoluteRoundedCornerShape(androidx.compose.foundation.shape.CornerSize topLeft, androidx.compose.foundation.shape.CornerSize topRight, androidx.compose.foundation.shape.CornerSize bottomRight, androidx.compose.foundation.shape.CornerSize bottomLeft);
+ method public androidx.compose.foundation.shape.AbsoluteRoundedCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class AbsoluteRoundedCornerShapeKt {
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(optional int topLeftPercent, optional int topRightPercent, optional int bottomRightPercent, optional int bottomLeftPercent);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape-ZmiikuI(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ }
+
+ public abstract class CornerBasedShape implements androidx.compose.ui.graphics.Shape {
+ ctor public CornerBasedShape(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public abstract androidx.compose.foundation.shape.CornerBasedShape copy(optional androidx.compose.foundation.shape.CornerSize topStart, optional androidx.compose.foundation.shape.CornerSize topEnd, optional androidx.compose.foundation.shape.CornerSize bottomEnd, optional androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public final androidx.compose.foundation.shape.CornerBasedShape copy(androidx.compose.foundation.shape.CornerSize all);
+ method public final androidx.compose.ui.graphics.Outline createOutline-9w1PWio(long size, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.unit.Density density);
+ method public abstract androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public final androidx.compose.foundation.shape.CornerSize getBottomEnd();
+ method public final androidx.compose.foundation.shape.CornerSize getBottomStart();
+ method public final androidx.compose.foundation.shape.CornerSize getTopEnd();
+ method public final androidx.compose.foundation.shape.CornerSize getTopStart();
+ property public final androidx.compose.foundation.shape.CornerSize bottomEnd;
+ property public final androidx.compose.foundation.shape.CornerSize bottomStart;
+ property public final androidx.compose.foundation.shape.CornerSize topEnd;
+ property public final androidx.compose.foundation.shape.CornerSize topStart;
+ }
+
+ @androidx.compose.runtime.Immutable public interface CornerSize {
+ method public float toPx-lwCvPpU(long shapeSize, androidx.compose.ui.unit.Density density);
+ }
+
+ public final class CornerSizeKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.shape.CornerSize CornerSize(float size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.shape.CornerSize CornerSize(int percent);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.shape.CornerSize CornerSize-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.CornerSize getZeroCornerSize();
+ }
+
+ public final class CutCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public CutCornerShape(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.foundation.shape.CutCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class CutCornerShapeKt {
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(float size);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(optional int topStartPercent, optional int topEndPercent, optional int bottomEndPercent, optional int bottomStartPercent);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape-ZmiikuI(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ }
+
+ public final class GenericShape implements androidx.compose.ui.graphics.Shape {
+ ctor public GenericShape(kotlin.jvm.functions.Function3<? super androidx.compose.ui.graphics.Path,? super androidx.compose.ui.geometry.Size,? super androidx.compose.ui.unit.LayoutDirection,kotlin.Unit> builder);
+ method public androidx.compose.ui.graphics.Outline createOutline-9w1PWio(long size, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.unit.Density density);
+ }
+
+ public final class RoundedCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public RoundedCornerShape(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.foundation.shape.RoundedCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class RoundedCornerShapeKt {
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(float size);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(optional int topStartPercent, optional int topEndPercent, optional int bottomEndPercent, optional int bottomStartPercent);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape-ZmiikuI(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape getCircleShape();
+ }
+
+}
+
+package androidx.compose.foundation.text {
+
+ public final class BasicTextFieldKt {
+ method @androidx.compose.runtime.Composable public static void BasicTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Brush cursorBrush, optional kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> decorationBox);
+ method @androidx.compose.runtime.Composable public static void BasicTextField(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Brush cursorBrush, optional kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> decorationBox);
+ }
+
+ public final class BasicTextKt {
+ method @androidx.compose.runtime.Composable public static void BasicText-0jxMD7A(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines);
+ method @androidx.compose.runtime.Composable public static void BasicText-wGg1G4c(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent);
+ }
+
+ public final class ClickableTextKt {
+ method @androidx.compose.runtime.Composable public static void ClickableText-kVZBHUE(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional boolean softWrap, optional int overflow, optional int maxLines, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
+ }
+
+ public final class CoreTextFieldKt {
+ }
+
+ public final class CoreTextKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class InlineTextContent {
+ ctor public InlineTextContent(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+ method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> getChildren();
+ method public androidx.compose.ui.text.Placeholder getPlaceholder();
+ property public final kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> children;
+ property public final androidx.compose.ui.text.Placeholder placeholder;
+ }
+
+ public final class InlineTextContentKt {
+ method public static void appendInlineContent(androidx.compose.ui.text.AnnotatedString.Builder, String id, optional String alternateText);
+ }
+
+ @kotlin.RequiresOptIn(message="Internal/Unstable API for use only between foundation modules sharing " + "the same exact version, subject to change without notice.") @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface InternalFoundationTextApi {
+ }
+
+ public final class KeyMappingKt {
+ }
+
+ public final class KeyMapping_androidKt {
+ }
+
+ public interface KeyboardActionScope {
+ method public void defaultKeyboardAction-KlQnJC8(int imeAction);
+ }
+
+ public final class KeyboardActions {
+ ctor public KeyboardActions(optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnDone();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnGo();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnNext();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnPrevious();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnSearch();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnSend();
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend;
+ field public static final androidx.compose.foundation.text.KeyboardActions.Companion Companion;
+ }
+
+ public static final class KeyboardActions.Companion {
+ method public androidx.compose.foundation.text.KeyboardActions getDefault();
+ property public final androidx.compose.foundation.text.KeyboardActions Default;
+ }
+
+ public final class KeyboardActionsKt {
+ method public static androidx.compose.foundation.text.KeyboardActions KeyboardActions(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit> onAny);
+ }
+
+ @androidx.compose.runtime.Immutable public final class KeyboardOptions {
+ method public androidx.compose.foundation.text.KeyboardOptions copy-C1cpEnM(optional int capitalization, optional boolean autoCorrect, optional int keyboardType, optional int imeAction);
+ method public boolean getAutoCorrect();
+ method public int getCapitalization-IUNYP9k();
+ method public int getImeAction-eUduSuo();
+ method public int getKeyboardType-PjHm6EE();
+ property public final boolean autoCorrect;
+ property public final int capitalization;
+ property public final int imeAction;
+ property public final int keyboardType;
+ field public static final androidx.compose.foundation.text.KeyboardOptions.Companion Companion;
+ }
+
+ public static final class KeyboardOptions.Companion {
+ method public androidx.compose.foundation.text.KeyboardOptions getDefault();
+ property public final androidx.compose.foundation.text.KeyboardOptions Default;
+ }
+
+ public final class LongPressTextDragObserverKt {
+ }
+
+ public final class MaxLinesHeightModifierKt {
+ }
+
+ public final class StringHelpersKt {
+ }
+
+ public final class StringHelpers_androidKt {
+ }
+
+ public final class StringHelpers_jvmKt {
+ }
+
+ public final class TextFieldCursorKt {
+ }
+
+ public final class TextFieldDelegateKt {
+ }
+
+ public final class TextFieldGestureModifiersKt {
+ }
+
+ public final class TextFieldKeyInputKt {
+ }
+
+ public final class TextFieldKeyInput_androidKt {
+ }
+
+ public final class TextFieldPressGestureFilterKt {
+ }
+
+ public final class TextFieldScrollKt {
+ }
+
+ public final class TextFieldSizeKt {
+ }
+
+ public final class TextLayoutHelperKt {
+ }
+
+ public final class TextLayoutResultProxyKt {
+ }
+
+ public final class TouchMode_androidKt {
+ }
+
+ public final class UndoManagerKt {
+ }
+
+ public final class UndoManager_jvmKt {
+ }
+
+}
+
+package androidx.compose.foundation.text.selection {
+
+ public final class AndroidSelectionHandles_androidKt {
+ }
+
+ public final class MultiWidgetSelectionDelegateKt {
+ }
+
+ public final class SelectionContainerKt {
+ method @androidx.compose.runtime.Composable public static void DisableSelection(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void SelectionContainer(optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class SelectionHandlesKt {
+ }
+
+ public final class SelectionManagerKt {
+ }
+
+ public final class SelectionManager_androidKt {
+ }
+
+ public final class SelectionRegistrarKt {
+ }
+
+ public final class SimpleLayoutKt {
+ }
+
+ public final class TextFieldSelectionDelegateKt {
+ }
+
+ public final class TextFieldSelectionManagerKt {
+ }
+
+ public final class TextFieldSelectionManager_androidKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextSelectionColors {
+ method public long getBackgroundColor-0d7_KjU();
+ method public long getHandleColor-0d7_KjU();
+ property public final long backgroundColor;
+ property public final long handleColor;
+ }
+
+ public final class TextSelectionColorsKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.foundation.text.selection.TextSelectionColors> getLocalTextSelectionColors();
+ }
+
+ public final class TextSelectionDelegateKt {
+ }
+
+ public final class TextSelectionMouseDetectorKt {
+ }
+
+}
+
diff --git a/compose/foundation/foundation/api/res-1.0.0-beta10.txt b/compose/foundation/foundation/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/foundation/foundation/api/res-1.0.0-beta10.txt
diff --git a/compose/foundation/foundation/api/restricted_1.0.0-beta10.txt b/compose/foundation/foundation/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..1c29d18
--- /dev/null
+++ b/compose/foundation/foundation/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,766 @@
+// Signature format: 4.0
+package androidx.compose.foundation {
+
+ public final class ActualJvmKt {
+ }
+
+ public final class BackgroundKt {
+ method public static androidx.compose.ui.Modifier background(androidx.compose.ui.Modifier, androidx.compose.ui.graphics.Brush brush, optional androidx.compose.ui.graphics.Shape shape, optional float alpha);
+ method public static androidx.compose.ui.Modifier background-1xq40Q0(androidx.compose.ui.Modifier, long color, optional androidx.compose.ui.graphics.Shape shape);
+ }
+
+ public final class BorderKt {
+ method public static androidx.compose.ui.Modifier border(androidx.compose.ui.Modifier, androidx.compose.foundation.BorderStroke border, optional androidx.compose.ui.graphics.Shape shape);
+ method public static androidx.compose.ui.Modifier border-bMj1UE0(androidx.compose.ui.Modifier, float width, androidx.compose.ui.graphics.Brush brush, androidx.compose.ui.graphics.Shape shape);
+ method public static androidx.compose.ui.Modifier border-zRMYNwQ(androidx.compose.ui.Modifier, float width, long color, optional androidx.compose.ui.graphics.Shape shape);
+ }
+
+ @androidx.compose.runtime.Immutable public final class BorderStroke {
+ method public androidx.compose.foundation.BorderStroke copy-v_fYJzc(optional float width, optional androidx.compose.ui.graphics.Brush brush);
+ method public androidx.compose.ui.graphics.Brush getBrush();
+ method public float getWidth-D9Ej5fM();
+ property public final androidx.compose.ui.graphics.Brush brush;
+ property public final float width;
+ }
+
+ public final class BorderStrokeKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.BorderStroke BorderStroke-Qek64HU(float width, long color);
+ }
+
+ public final class CanvasKt {
+ method @androidx.compose.runtime.Composable public static void Canvas(androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> onDraw);
+ }
+
+ public final class ClickableKt {
+ method public static androidx.compose.ui.Modifier clickable-BZ_EYKE(androidx.compose.ui.Modifier, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method public static androidx.compose.ui.Modifier clickable-h9bCOVY(androidx.compose.ui.Modifier, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ }
+
+ public final class Clickable_androidKt {
+ }
+
+ public final class DarkThemeKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static boolean isSystemInDarkTheme();
+ }
+
+ public final class DarkTheme_androidKt {
+ }
+
+ public final class FocusableKt {
+ method public static androidx.compose.ui.Modifier focusable(androidx.compose.ui.Modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource);
+ }
+
+ public final class ImageKt {
+ method @androidx.compose.runtime.Composable public static void Image(androidx.compose.ui.graphics.ImageBitmap bitmap, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method @androidx.compose.runtime.Composable public static void Image(androidx.compose.ui.graphics.vector.ImageVector imageVector, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method @androidx.compose.runtime.Composable public static void Image(androidx.compose.ui.graphics.painter.Painter painter, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ }
+
+ @androidx.compose.runtime.Stable public interface Indication {
+ method @androidx.compose.runtime.Composable public androidx.compose.foundation.IndicationInstance rememberUpdatedInstance(androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ }
+
+ public interface IndicationInstance {
+ method public void drawIndication(androidx.compose.ui.graphics.drawscope.ContentDrawScope);
+ }
+
+ public final class IndicationKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.foundation.Indication> getLocalIndication();
+ method public static androidx.compose.ui.Modifier indication(androidx.compose.ui.Modifier, androidx.compose.foundation.interaction.InteractionSource interactionSource, androidx.compose.foundation.Indication? indication);
+ }
+
+ public enum MutatePriority {
+ enum_constant public static final androidx.compose.foundation.MutatePriority Default;
+ enum_constant public static final androidx.compose.foundation.MutatePriority PreventUserInput;
+ enum_constant public static final androidx.compose.foundation.MutatePriority UserInput;
+ }
+
+ @androidx.compose.runtime.Stable public final class MutatorMutex {
+ ctor public MutatorMutex();
+ method public suspend <R> Object? mutate(optional androidx.compose.foundation.MutatePriority priority, kotlin.jvm.functions.Function1<? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ method public suspend <T, R> Object? mutateWith(T? receiver, optional androidx.compose.foundation.MutatePriority priority, kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ public final class ProgressSemanticsKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier progressSemantics(androidx.compose.ui.Modifier, float value, optional kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> valueRange, optional int steps);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier progressSemantics(androidx.compose.ui.Modifier);
+ }
+
+ public final class ScrollKt {
+ method public static androidx.compose.ui.Modifier horizontalScroll(androidx.compose.ui.Modifier, androidx.compose.foundation.ScrollState state, optional boolean enabled, optional androidx.compose.foundation.gestures.FlingBehavior? flingBehavior, optional boolean reverseScrolling);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.ScrollState rememberScrollState(optional int initial);
+ method public static androidx.compose.ui.Modifier verticalScroll(androidx.compose.ui.Modifier, androidx.compose.foundation.ScrollState state, optional boolean enabled, optional androidx.compose.foundation.gestures.FlingBehavior? flingBehavior, optional boolean reverseScrolling);
+ }
+
+ @androidx.compose.runtime.Stable public final class ScrollState implements androidx.compose.foundation.gestures.ScrollableState {
+ ctor public ScrollState(int initial);
+ method public suspend Object? animateScrollTo(int value, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public float dispatchRawDelta(float delta);
+ method public androidx.compose.foundation.interaction.InteractionSource getInteractionSource();
+ method public int getMaxValue();
+ method public int getValue();
+ method public boolean isScrollInProgress();
+ method public suspend Object? scroll(androidx.compose.foundation.MutatePriority scrollPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.ScrollScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? scrollTo(int value, kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ property public final androidx.compose.foundation.interaction.InteractionSource interactionSource;
+ property public boolean isScrollInProgress;
+ property public final int maxValue;
+ property public final int value;
+ field public static final androidx.compose.foundation.ScrollState.Companion Companion;
+ }
+
+ public static final class ScrollState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.ScrollState,?> getSaver();
+ property public final androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.ScrollState,?> Saver;
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+}
+
+package androidx.compose.foundation.gestures {
+
+ public final class AndroidScrollable_androidKt {
+ }
+
+ public final class DragGestureDetectorKt {
+ method public static suspend Object? awaitDragOrCancellation-ijcpFGM(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitHorizontalDragOrCancellation-ijcpFGM(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitHorizontalTouchSlopOrCancellation-qFc19kk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onTouchSlopReached, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitTouchSlopOrCancellation-qFc19kk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onTouchSlopReached, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitVerticalDragOrCancellation-ijcpFGM(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? awaitVerticalTouchSlopOrCancellation-qFc19kk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onTouchSlopReached, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? detectDragGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? detectDragGesturesAfterLongPress(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? detectHorizontalDragGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onHorizontalDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? detectVerticalDragGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit> onDragStart, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragEnd, optional kotlin.jvm.functions.Function0<kotlin.Unit> onDragCancel, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputChange,? super java.lang.Float,kotlin.Unit> onVerticalDrag, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? drag-Pd94rOk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.pointer.PointerInputChange,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ method public static suspend Object? horizontalDrag-Pd94rOk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.pointer.PointerInputChange,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ method public static suspend Object? verticalDrag-Pd94rOk(androidx.compose.ui.input.pointer.AwaitPointerEventScope, long pointerId, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.pointer.PointerInputChange,kotlin.Unit> onDrag, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public interface DragScope {
+ method public void dragBy(float pixels);
+ }
+
+ public final class DraggableKt {
+ method public static androidx.compose.foundation.gestures.DraggableState DraggableState(kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onDelta);
+ method public static androidx.compose.ui.Modifier draggable(androidx.compose.ui.Modifier, androidx.compose.foundation.gestures.DraggableState state, androidx.compose.foundation.gestures.Orientation orientation, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource, optional boolean startDragImmediately, optional kotlin.jvm.functions.Function3<? super kotlinx.coroutines.CoroutineScope,? super androidx.compose.ui.geometry.Offset,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> onDragStarted, optional kotlin.jvm.functions.Function3<? super kotlinx.coroutines.CoroutineScope,? super java.lang.Float,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> onDragStopped, optional boolean reverseDirection);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.gestures.DraggableState rememberDraggableState(kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onDelta);
+ }
+
+ public interface DraggableState {
+ method public void dispatchRawDelta(float delta);
+ method public suspend Object? drag(optional androidx.compose.foundation.MutatePriority dragPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.DragScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ @androidx.compose.runtime.Stable public interface FlingBehavior {
+ method public suspend Object? performFling(androidx.compose.foundation.gestures.ScrollScope, float initialVelocity, kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ }
+
+ public final class ForEachGestureKt {
+ method public static suspend Object? forEachGesture(androidx.compose.ui.input.pointer.PointerInputScope, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public final class GestureCancellationException extends java.util.concurrent.CancellationException {
+ ctor public GestureCancellationException(optional String? message);
+ }
+
+ public enum Orientation {
+ enum_constant public static final androidx.compose.foundation.gestures.Orientation Horizontal;
+ enum_constant public static final androidx.compose.foundation.gestures.Orientation Vertical;
+ }
+
+ public interface PressGestureScope extends androidx.compose.ui.unit.Density {
+ method public suspend Object? awaitRelease(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? tryAwaitRelease(kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public final class RelativeVelocityTrackerKt {
+ }
+
+ public final class ScrollExtensionsKt {
+ method public static suspend Object? animateScrollBy(androidx.compose.foundation.gestures.ScrollableState, float value, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ method public static suspend Object? scrollBy(androidx.compose.foundation.gestures.ScrollableState, float value, kotlin.coroutines.Continuation<? super java.lang.Float> p);
+ method public static suspend Object? stopScroll(androidx.compose.foundation.gestures.ScrollableState, optional androidx.compose.foundation.MutatePriority scrollPriority, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public interface ScrollScope {
+ method public float scrollBy(float pixels);
+ }
+
+ public final class ScrollableDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.foundation.gestures.FlingBehavior flingBehavior();
+ field public static final androidx.compose.foundation.gestures.ScrollableDefaults INSTANCE;
+ }
+
+ public final class ScrollableKt {
+ method public static androidx.compose.ui.Modifier scrollable(androidx.compose.ui.Modifier, androidx.compose.foundation.gestures.ScrollableState state, androidx.compose.foundation.gestures.Orientation orientation, optional boolean enabled, optional boolean reverseDirection, optional androidx.compose.foundation.gestures.FlingBehavior? flingBehavior, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource);
+ }
+
+ public interface ScrollableState {
+ method public float dispatchRawDelta(float delta);
+ method public boolean isScrollInProgress();
+ method public suspend Object? scroll(optional androidx.compose.foundation.MutatePriority scrollPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.ScrollScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public abstract boolean isScrollInProgress;
+ }
+
+ public final class ScrollableStateKt {
+ method public static androidx.compose.foundation.gestures.ScrollableState ScrollableState(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> consumeScrollDelta);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.gestures.ScrollableState rememberScrollableState(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> consumeScrollDelta);
+ }
+
+ public final class TapGestureDetectorKt {
+ method public static suspend Object? awaitFirstDown(androidx.compose.ui.input.pointer.AwaitPointerEventScope, optional boolean requireUnconsumed, optional kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ method public static suspend Object? detectTapGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? onDoubleTap, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? onLongPress, optional kotlin.jvm.functions.Function3<? super androidx.compose.foundation.gestures.PressGestureScope,? super androidx.compose.ui.geometry.Offset,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> onPress, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.geometry.Offset,kotlin.Unit>? onTap, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? waitForUpOrCancellation(androidx.compose.ui.input.pointer.AwaitPointerEventScope, kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerInputChange> p);
+ }
+
+ public final class TransformGestureDetectorKt {
+ method public static long calculateCentroid(androidx.compose.ui.input.pointer.PointerEvent, optional boolean useCurrent);
+ method public static float calculateCentroidSize(androidx.compose.ui.input.pointer.PointerEvent, optional boolean useCurrent);
+ method public static long calculatePan(androidx.compose.ui.input.pointer.PointerEvent);
+ method public static float calculateRotation(androidx.compose.ui.input.pointer.PointerEvent);
+ method public static float calculateZoom(androidx.compose.ui.input.pointer.PointerEvent);
+ method public static suspend Object? detectTransformGestures(androidx.compose.ui.input.pointer.PointerInputScope, optional boolean panZoomLock, kotlin.jvm.functions.Function4<? super androidx.compose.ui.geometry.Offset,? super androidx.compose.ui.geometry.Offset,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> onGesture, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+ public interface TransformScope {
+ method public void transformBy-ox2scHU(optional float zoomChange, optional long panChange, optional float rotationChange);
+ }
+
+ public final class TransformableKt {
+ method public static androidx.compose.ui.Modifier transformable(androidx.compose.ui.Modifier, androidx.compose.foundation.gestures.TransformableState state, optional boolean lockRotationOnZoomPan, optional boolean enabled);
+ }
+
+ public interface TransformableState {
+ method public boolean isTransformInProgress();
+ method public suspend Object? transform(optional androidx.compose.foundation.MutatePriority transformPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.TransformScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public abstract boolean isTransformInProgress;
+ }
+
+ public final class TransformableStateKt {
+ method public static androidx.compose.foundation.gestures.TransformableState TransformableState(kotlin.jvm.functions.Function3<? super java.lang.Float,? super androidx.compose.ui.geometry.Offset,? super java.lang.Float,kotlin.Unit> onTransformation);
+ method public static suspend Object? animatePanBy-5602LSQ(androidx.compose.foundation.gestures.TransformableState, long offset, optional androidx.compose.animation.core.AnimationSpec<androidx.compose.ui.geometry.Offset> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? animateRotateBy(androidx.compose.foundation.gestures.TransformableState, float degrees, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? animateZoomBy(androidx.compose.foundation.gestures.TransformableState, float zoomFactor, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? panBy-8hPFfiU(androidx.compose.foundation.gestures.TransformableState, long offset, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.gestures.TransformableState rememberTransformableState(kotlin.jvm.functions.Function3<? super java.lang.Float,? super androidx.compose.ui.geometry.Offset,? super java.lang.Float,kotlin.Unit> onTransformation);
+ method public static suspend Object? rotateBy(androidx.compose.foundation.gestures.TransformableState, float degrees, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? stopTransformation(androidx.compose.foundation.gestures.TransformableState, optional androidx.compose.foundation.MutatePriority terminationPriority, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public static suspend Object? zoomBy(androidx.compose.foundation.gestures.TransformableState, float zoomFactor, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ }
+
+}
+
+package androidx.compose.foundation.interaction {
+
+ public interface DragInteraction extends androidx.compose.foundation.interaction.Interaction {
+ }
+
+ public static final class DragInteraction.Cancel implements androidx.compose.foundation.interaction.DragInteraction {
+ ctor public DragInteraction.Cancel(androidx.compose.foundation.interaction.DragInteraction.Start start);
+ method public androidx.compose.foundation.interaction.DragInteraction.Start getStart();
+ property public final androidx.compose.foundation.interaction.DragInteraction.Start start;
+ }
+
+ public static final class DragInteraction.Start implements androidx.compose.foundation.interaction.DragInteraction {
+ ctor public DragInteraction.Start();
+ }
+
+ public static final class DragInteraction.Stop implements androidx.compose.foundation.interaction.DragInteraction {
+ ctor public DragInteraction.Stop(androidx.compose.foundation.interaction.DragInteraction.Start start);
+ method public androidx.compose.foundation.interaction.DragInteraction.Start getStart();
+ property public final androidx.compose.foundation.interaction.DragInteraction.Start start;
+ }
+
+ public final class DragInteractionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> collectIsDraggedAsState(androidx.compose.foundation.interaction.InteractionSource);
+ }
+
+ public interface FocusInteraction extends androidx.compose.foundation.interaction.Interaction {
+ }
+
+ public static final class FocusInteraction.Focus implements androidx.compose.foundation.interaction.FocusInteraction {
+ ctor public FocusInteraction.Focus();
+ }
+
+ public static final class FocusInteraction.Unfocus implements androidx.compose.foundation.interaction.FocusInteraction {
+ ctor public FocusInteraction.Unfocus(androidx.compose.foundation.interaction.FocusInteraction.Focus focus);
+ method public androidx.compose.foundation.interaction.FocusInteraction.Focus getFocus();
+ property public final androidx.compose.foundation.interaction.FocusInteraction.Focus focus;
+ }
+
+ public final class FocusInteractionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> collectIsFocusedAsState(androidx.compose.foundation.interaction.InteractionSource);
+ }
+
+ public interface Interaction {
+ }
+
+ @androidx.compose.runtime.Stable public interface InteractionSource {
+ method public kotlinx.coroutines.flow.Flow<androidx.compose.foundation.interaction.Interaction> getInteractions();
+ property public abstract kotlinx.coroutines.flow.Flow<androidx.compose.foundation.interaction.Interaction> interactions;
+ }
+
+ public final class InteractionSourceKt {
+ method public static androidx.compose.foundation.interaction.MutableInteractionSource MutableInteractionSource();
+ }
+
+ @androidx.compose.runtime.Stable public interface MutableInteractionSource extends androidx.compose.foundation.interaction.InteractionSource {
+ method public suspend Object? emit(androidx.compose.foundation.interaction.Interaction interaction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public boolean tryEmit(androidx.compose.foundation.interaction.Interaction interaction);
+ }
+
+ public interface PressInteraction extends androidx.compose.foundation.interaction.Interaction {
+ }
+
+ public static final class PressInteraction.Cancel implements androidx.compose.foundation.interaction.PressInteraction {
+ ctor public PressInteraction.Cancel(androidx.compose.foundation.interaction.PressInteraction.Press press);
+ method public androidx.compose.foundation.interaction.PressInteraction.Press getPress();
+ property public final androidx.compose.foundation.interaction.PressInteraction.Press press;
+ }
+
+ public static final class PressInteraction.Press implements androidx.compose.foundation.interaction.PressInteraction {
+ method public long getPressPosition-F1C5BW0();
+ property public final long pressPosition;
+ }
+
+ public static final class PressInteraction.Release implements androidx.compose.foundation.interaction.PressInteraction {
+ ctor public PressInteraction.Release(androidx.compose.foundation.interaction.PressInteraction.Press press);
+ method public androidx.compose.foundation.interaction.PressInteraction.Press getPress();
+ property public final androidx.compose.foundation.interaction.PressInteraction.Press press;
+ }
+
+ public final class PressInteractionKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> collectIsPressedAsState(androidx.compose.foundation.interaction.InteractionSource);
+ }
+
+}
+
+package androidx.compose.foundation.lazy {
+
+ public final class LazyDslKt {
+ method @androidx.compose.runtime.Composable public static void LazyColumn(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.lazy.LazyListState state, optional androidx.compose.foundation.layout.PaddingValues contentPadding, optional boolean reverseLayout, optional androidx.compose.foundation.layout.Arrangement.Vertical verticalArrangement, optional androidx.compose.ui.Alignment.Horizontal horizontalAlignment, optional androidx.compose.foundation.gestures.FlingBehavior flingBehavior, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyListScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void LazyRow(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.lazy.LazyListState state, optional androidx.compose.foundation.layout.PaddingValues contentPadding, optional boolean reverseLayout, optional androidx.compose.foundation.layout.Arrangement.Horizontal horizontalArrangement, optional androidx.compose.ui.Alignment.Vertical verticalAlignment, optional androidx.compose.foundation.gestures.FlingBehavior flingBehavior, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyListScope,kotlin.Unit> content);
+ method public static inline <T> void items(androidx.compose.foundation.lazy.LazyListScope, java.util.List<? extends T> items, optional kotlin.jvm.functions.Function1<? super T,?>? key, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super T,kotlin.Unit> itemContent);
+ method public static inline <T> void items(androidx.compose.foundation.lazy.LazyListScope, T![] items, optional kotlin.jvm.functions.Function1<? super T,?>? key, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super T,kotlin.Unit> itemContent);
+ method public static inline <T> void itemsIndexed(androidx.compose.foundation.lazy.LazyListScope, java.util.List<? extends T> items, optional kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,?>? key, kotlin.jvm.functions.Function3<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,? super T,kotlin.Unit> itemContent);
+ method public static inline <T> void itemsIndexed(androidx.compose.foundation.lazy.LazyListScope, T![] items, optional kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,?>? key, kotlin.jvm.functions.Function3<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,? super T,kotlin.Unit> itemContent);
+ }
+
+ public final class LazyGridKt {
+ }
+
+ @androidx.compose.foundation.lazy.LazyScopeMarker @androidx.compose.runtime.Stable public interface LazyItemScope {
+ method public androidx.compose.ui.Modifier fillParentMaxHeight(androidx.compose.ui.Modifier, optional float fraction);
+ method public androidx.compose.ui.Modifier fillParentMaxSize(androidx.compose.ui.Modifier, optional float fraction);
+ method public androidx.compose.ui.Modifier fillParentMaxWidth(androidx.compose.ui.Modifier, optional float fraction);
+ }
+
+ public final class LazyListHeadersKt {
+ }
+
+ public final class LazyListItemContentFactoryKt {
+ }
+
+ public interface LazyListItemInfo {
+ method public int getIndex();
+ method public Object getKey();
+ method public int getOffset();
+ method public int getSize();
+ property public abstract int index;
+ property public abstract Object key;
+ property public abstract int offset;
+ property public abstract int size;
+ }
+
+ public final class LazyListKt {
+ }
+
+ public interface LazyListLayoutInfo {
+ method public int getTotalItemsCount();
+ method public int getViewportEndOffset();
+ method public int getViewportStartOffset();
+ method public java.util.List<androidx.compose.foundation.lazy.LazyListItemInfo> getVisibleItemsInfo();
+ property public abstract int totalItemsCount;
+ property public abstract int viewportEndOffset;
+ property public abstract int viewportStartOffset;
+ property public abstract java.util.List<androidx.compose.foundation.lazy.LazyListItemInfo> visibleItemsInfo;
+ }
+
+ public final class LazyListMeasureKt {
+ }
+
+ public final class LazyListPrefetcher_androidKt {
+ }
+
+ @androidx.compose.foundation.lazy.LazyScopeMarker public interface LazyListScope {
+ method public void item(optional Object? key, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.lazy.LazyItemScope,kotlin.Unit> content);
+ method public void items(int count, optional kotlin.jvm.functions.Function1<? super java.lang.Integer,?>? key, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.lazy.LazyItemScope,? super java.lang.Integer,kotlin.Unit> itemContent);
+ }
+
+ public final class LazyListScrollingKt {
+ }
+
+ @androidx.compose.runtime.Stable public final class LazyListState implements androidx.compose.foundation.gestures.ScrollableState {
+ ctor public LazyListState(optional int firstVisibleItemIndex, optional int firstVisibleItemScrollOffset);
+ method public suspend Object? animateScrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public float dispatchRawDelta(float delta);
+ method public int getFirstVisibleItemIndex();
+ method public int getFirstVisibleItemScrollOffset();
+ method public androidx.compose.foundation.interaction.InteractionSource getInteractionSource();
+ method public androidx.compose.foundation.lazy.LazyListLayoutInfo getLayoutInfo();
+ method public boolean isScrollInProgress();
+ method public suspend Object? scroll(androidx.compose.foundation.MutatePriority scrollPriority, kotlin.jvm.functions.Function2<? super androidx.compose.foundation.gestures.ScrollScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? scrollToItem(int index, optional int scrollOffset, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final int firstVisibleItemIndex;
+ property public final int firstVisibleItemScrollOffset;
+ property public final androidx.compose.foundation.interaction.InteractionSource interactionSource;
+ property public boolean isScrollInProgress;
+ property public final androidx.compose.foundation.lazy.LazyListLayoutInfo layoutInfo;
+ field public static final androidx.compose.foundation.lazy.LazyListState.Companion Companion;
+ }
+
+ public static final class LazyListState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.lazy.LazyListState,?> getSaver();
+ property public final androidx.compose.runtime.saveable.Saver<androidx.compose.foundation.lazy.LazyListState,?> Saver;
+ }
+
+ public final class LazyListStateKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.lazy.LazyListState rememberLazyListState(optional int initialFirstVisibleItemIndex, optional int initialFirstVisibleItemScrollOffset);
+ }
+
+ @kotlin.DslMarker public @interface LazyScopeMarker {
+ }
+
+ public final class LazySemanticsKt {
+ }
+
+ public final class Lazy_androidKt {
+ }
+
+}
+
+package androidx.compose.foundation.selection {
+
+ public final class SelectableGroupKt {
+ method public static androidx.compose.ui.Modifier selectableGroup(androidx.compose.ui.Modifier);
+ }
+
+ public final class SelectableKt {
+ method public static androidx.compose.ui.Modifier selectable-1gxKe7Q(androidx.compose.ui.Modifier, boolean selected, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method public static androidx.compose.ui.Modifier selectable-LEETLVc(androidx.compose.ui.Modifier, boolean selected, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ }
+
+ public final class ToggleableKt {
+ method public static androidx.compose.ui.Modifier toggleable-RP-hrYQ(androidx.compose.ui.Modifier, boolean value, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
+ method public static androidx.compose.ui.Modifier toggleable-rafqdns(androidx.compose.ui.Modifier, boolean value, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onValueChange);
+ method public static androidx.compose.ui.Modifier triStateToggleable-9kOUaIQ(androidx.compose.ui.Modifier, androidx.compose.ui.state.ToggleableState state, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ method public static androidx.compose.ui.Modifier triStateToggleable-lQGob-I(androidx.compose.ui.Modifier, androidx.compose.ui.state.ToggleableState state, androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, androidx.compose.foundation.Indication? indication, optional boolean enabled, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+ }
+
+}
+
+package androidx.compose.foundation.shape {
+
+ public final class AbsoluteCutCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public AbsoluteCutCornerShape(androidx.compose.foundation.shape.CornerSize topLeft, androidx.compose.foundation.shape.CornerSize topRight, androidx.compose.foundation.shape.CornerSize bottomRight, androidx.compose.foundation.shape.CornerSize bottomLeft);
+ method public androidx.compose.foundation.shape.AbsoluteCutCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class AbsoluteCutCornerShapeKt {
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape(optional int topLeftPercent, optional int topRightPercent, optional int bottomRightPercent, optional int bottomLeftPercent);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteCutCornerShape AbsoluteCutCornerShape-ZmiikuI(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ }
+
+ public final class AbsoluteRoundedCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public AbsoluteRoundedCornerShape(androidx.compose.foundation.shape.CornerSize topLeft, androidx.compose.foundation.shape.CornerSize topRight, androidx.compose.foundation.shape.CornerSize bottomRight, androidx.compose.foundation.shape.CornerSize bottomLeft);
+ method public androidx.compose.foundation.shape.AbsoluteRoundedCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class AbsoluteRoundedCornerShapeKt {
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape(optional int topLeftPercent, optional int topRightPercent, optional int bottomRightPercent, optional int bottomLeftPercent);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.AbsoluteRoundedCornerShape AbsoluteRoundedCornerShape-ZmiikuI(optional float topLeft, optional float topRight, optional float bottomRight, optional float bottomLeft);
+ }
+
+ public abstract class CornerBasedShape implements androidx.compose.ui.graphics.Shape {
+ ctor public CornerBasedShape(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public abstract androidx.compose.foundation.shape.CornerBasedShape copy(optional androidx.compose.foundation.shape.CornerSize topStart, optional androidx.compose.foundation.shape.CornerSize topEnd, optional androidx.compose.foundation.shape.CornerSize bottomEnd, optional androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public final androidx.compose.foundation.shape.CornerBasedShape copy(androidx.compose.foundation.shape.CornerSize all);
+ method public final androidx.compose.ui.graphics.Outline createOutline-9w1PWio(long size, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.unit.Density density);
+ method public abstract androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public final androidx.compose.foundation.shape.CornerSize getBottomEnd();
+ method public final androidx.compose.foundation.shape.CornerSize getBottomStart();
+ method public final androidx.compose.foundation.shape.CornerSize getTopEnd();
+ method public final androidx.compose.foundation.shape.CornerSize getTopStart();
+ property public final androidx.compose.foundation.shape.CornerSize bottomEnd;
+ property public final androidx.compose.foundation.shape.CornerSize bottomStart;
+ property public final androidx.compose.foundation.shape.CornerSize topEnd;
+ property public final androidx.compose.foundation.shape.CornerSize topStart;
+ }
+
+ @androidx.compose.runtime.Immutable public interface CornerSize {
+ method public float toPx-lwCvPpU(long shapeSize, androidx.compose.ui.unit.Density density);
+ }
+
+ public final class CornerSizeKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.shape.CornerSize CornerSize(float size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.shape.CornerSize CornerSize(int percent);
+ method @androidx.compose.runtime.Stable public static androidx.compose.foundation.shape.CornerSize CornerSize-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.CornerSize getZeroCornerSize();
+ }
+
+ public final class CutCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public CutCornerShape(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.foundation.shape.CutCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class CutCornerShapeKt {
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(float size);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape(optional int topStartPercent, optional int topEndPercent, optional int bottomEndPercent, optional int bottomStartPercent);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.CutCornerShape CutCornerShape-ZmiikuI(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ }
+
+ public final class GenericShape implements androidx.compose.ui.graphics.Shape {
+ ctor public GenericShape(kotlin.jvm.functions.Function3<? super androidx.compose.ui.graphics.Path,? super androidx.compose.ui.geometry.Size,? super androidx.compose.ui.unit.LayoutDirection,kotlin.Unit> builder);
+ method public androidx.compose.ui.graphics.Outline createOutline-9w1PWio(long size, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.unit.Density density);
+ }
+
+ public final class RoundedCornerShape extends androidx.compose.foundation.shape.CornerBasedShape {
+ ctor public RoundedCornerShape(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.foundation.shape.RoundedCornerShape copy(androidx.compose.foundation.shape.CornerSize topStart, androidx.compose.foundation.shape.CornerSize topEnd, androidx.compose.foundation.shape.CornerSize bottomEnd, androidx.compose.foundation.shape.CornerSize bottomStart);
+ method public androidx.compose.ui.graphics.Outline createOutline-ljnXCgI(long size, float topStart, float topEnd, float bottomEnd, float bottomStart, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ public final class RoundedCornerShapeKt {
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(androidx.compose.foundation.shape.CornerSize corner);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(float size);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(int percent);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape(optional int topStartPercent, optional int topEndPercent, optional int bottomEndPercent, optional int bottomStartPercent);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape-0680j_4(float size);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape RoundedCornerShape-ZmiikuI(optional float topStart, optional float topEnd, optional float bottomEnd, optional float bottomStart);
+ method public static androidx.compose.foundation.shape.RoundedCornerShape getCircleShape();
+ }
+
+}
+
+package androidx.compose.foundation.text {
+
+ public final class BasicTextFieldKt {
+ method @androidx.compose.runtime.Composable public static void BasicTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Brush cursorBrush, optional kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> decorationBox);
+ method @androidx.compose.runtime.Composable public static void BasicTextField(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Brush cursorBrush, optional kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> decorationBox);
+ }
+
+ public final class BasicTextKt {
+ method @androidx.compose.runtime.Composable public static void BasicText-0jxMD7A(String text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines);
+ method @androidx.compose.runtime.Composable public static void BasicText-wGg1G4c(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional int overflow, optional boolean softWrap, optional int maxLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent);
+ }
+
+ public final class ClickableTextKt {
+ method @androidx.compose.runtime.Composable public static void ClickableText-kVZBHUE(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.text.TextStyle style, optional boolean softWrap, optional int overflow, optional int maxLines, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onClick);
+ }
+
+ public final class CoreTextFieldKt {
+ }
+
+ public final class CoreTextKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class InlineTextContent {
+ ctor public InlineTextContent(androidx.compose.ui.text.Placeholder placeholder, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> children);
+ method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> getChildren();
+ method public androidx.compose.ui.text.Placeholder getPlaceholder();
+ property public final kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit> children;
+ property public final androidx.compose.ui.text.Placeholder placeholder;
+ }
+
+ public final class InlineTextContentKt {
+ method public static void appendInlineContent(androidx.compose.ui.text.AnnotatedString.Builder, String id, optional String alternateText);
+ }
+
+ public final class KeyMappingKt {
+ }
+
+ public final class KeyMapping_androidKt {
+ }
+
+ public interface KeyboardActionScope {
+ method public void defaultKeyboardAction-KlQnJC8(int imeAction);
+ }
+
+ public final class KeyboardActions {
+ ctor public KeyboardActions(optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend);
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnDone();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnGo();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnNext();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnPrevious();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnSearch();
+ method public kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? getOnSend();
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onDone;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onGo;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onNext;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onPrevious;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSearch;
+ property public final kotlin.jvm.functions.Function1<androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit>? onSend;
+ field public static final androidx.compose.foundation.text.KeyboardActions.Companion Companion;
+ }
+
+ public static final class KeyboardActions.Companion {
+ method public androidx.compose.foundation.text.KeyboardActions getDefault();
+ property public final androidx.compose.foundation.text.KeyboardActions Default;
+ }
+
+ public final class KeyboardActionsKt {
+ method public static androidx.compose.foundation.text.KeyboardActions KeyboardActions(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.text.KeyboardActionScope,kotlin.Unit> onAny);
+ }
+
+ @androidx.compose.runtime.Immutable public final class KeyboardOptions {
+ method public androidx.compose.foundation.text.KeyboardOptions copy-C1cpEnM(optional int capitalization, optional boolean autoCorrect, optional int keyboardType, optional int imeAction);
+ method public boolean getAutoCorrect();
+ method public int getCapitalization-IUNYP9k();
+ method public int getImeAction-eUduSuo();
+ method public int getKeyboardType-PjHm6EE();
+ property public final boolean autoCorrect;
+ property public final int capitalization;
+ property public final int imeAction;
+ property public final int keyboardType;
+ field public static final androidx.compose.foundation.text.KeyboardOptions.Companion Companion;
+ }
+
+ public static final class KeyboardOptions.Companion {
+ method public androidx.compose.foundation.text.KeyboardOptions getDefault();
+ property public final androidx.compose.foundation.text.KeyboardOptions Default;
+ }
+
+ public final class LongPressTextDragObserverKt {
+ }
+
+ public final class MaxLinesHeightModifierKt {
+ }
+
+ public final class StringHelpersKt {
+ }
+
+ public final class StringHelpers_androidKt {
+ }
+
+ public final class StringHelpers_jvmKt {
+ }
+
+ public final class TextFieldCursorKt {
+ }
+
+ public final class TextFieldDelegateKt {
+ }
+
+ public final class TextFieldGestureModifiersKt {
+ }
+
+ public final class TextFieldKeyInputKt {
+ }
+
+ public final class TextFieldKeyInput_androidKt {
+ }
+
+ public final class TextFieldPressGestureFilterKt {
+ }
+
+ public final class TextFieldScrollKt {
+ }
+
+ public final class TextFieldSizeKt {
+ }
+
+ public final class TextLayoutHelperKt {
+ }
+
+ public final class TextLayoutResultProxyKt {
+ }
+
+ public final class TouchMode_androidKt {
+ }
+
+ public final class UndoManagerKt {
+ }
+
+ public final class UndoManager_jvmKt {
+ }
+
+}
+
+package androidx.compose.foundation.text.selection {
+
+ public final class AndroidSelectionHandles_androidKt {
+ }
+
+ public final class MultiWidgetSelectionDelegateKt {
+ }
+
+ public final class SelectionContainerKt {
+ method @androidx.compose.runtime.Composable public static void DisableSelection(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void SelectionContainer(optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class SelectionHandlesKt {
+ }
+
+ public final class SelectionManagerKt {
+ }
+
+ public final class SelectionManager_androidKt {
+ }
+
+ public final class SelectionRegistrarKt {
+ }
+
+ public final class SimpleLayoutKt {
+ }
+
+ public final class TextFieldSelectionDelegateKt {
+ }
+
+ public final class TextFieldSelectionManagerKt {
+ }
+
+ public final class TextFieldSelectionManager_androidKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextSelectionColors {
+ method public long getBackgroundColor-0d7_KjU();
+ method public long getHandleColor-0d7_KjU();
+ property public final long backgroundColor;
+ property public final long handleColor;
+ }
+
+ public final class TextSelectionColorsKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.foundation.text.selection.TextSelectionColors> getLocalTextSelectionColors();
+ }
+
+ public final class TextSelectionDelegateKt {
+ }
+
+ public final class TextSelectionMouseDetectorKt {
+ }
+
+}
+
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ListDemos.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ListDemos.kt
index c219a1c..62ce224 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ListDemos.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/ListDemos.kt
@@ -34,6 +34,7 @@
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxHeight
+import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredHeight
@@ -606,7 +607,7 @@
var velocityLeft = initialVelocity
var lastLeft = 0f
var lastFrameTime = unspecifiedFrame
- while (abs(lastLeft) < 1f) {
+ while (abs(lastLeft) < 1f && abs(perDance) > 0) {
listOf(perDance * 3 / 4, -perDance * 1 / 4).forEach { toGo ->
if (abs(lastLeft) > 1f) return@forEach
var lastValue = 0f
@@ -618,7 +619,7 @@
sequentialAnimation = lastFrameTime != unspecifiedFrame
) {
val delta = value - lastValue
- lastLeft = scrollBy(delta)
+ lastLeft = delta - scrollBy(delta)
lastValue = value
velocityLeft = this.velocity
lastFrameTime = this.lastFrameTimeNanos
@@ -630,13 +631,18 @@
}
}
}
- LazyColumn(flingBehavior = flingConfig) {
+ LazyColumn(
+ modifier = Modifier.fillMaxSize(),
+ flingBehavior = flingConfig
+ ) {
items(100) {
Text(
text = "$it",
fontSize = 20.sp,
modifier = Modifier
+ .fillParentMaxWidth()
.background(Color.Gray.copy(alpha = it / 100f))
+ .border(1.dp, Color.Gray)
.padding(16.dp)
)
}
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyListPrefetcherTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyListPrefetcherTest.kt
index 096b70c..6c8a3e4 100644
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyListPrefetcherTest.kt
+++ b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/lazy/LazyListPrefetcherTest.kt
@@ -16,6 +16,7 @@
package androidx.compose.foundation.lazy
+import androidx.compose.foundation.AutoTestFrameClock
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.gestures.scrollBy
import androidx.compose.foundation.layout.PaddingValues
@@ -23,6 +24,9 @@
import androidx.compose.foundation.layout.height
import androidx.compose.runtime.DisposableEffect
import androidx.compose.ui.Modifier
+import androidx.compose.ui.layout.Remeasurement
+import androidx.compose.ui.layout.RemeasurementModifier
+import androidx.compose.ui.layout.SubcomposeLayout
import androidx.compose.ui.layout.layout
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.test.assertIsDisplayed
@@ -312,6 +316,56 @@
.assertIsDisplayed()
}
+ @Test
+ fun disposingWhilePrefetchingScheduled() {
+ var emit = true
+ lateinit var remeasure: Remeasurement
+ rule.setContent {
+ SubcomposeLayout(
+ modifier = object : RemeasurementModifier {
+ override fun onRemeasurementAvailable(remeasurement: Remeasurement) {
+ remeasure = remeasurement
+ }
+ }
+ ) { constraints ->
+ val placeable = if (emit) {
+ subcompose(Unit) {
+ state = rememberLazyListState()
+ LazyColumn(
+ Modifier.height(itemsSizeDp * 1.5f),
+ state,
+ ) {
+ items(1000) {
+ Spacer(
+ Modifier
+ .height(itemsSizeDp)
+ .fillParentMaxWidth()
+ )
+ }
+ }
+ }.first().measure(constraints)
+ } else {
+ null
+ }
+ layout(constraints.maxWidth, constraints.maxHeight) {
+ placeable?.place(0, 0)
+ }
+ }
+ }
+
+ rule.runOnIdle {
+ // this will schedule the prefetching
+ runBlocking(AutoTestFrameClock()) {
+ state.scrollBy(itemsSizePx.toFloat())
+ }
+ // then we synchronously dispose LazyColumn
+ emit = false
+ remeasure.forceRemeasure()
+ }
+
+ rule.runOnIdle { }
+ }
+
private fun waitForPrefetch(index: Int) {
rule.waitUntil {
activeNodes.contains(index) && activeMeasuredNodes.contains(index)
diff --git a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/lazy/LazyListPrefetcher.android.kt b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/lazy/LazyListPrefetcher.android.kt
index ab9e342..6e219f3 100644
--- a/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/lazy/LazyListPrefetcher.android.kt
+++ b/compose/foundation/foundation/src/androidMain/kotlin/androidx/compose/foundation/lazy/LazyListPrefetcher.android.kt
@@ -152,6 +152,9 @@
private val choreographer = Choreographer.getInstance()
+ /** Is true when LazyList was composed and not yet disposed. */
+ private var isActive = false
+
init {
calculateFrameIntervalIfNeeded(view)
}
@@ -161,7 +164,7 @@
* [indexToPrefetch] will be used as an input.
*/
override fun run() {
- if (indexToPrefetch == -1 || !prefetchScheduled) {
+ if (indexToPrefetch == -1 || !prefetchScheduled || !isActive) {
// incorrect input. ignore
return
}
@@ -223,7 +226,9 @@
* prefetch again after this frame.
*/
override fun doFrame(frameTimeNanos: Long) {
- view.post(this)
+ if (isActive) {
+ view.post(this)
+ }
}
private fun precompose(
@@ -255,6 +260,7 @@
}
val info = lazyListState.layoutInfo
if (info.visibleItemsInfo.isNotEmpty()) {
+ check(isActive)
val scrollingForward = delta < 0
val indexToPrefetch = if (scrollingForward) {
info.visibleItemsInfo.last().index + 1
@@ -293,6 +299,7 @@
) {
val index = indexToPrefetch
if (premeasuringIsNeeded && index != -1) {
+ check(isActive)
val itemProvider = stateOfItemsProvider.value
if (index < itemProvider.itemsCount) {
val isVisibleAlready = result.visibleItemsInfo.fastAny { it.index == index }
@@ -314,12 +321,15 @@
override fun onRemembered() {
lazyListState.onScrolledListener = this
lazyListState.onPostMeasureListener = this
+ isActive = true
}
override fun onForgotten() {
+ isActive = false
lazyListState.onScrolledListener = null
lazyListState.onPostMeasureListener = null
view.removeCallbacks(this)
+ choreographer.removeFrameCallback(this)
}
override fun onAbandoned() {}
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazySemantics.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazySemantics.kt
index a460b39..8f697eb 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazySemantics.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/lazy/LazySemantics.kt
@@ -16,13 +16,19 @@
package androidx.compose.foundation.lazy
+import androidx.compose.foundation.gestures.ScrollableState
+import androidx.compose.foundation.gestures.scrollBy
import androidx.compose.runtime.State
import androidx.compose.ui.Modifier
import androidx.compose.ui.semantics.CollectionInfo
+import androidx.compose.ui.semantics.ScrollAxisRange
import androidx.compose.ui.semantics.collectionInfo
+import androidx.compose.ui.semantics.horizontalScrollAxisRange
import androidx.compose.ui.semantics.indexForKey
+import androidx.compose.ui.semantics.scrollBy
import androidx.compose.ui.semantics.scrollToIndex
import androidx.compose.ui.semantics.semantics
+import androidx.compose.ui.semantics.verticalScrollAxisRange
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
@@ -43,6 +49,31 @@
-1
}
+ val accessibilityScrollState = ScrollAxisRange(
+ value = {
+ // This is a simple way of representing the current position without
+ // needing any lazy items to be measured. It's good enough so far, because
+ // screen-readers care mostly about whether scroll position changed or not
+ // rather than the actual offset in pixels.
+ state.firstVisibleItemIndex + state.firstVisibleItemScrollOffset / 100_000f
+ },
+ maxValue = { Float.POSITIVE_INFINITY }
+ )
+ if (isVertical) {
+ verticalScrollAxisRange = accessibilityScrollState
+ } else {
+ horizontalScrollAxisRange = accessibilityScrollState
+ }
+
+ scrollBy { x, y ->
+ val delta = if (isVertical) { y } else { x }
+ coroutineScope.launch {
+ (state as ScrollableState).scrollBy(delta)
+ }
+ // TODO(aelias): is it important to return false if we know in advance we cannot scroll?
+ true
+ }
+
scrollToIndex { index ->
require(index >= 0 && index < stateOfItemsProvider.value.itemsCount) {
"Can't scroll to index $index, it is out of bounds [0, ${stateOfItemsProvider
diff --git a/compose/lint/common-test/build.gradle b/compose/lint/common-test/build.gradle
new file mode 100644
index 0000000..f8292cd
--- /dev/null
+++ b/compose/lint/common-test/build.gradle
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import androidx.build.LibraryType
+
+import static androidx.build.dependencies.DependenciesKt.*
+
+plugins {
+ id("AndroidXPlugin")
+ id("kotlin")
+}
+
+dependencies {
+ implementation(KOTLIN_STDLIB)
+ api(LINT_CORE)
+ api(LINT_TESTS)
+ api(JUNIT)
+ api(TRUTH)
+}
+
+androidx {
+ name = "Compose Lint Test Utils"
+ type = LibraryType.LINT
+ inceptionYear = "2021"
+ description = "Lint Test utils used for writing tests for Compose related lint checks"
+}
diff --git a/compose/lint/common-test/src/main/java/androidx/compose/lint/test/Stubs.kt b/compose/lint/common-test/src/main/java/androidx/compose/lint/test/Stubs.kt
new file mode 100644
index 0000000..d198858
--- /dev/null
+++ b/compose/lint/common-test/src/main/java/androidx/compose/lint/test/Stubs.kt
@@ -0,0 +1,567 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+@file:Suppress("UnstableApiUsage")
+
+package androidx.compose.lint.test
+
+import com.android.tools.lint.checks.infrastructure.LintDetectorTest.compiled
+import com.android.tools.lint.checks.infrastructure.LintDetectorTest.kotlin
+import com.android.tools.lint.checks.infrastructure.TestFile
+import com.android.tools.lint.checks.infrastructure.TestFiles.bytecode
+import org.intellij.lang.annotations.Language
+import java.util.Locale
+
+/**
+ * Common Compose-related bytecode lint stubs used for testing
+ */
+object Stubs {
+ val Color: TestFile = compiledStub(
+ filename = "Color.kt",
+ filepath = "androidx/compose/ui/graphics",
+ source = """
+ package androidx.compose.ui.graphics
+
+ inline class Color(val value: ULong) {
+ companion object {
+ val Black = Color(0xFF000000)
+ val DarkGray = Color(0xFF444444)
+ val Gray = Color(0xFF888888)
+ val LightGray = Color(0xFFCCCCCC)
+ val White = Color(0xFFFFFFFF)
+ val Red = Color(0xFFFF0000)
+ val Green = Color(0xFF00FF00)
+ val Blue = Color(0xFF0000FF)
+ val Yellow = Color(0xFFFFFF00)
+ val Cyan = Color(0xFF00FFFF)
+ val Magenta = Color(0xFFFF00FF)
+ val Transparent = Color(0x00000000)
+ }
+ }
+
+ fun Color(color: Long): Color {
+ return Color(value = (color.toULong() and 0xffffffffUL) shl 32)
+ }
+
+ fun Color(color: Int): Color {
+ return Color(value = color.toULong() shl 32)
+ }
+
+ fun Color(
+ red: Float,
+ green: Float,
+ blue: Float,
+ alpha: Float = 1f,
+ ): Color = Color.Black
+
+ fun Color(
+ red: Int,
+ green: Int,
+ blue: Int,
+ alpha: Int = 0xFF
+ ): Color = Color.Black
+ """,
+"""
+ androidx/compose/ui/graphics/ColorKt.class:
+ H4sIAAAAAAAAAJVUz28bRRT+Zn/a2026ae202dSpk7hglyR2UkgAN6EhUiSn
+ LpUo6SUHNF4v7ibrXWt3XZULREj8EVy5c+GALA4oKjdO/EWUN5uVnaZCLSvN
+ vB8z73vfmzezf/3z+x8APsQuQ4UH3Sj0ui/qTtgfhLFbH3r1XsQHzzwnru+F
+ fhg9THQwBuuYP+d1nwe9+uPOseuQV2ZQ0y0MSvWgdsBgnoSJ7wX1w3YY9HTo
+ FOaEQZxEQycJo1WvP/BN5KEZyMFQiQRe0cew9HYaOqYNXIVBOZ3znOxA5G2J
+ vKzFoFf36RNWfo9AeOCFAcNa++3QlfH+polZ3MhTnpsMK/8nUodNxfbc5HOf
+ Oyerje7W1w+PDxnkau3AxC2UDMxjgezI7RLffSqjF7kuMVQ6/tAlk/uDZ5xh
+ 6hy4637Dh37CYKdltdqXj78pcFUUDUh4X1Tfok9Ub6fafwbURMAHDDPtrFeP
+ 3IR3ecKbDFL/uUw9YWJSieWJUCTyv/CE1iCtu87w99npgnF2akg3pVRYuiHl
+ VJI5khLJPLnthkWT1GAbmiWRlEkqmVRTmctJlia0P0fs7PTlzxoB2bOTqBzJ
+ /GTNuIyYzxDzGWJ+jHgh6splRHOyNvXyB0khynOirg16DO9wV+iUwJBL9bUT
+ 6o+yF3apfVfbXuB+Mex33Ogr3vHJc60dOtx/yiNP2Jlz6klC1+MRH2S28SQc
+ Ro677wlj7sthkHh996kXe7S6GwRhwhO6XDHWqWmKeC/QMEdd1IhEk6wOeXWS
+ Kwu78qZSHuHKbgHmliJvauVZ5XthW+VNMtVyUfmWzBGsX0RTcZ/maynmLAwa
+ No0qjW3ymIROmJihHUjzXc/ytSFDvFvbvi9vz/9IgA+s8g6lvl16A30a4tLY
+ hG6n+BNkm5ALGXIxQ36cVaj/irnfcHsCo6UhS2n43fMtKGMxPQyd/Ivpuo5l
+ 0qRUq5AmW3ncwXsZeJPiNFFwUbFy3/0E1dxfWq7cGaF6nmeHZhnMuMC7RL+o
+ ReJeSlnW3o1l7RLLwphlYcyyMGZZyFjezcC3M5aFjKU+g1c79vyt0ggrr/E0
+ L/CsEM8qnWuFlj9LN32KByQPCXSVmK8dQW6h3kKDZqy3sIF7Lfr5f3QEFmMT
+ W0eYjqHG+DhGOcYnMZZiLMeoxCjGmEk912PUUkX7F4jgH2k8BgAA
+ """,
+ """
+ androidx/compose/ui/graphics/Color$Companion.class:
+ H4sIAAAAAAAAAJWWXVMcRRSG3579ZFiW5TNACBpcI2BgAWOiIUbDYpBkSZQQ
+ YkTFZnaEgdkZanoWkzvKKv0feu+FV6a8sCi883/4NyxP9ywMjl2roYrunvO+
+ Tx+mZ84Z/vjr198AXIPFcJV79cB36s8qlt848IVdaTqVnYAf7DqWqFR91w/K
+ VVK45/heDoyhtMcPecXl3k7l4faebYU5pBiytxzPCW8zpCYmNwrIIGsijRxD
+ Otx1BMNM7WUSLVCaHTtcdLm1Pz1bv7F1f++x2voew/h/b5RDF0MvtyxbiPLp
+ PmXroIBuFEwUUWLoo/gSD/aXA/48TjEQQ6ei4voirp+hm6R/Mj0xc+a/EPmH
+ GPopXHN2dhPQYAydqYq8GJGj0Qk82XVCO6bO3ZNSFPFKRLzKUKT4ml2P/aXY
+ T3Hlfi1yl6P9lwPb9rT7K0URb0TERHTvi27T1t67FJT/zch/lVQKP7Vd1/8m
+ JvpiIpIUU4mY2ShH9Tn3tDmkoPxvRf5r9CdTeJXv2F7IY6Q/Rlqaom5E1Dt0
+ /KSsB9wTBzwgOSaHYvKcruiFiL7FMDdR2/dD1/Eqe4eNiuOFduBxt7Jkf82b
+ blj1PREGTSv0g1V6h+xgYXLDhCGLoa9sxeJWQ6myNl5qNzqRU2DVDnmdh5xi
+ RuMwRUXN5JBhYPsUeubIKzpUoz7H2J/HR/2mMWSYRun4yDTyRnSRH86ffJ8a
+ Oj6aN2bZYi5vnPyYNUrG2mgpNWLMpn9/wY6PaGD0KyWT8NxIOp8pZcmSb2fp
+ UBaznaVTWQrtLF3KUmxn6VaWUjtLj7L0trP0KUt/O8uAsgy2s1xQlqF2lmFl
+ GWlnuagso+0sl0rZk2+NbvkAzUz+5IexWUbry/JhzzN6EZBRbY+h/D9aL71A
+ jHprWhYxTbLOGPKnLZAi0ZRRXYGh46xnMeRaFUb9mXoMQ+e5uiFC9Sn6PkTF
+ TuhZk6cEKvfMfihT+nWyddccz37QbGzbwTrfdinSW/Mt7m7wwJHXrWBhxfPs
+ oOpyIWz6uJiP/GZg2XcdqQ2vNb3QadgbjnDIfMfz/JCHlE9gjqowDflTpBV9
+ o+iUvqCrCs1M1s3UL8j/TAsDX9KYjYLYorHQWnfApLkHnSoi4RlySy39Aj0/
+ JdjsOTZ9xvbq2IEkm9Oygzp2OMnmteyIjr2UZDu07JiOvZxkTS07rmNfT7Kd
+ WvaKjp1MsgUtO6Vjp5Nsl5ad0bFzSbaoZed17NtJtlvLXtex7ybZkpa9qWPf
+ S7I9/2bp36EMbrfYaZqNVjG8L4uBKWAwCraSydUHuENaCl+pBy+hIjYxDK4S
+ fo5tmr+j+CJ5q5tIrWBpBR/SiLtyWF7BR1jZBBO4h/ubGBMwBWoCWYFVgQcC
+ nQIFgYcCHwtMCXwiMC+wJtAr8EhgUGBd4IrAY4ERgQ2B6wJPBMYFPhW4KfBU
+ yD0/E5j5G4ru30HxCgAA
+ """,
+ """
+ androidx/compose/ui/graphics/Color.class:
+ H4sIAAAAAAAAAI1X+1Mb1xX+7koCsSwgsIwBE2LH1BYYLCBumtqOjYHGkSxw
+ YmxcQtJ0ERuxsNqVd1fYbtOWpp2GJtPpdJq2k3Q6bdJH+rDbOE6AxjMd6vzW
+ 8Z/QP6VT99y7F0mGnToes+fcc7/zuOdxL/zrv5/+A8Bx/J3hCd1ecB1z4Xo6
+ 7xRLjmeky2a64OqlRTPvpccdy3HrwRgSS/qKnrZ0u5C+ML9k5P16REhaMPwZ
+ 3Sobg97gzPmp85cZIqm+LINatued64NmsWRpqEedCgVxhqi/aHoMvblHez3J
+ 0OQ7075r2gVhh2FvKtuXq8YR7BFu307ZWNm0FgwKvJmh7pRpm/5pEdiMhgRa
+ VbSgjUETblIrPPxn4kgSVC+VDHuBYTC1281uz9LLSQ3t2MeNdpDRZce3TDt9
+ OefYhXp0adDQpGI/undYDZL4CKs93OrjDN2p8f8PPMiBTzDEtzPGkEyF5EpD
+ L77AsYepFrpbGGJgWV4bCq9pUfcWx50FQ2Y7StnOaDiKAR7/IBnfBohcZrga
+ SRuNq2Xd8qRSeyobcsgXGWKOv2i4DG27tynxgQ1e4TBtDSN4krt7OohqRkWU
+ VzAmaqfhFPoaaPcZ6se8Y3u+W877jltzDGrI+HY7MhzhbfQ5GpA3ywnudpyy
+ tEK1rTkpJS6Wymb5yZTSMP+M0Nn0fN7wvF4aijFLzy/35ksEE6yG80GQOTpk
+ FTahu8vnXP2GQMa3VxouBODnGVqr4AowGoCmA9AlynoVlDMLi1VkQ2Wp4UoA
+ /+pDcV5ZNH0jiFOwGuYC2EuUzCrsorEgQBFiNLwSQL7+kKVzrmHYgSXBasgH
+ sIWHDjFGFQsOMSZqVwhAiwx7qqBZw7KcawJWF/AalgOg9ZC18Rt64DPKOQ1O
+ ACJBsgqa1AuG7esCVy8XGrwA6jN0VKGXXN32SrpLEAFvrBFouBaoXKdSncpb
+ 8loZeHQn9Y7Tjm6bjl2PbzIMp3LyllhaKaZN2zdcW7fSE8aretnyx6sdPEn9
+ QAMeXFvfUvEavk0lrRhjOPY52rjqnBp6Fd/lJ3g9Rtc/HtAP3cWPNnGeLvsf
+ UF3FQsMaRlW8gR8GRiYmJgJmbW0tYO7fvx8w9E8ygPT4YJvB9lZFUgU/4FOb
+ 6ctyV7/mrn7DcCjnuIX0kuHPu7ppe2ndth1f9+lYXnrK8afKlkUXSXttZrMr
+ xYxNC4M2Wrc3Jg1fX9B9nWRKcSXCU8A/MRrxZRJdN/mKpltZoKn+99Zqv6p0
+ KKqS2FpV6b/g43W0biQaJRonGiHazGn83hujHVurB9pHlCF2grWPtbXVJZQu
+ ZSjy2SbbWr33fl00Hk3Esl2JBhKqI/FEY1e0gw2x5z77eUTsaommbCLRTLst
+ JGNClki0kqyNZHsqsmRi78XuGtP0YfSj0KbKo+qKxusS9ffWmBJ4fl1poQA7
+ 1Vj83ns9Q4z4g/yMdGlRCzTnal8tykxcVPrYMg3H/otl2zeLRsZeMT1z3jLO
+ VhPPx048By05yvJUuThvuJd0wvBr3snr1ozumnwthU3TPl2Fk3pJrrWMbRvu
+ uKV7nkHG1Gmn7OaNZ02+1yn9zuzyimHq4ChVqRmdvKHpALdpVUf0faJt/Dkg
+ 2sVvXEEvSDot6RVJ5yR9RdK8pAVJlyV1JPUkvSZoJ1qpc7nXj2iVppgY76P+
+ dTTcIkbBHRkUKNiP6asFAKhoJNrAfzGQyicQITzQfRctsxvY07Z3HZ09m3hs
+ HQcSfes4tI4jH4phrdrpRkqEwfiLLu0clkHEeRCb6N+pE6/4pkdd6hwiHe47
+ Rv6O3dyhEKs4SWMo3MnwTp2qE3q0pc7zlAI+3PsH/gnlXcQiNwe2oJD+WM/B
+ t9/h6+hNkbNP6FsPpeE/aAmS1i6C2y/j4NxxfFFE8BS+JK0Py/Q18IiObuLL
+ 1ZAC9QYZEue4Okso/GmX6qdJnQ+92r+Bk/2Pf4LTt0PrF9hSK7ZU0Wh0IeMM
+ RqWtAzKbSs+tHWlRgrZMdOIsxiT6CFkW8d2FMtuzgYmdBWvAV4RSK/8VuqZg
+ Qad9jNM7vWx3VyeexTmpcIa88HHReg68/S7qox8gGqlmOwZFHa1NlobnZK41
+ ZIhTKORsxXu3wFBKPsJk4LwmTYScCkO+EIa8GIa8HIacCUPOhiFfDEO+HIb8
+ WhhSD0POhyGNMOSrYUgzDLkUhiyGIe0w5NUwpBuGLIchV8KQN3YhaZK/QXdc
+ gPxUjAiwchevzbINfOcOvpfE9zfx5h1MJvGWYF5I4keCuZzEjwUzm8RPBPNy
+ Ej8VjJ7EzwRjJPELwZhJvCOYYhK/FMzVJH4lmHJkE+/dwY3bldhGqCsbKcIk
+ TcRjFOFhmpE0Nf3TJD1Le1m6VKfpZXiJ/sYxaMhtOkEE62JcGf0CpdCL0YkN
+ 0f4fYpOoT9xvif6ORuH3c4hk8IcMPqAv/sg/f8rgz/jLHJiHm7g1h30eGj38
+ 1cMpD3/zcMbDqIeYhzp6HTw8JbaOexjx8KSHtFge9TDgoVfwmocmD6v/AwBZ
+ QjGCDwAA
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcolmZiXUpSfmVKhl5yfW5BfnKqX
+ m1iSWpSZmCPE4Zyfk19U7F3Cpc4li1OZXlp+vhBbSGpxCVihDIbC0ky99KLE
+ gozM5GIhdrCR3iVKDFoMAMec7K6RAAAA
+ """
+ )
+
+ val Composable: TestFile = compiledStub(
+ filename = "Composable.kt",
+ filepath = "androidx/compose/runtime",
+ source = """
+ package androidx.compose.runtime
+
+ @MustBeDocumented
+ @Retention(AnnotationRetention.BINARY)
+ @Target(
+ AnnotationTarget.FUNCTION,
+ AnnotationTarget.TYPE,
+ AnnotationTarget.TYPE_PARAMETER,
+ AnnotationTarget.PROPERTY
+ )
+ annotation class Composable
+ """,
+"""
+ androidx/compose/runtime/Composable.class:
+ H4sIAAAAAAAAAI1STW/TQBB96yRNCFASykfSUvqdFg64VNw4OWkqIuVLjotU
+ 5YC29qpy49hVvA7tLQck/hMHFHHkRyFmExEHyRLY0tvZmTc7O2/n569v3wG8
+ w2uGPe47o8B1bnU7GN4EodBHkS/dodBrsz2/9EQWjKFwzcdc97h/pXcur4Ut
+ s0gxbMVe7vuB5NINfN1YmFlkGPabg0B6rr9MaUWhrIrTwI6GwpfCec+wmUAz
+ haQwWRTPjLkXCYbDBF5ccTljpdpoG+YFw3pCisVHV0ISa5V7XvBZOHNHmHzf
+ uMAiL3d23q5ZjU6bIW1ddOt0klo+dQ3TaNWtukmUrtnp1k2LrrDTTJTqLwW2
+ kznLLVX+QekGnmvfKbVqTaPXU6omJiy62E2O1z2hrmXd3QglJPXzoXNKDc06
+ PO9Rs8U/KrWE5A6XnHjacJyiyWIK6OHZgFy3rtodk+W8ZShPJ7m8VtLyWmEj
+ 9+OrVppOTrRjVp1OFOGE4aD5HxNJpcDwMHa8GUiGfC+IRrY4cz2akrI5z/ro
+ hi4R4vcLK1QJacpfgfo0HM3wEK9o/YIs/UCO4vcE8riPB6pUH2mBVTxSUFBQ
+ VPAYa8R9Muc+xTM8V2YfKYESygqKCtaxgQxekL+BzQZeEmJLwXYDO9jtg4XY
+ w34fWoiDEJXfIrDY76EDAAA=
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3AJcbFUpJaXCLEFlxSmuQNpEOAPO8S
+ JQYtBgBDd0xtMAAAAA==
+ """
+ )
+
+ val Modifier: TestFile = compiledStub(
+ filename = "Modifier.kt",
+ filepath = "androidx/compose/ui",
+ source = """
+ package androidx.compose.ui
+
+ @Suppress("ModifierFactoryExtensionFunction")
+ interface Modifier {
+ infix fun then(other: Modifier): Modifier =
+ if (other === Modifier) this else CombinedModifier(this, other)
+
+ interface Element : Modifier
+
+ companion object : Modifier {
+ override infix fun then(other: Modifier): Modifier = other
+ }
+ }
+
+ class CombinedModifier(
+ private val outer: Modifier,
+ private val inner: Modifier
+ ) : Modifier
+ """,
+"""
+ androidx/compose/ui/CombinedModifier.class:
+ H4sIAAAAAAAAAKVTWU8TURT+7nRlKFJGyw6iVOmCDCAusQajGJMmBQ0QYoIv
+ t+0FbjudITPThkfiT/EX6AOR+GAIj/4o47ltKVpIeTBNz/Lds58zv37/+Alg
+ Bc8Zktwuu44sH5klp3boeMKsS3PNqRWlLcrrTlnuSeFGwBjiFd7gpsXtffN9
+ sSJKfgQBhsnr/C/9Qgzhl9KW/irDq1Shl3Gu92t6h2G24Lj7ZkX4RZdL2zO5
+ bTs+96VD8objb9QtK8cQcuq+cKPQGaarjm9J26w0aqa0CbW5ZeZt3yVvWfIi
+ iDEkSgeiVG27f+AurwkyZJhLFbo7zv2FbKkg+1RWDLcwqGMAcUotbVulNhgC
+ KfUUwR0dQSSolN7txaBjpA8aRmMwWtI4Q9A/kB7Dw2t9u7eUa9oLm2H1hkmn
+ ez8zpHu9J9+KPV63/Hzt0KIRzjB8+r/N3jSZadzXcQ+zarXUIO1mqNBe7Lrw
+ eZn7nGrWao0AXTVThM6OVQk6kkpbJKm8xLB9dhzTtVGt9Y8GRs+Ol7VF9iZh
+ hOPaOEnEA4qffwlr8eDmrZb28fxzUCH62TFBWhekYi8z9F/Uu1D1GSY267Yv
+ ayJvN6Qni5Z4fXmptKU1pywYBgu0vY16rSjcbU42DEbBKXFrh7tS6W0w2R2r
+ c6P/BNW3nLpbEu+k8hlr++xcyY4luqwg6LMkbqijI3mJhhQm3kfcUOfXhWnE
+ I4gSXyZNEFdjncga/acYmjduE818x3Ame4KxzPwJJr41nR43wwURQ5x+Q0iQ
+ Nk7SCuEzrRCYxBTQlFqlKEkVoOEJyQNau4ILOo275KiqeEEmmqoxkz1F8msn
+ YbgZpJVkuGXRSRLGgyu9qTQR1mn0aZMu4lkzBX16CGFuF4E8UnmkiSKjSDaP
+ eTzaBfOwAHMXIQ9THkY86B4MD9E/kXas0GMFAAA=
+ """,
+ """
+ androidx/compose/ui/Modifier$Element.class:
+ H4sIAAAAAAAAAI1QTU8CMRB9s6ssXyogKqjxRDy6QLx5Mn4km0BMNPHCqbDF
+ VHZbst0lHPldHgxnf5RxNtHEE6HJvL5586ad9uv74xPANc4IHaHDxKhw6U9M
+ PDdW+pnyhyZUUyWTzkMkY6lTD0SovYuF8COh3/yn8bucsOoSzjf1e9gl1Acz
+ k0ZK+0OZilCk4obgxAuXJ6Ac2EIzlpYqz7rMwh6huV4Vy07LyaM4ba1XfadL
+ ea1PuBxsMzRfc7HRyIbeNgd17uVUZFEaxPPIejgkVP8rBO/XSKj89V7NOKsG
+ WsvkLhLWSraVX0yWTOSjiiSh/ZzpVMXyVVk1juSt1iYVqTLaFviV2AGhgHy5
+ aDE2WGtyHKHNWMBxocQMzE9wynuP/fzbKI7gBigFKDOikkM1wB72RyCLA9RG
+ cCzqFo0fJIqRGAUCAAA=
+ """,
+ """
+ androidx/compose/ui/Modifier$Element$DefaultImpls.class:
+ H4sIAAAAAAAAAKVSS2/TQBD+Ni8nqUvTlBRKS3k0tHlATSVuOaECkiU3IIpy
+ gcvG2aab2LuVvYn6szhWHBBnfhRinBpoixQiYcmz8/hmZveb+f7jy1cAL/Cc
+ 4YCrQaTl4NzxdXimY+FMpHOkB/JEiqj+OhChUKb+SpzwSWDc8CyILTCGyohP
+ uRNwNXTe9kfCNxayDDlzKhTDoOEtUrUzF9Vpzg8z7Hg6GjojYfoRlyp2uFLa
+ cCM16V1tupMg6MzuJOMiigzbY20CqZzRNHSkMiJSPHBcZSJKlj69q8xQ80+F
+ P06z3/GIh4KADHsN7+aLO1c8x0mRYafZs2FjuYwl3GLIa6IjKqLCsDXvKRaq
+ DM25jF3n/zbDp/kU/x+1NvJYL6OGOwy7i42S2P3XuFa9lP8jYfiAG06+TDjN
+ 0iayROQZ2DhRaJEy5zLRaD/ri7S3sMNgXyWJwUpjDEu/4PtjsnKHeiAYVjyp
+ RHcS9kX0gfcD8lQ97fOgxyOZ2Klz8/1EGRkKV01lLMn18s+S0eVuRn9vzDWY
+ 7SolosOAx7Egs3ysJ5Ev3sikwUZaovdXeRwggxySj6FEIykgiwZZLvkzdNZa
+ 1dIFVtrVVZKtb1hrX+DuZwpk0CRZoDSbElukr18moIiNWcEaKrhH8XaKs+h8
+ Sv9yJjUuZRbPSFZn/ep4Qsl1rGG3UML+rM0eHDq3Cb1J2K2PyLq472KbJB64
+ eIhHLh7/BG04LjBuBAAA
+ """,
+ """
+ androidx/compose/ui/Modifier$DefaultImpls.class:
+ H4sIAAAAAAAAAKVSXU8TQRQ9swW2LUVKEbCCoFKlLcqi8a1GYzAmG9tqrGli
+ 9GW6HWDa3RmyO9vwi/TV+KLRxPjsjzLehRUQTX1wk71zz/04M/fj+4/PXwHc
+ w12GGlf9UMv+oePp4EBHwoml09J9uStFWHksdnnsGzc48CMbjKE44CPu+Fzt
+ Oc96A+EZGxmGCbMvFMObanMcW2O8tzbezbDe1OGeMxCmF3KpIocrpQ03UpPe
+ 1qYd+37j6C0yyiLLsDrUxpfKGYwCRyojQsV9x1UmpGTpUT15hgVvX3jDNPs5
+ D3kgKJBho9o8X2njjKWTkOw1at0CCpjJYxoXGCY1tSHMosiwMq4UGyWG3A45
+ uKLHM4xvW+UkslHARSzkMI9Fhsrfcii0J5Xon151iWHqvlTSPGB4+H/zoWIv
+ YzmPMlaouf+a1lwzbX9LGN7nhpPNCkYZWjyWiEkGNkwU2h/rUCbaNkPh7MYx
+ TP8i3BoaGu2O7guGmY7h3rDFD17ynk94tkklt+OgJ8LUUmpqj/tdHsoEp8bl
+ F7EyMhCuGslIkunR6f5QO897T5bht7CCq5QId3weRYJgvqPj0BNPZHJBOaXo
+ /kGPO7AwgeSjyWMSU8igRkiQ1aKzUi/lPmF2szSXyA9Yegu7/g6zX1B+Vd/8
+ iCvfMP8+6RXqJG1YS09tWoNNAlNEWSDTLdIXj8mQxerRZRUUSWO4ncbZdG7R
+ P2Ol4Fhm4JDME7KIdIMGvE3YQpXejSOCNYq5+hoZF9dcXCeJdZfYb7i4+RNB
+ PoFzTQQAAA==
+ """,
+ """
+ androidx/compose/ui/Modifier.class:
+ H4sIAAAAAAAAAIVSS2/TQBD+ZuPESRogoTzSB6XQUBJeLhVcKFSqQhFGbUAU
+ 9dLTNtmUbZ115d1EPeZX8D+AGwcUceRHIcZVoRSkYMvzzXwzOzOe2e8/vnwF
+ 8Aj3CbPSdJJYd46Cdtw7jK0K+jrYjDu6q1XigwjlfTmQQSTNXvB6d1+1nY8M
+ wXPvlSGs1jfGJVhpjHcTFjbiZC/YV243kdrYQBoTO+l0zHordq1+FHFU/mk7
+ 0ka7VUKm3tgmLI5LW2syJw3n8FEkFGu1sLX1bq3VXCeM7/f05EoJJZwrYALn
+ CYXfdAnllBWoECobB7HjtoJN5WRHOsmNit4gw6OlVGQJdMDUkU6tJdY6DwmP
+ R8NSUVRFUZRHw6LIe/ludTSc95bFEj0RXvZVpSymxdJouJwrZ46Vl98+eOnh
+ ZcLc/8YJQjbm1SQEfz1SPWUcoTb2l0/CfNwgNMZGPldd2Y9c2DuMrI8FQulP
+ hjDxK/LBAVededs3TvdUaAba6t1IrZ2ulnv62/tGJrKnnErOhHnNuKO4UGiM
+ SpqRtFYxW9yK+0lbvdAR+6ZOMm3/UyXHU4OXrgNT6d4Yb7OVY/QZBU81y5Y4
+ w9b58+nEyPNbYL3B+iRj+vifcOEzLn48NjK4w3Ka8Sbnmc+lF0ZwrSnUGG8x
+ 3k0rYRH3GJ9xikmueWkHmRCXQ1xhiaupqIYcO70DspjB7A5yFtcs5iyyFtct
+ yhbzPwFNAZX3twMAAA==
+ """,
+ """
+ androidx/compose/ui/Modifier$Companion.class:
+ H4sIAAAAAAAAAI1SXU8TQRQ9s1u6y1JkQYHyIX5QoYCyQHwwlpBgo7GmVCOE
+ xPA03Y4w7XbW7G4bHnnyJ/gD/AUSHzCaGMKjP8p4p1QUTMCHuTP3zDn33rl3
+ fvz8+h3AQ6wwzHBVi0JZ2/f8sPkujIXXkt5GWJNvpYhyRcK4kqGywBjcOm9z
+ L+Bq13tZrQs/sWAyTF4WwUIPQ3pVKpmsMZj5ue0MLNgOUuhlSCV7MmbIl/+v
+ iEJHIRTD2uWSwtzl1wzT5TDa9eoiqUZcqtjjSoUJTyhJ7FXCpNIKAmL1hJQu
+ suEyTDXCJJDKq7ebnlSJiBQPvJJKIlJLP7YwxDDs7wm/0ZW/4hFvCiIyzObL
+ FztX+AvZ1EF2C7o1NzDs4DpGKN9VL7BX/aDTVgeG7qWTy5Uqm1vrleLTDCaQ
+ 6SV4kmGw3C18QyS8xhNOUqPZNmn+TBsaD2sQtC+1t0Sn2jLDo+ODjGNkjdNl
+ m/bJezN7fLBiLLEnlm2cfEwbrvFi0DXHCVlJuym9Pz/5kNJ6+lW9ZzNj6Ptd
+ 9GIjoQEWw5pgGChLJSqtZlVEW7waEDJUDn0ebPNIar8LTrxuqUQ2RUm1ZSwJ
+ Wv8zJ4bcxduznp+jZUpKiagY8DgW5DqbYSvyxTOpE4x1Q2z/Ex7L1MAU6PeC
+ uVndUeqPSRh9X0LnyfNoZ7qH80dwDulgYIFsugP24T7ZzCmBPC1n6Mc1CqLF
+ q8Q2aLcXhga/YHTh0zl9mvhaP3LK6er1yUWW7h90eQO0L9KyWNexMXZW32hH
+ TKV8g/HmCOOfcfOwA5hUOuAQzaAoeZIsdbLP0aOBx4RPUc23dmCWcLuEO2Rx
+ V5vpEnK4twMWYwazO+iJkYmRjWHH6I/h/gJ6Cp4UWgQAAA==
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcklnpiXUpSfmVKhl5yfW5BfnKpX
+ mqmXlp8vxBeSWlzim5+SmZaZWuRdosSgxQAATlErVEMAAAA=
+ """
+ )
+
+ val Remember: TestFile = compiledStub(
+ filename = "Remember.kt",
+ filepath = "androidx/compose/runtime",
+ source = """
+ package androidx.compose.runtime
+
+ import androidx.compose.runtime.Composable
+
+ @Composable
+ inline fun <T> remember(calculation: () -> T): T = calculation()
+
+ @Composable
+ inline fun <T, V1> remember(
+ v1: V1,
+ calculation: () -> T
+ ): T = calculation()
+
+ @Composable
+ inline fun <T, V1, V2> remember(
+ v1: V1,
+ v2: V2,
+ calculation: () -> T
+ ): T = calculation()
+
+ @Composable
+ inline fun <T, V1, V2, V3> remember(
+ v1: V1,
+ v2: V2,
+ v3: V3,
+ calculation: () -> T
+ ): T = calculation()
+
+ @Composable
+ inline fun <V> remember(
+ vararg inputs: Any?,
+ calculation: () -> V
+ ): V = calculation()
+ """,
+"""
+ androidx/compose/runtime/RememberKt.class:
+ H4sIAAAAAAAAAK1WXVPbRhQ9K38J29jCfJSYJiFgyndkG5q2MZBSWhpPCekE
+ j9opT8JWqMCWMlrZk0emL33pH+hrf0Ef0z50GPrWH9XpXVlgg4UJTTzW3qvr
+ u+ecu3el9T///vkXgFV8xTCtWzXHNmuv1ardeGVzQ3Walms2DPWF0TAaB4bz
+ jRsDY1CO9Jau1nXrUH1+cGRUKRpikB0/i2F1bufYduumpR61GurLplV1Tdvi
+ 6rbv5UvzO1cxSgyba5XHvfGNm8DWFiuV0kZpnkaGmZ1rq9jy7vWDukF50zu2
+ c6geGe6Bo5uEpluW7ept5F3b3W3W65SVqOr1arPuxWXEGe51STEt13Asva6W
+ LdchDLPKY0gyjFZ/NKrHPsi3uqM3DFesyuxcb3FdkT0Bclia15JIIR3HIJTL
+ fAGlx5BhiJpWyz42GEbmApY1iRGMJjCMMYbBnJl7mev0iZUZJm9qFcN2kPD/
+ 0+AfAhusFQK7XtEKN7Fc6rzUKjBkgmi/77/w71IRf/uKtOK1ZVa04i1LLTIc
+ vV1V76fOX96xTm2lb/EVbeWWC7DC8PXc/nuqrrKmBcq7PT6p1DyVWsl7MF81
+ XS5jlmE4AIth6BzumeHqNd3VRW2NVoheyUwMEXpGj4UjUfy1Kbw8ebUCY+7p
+ yVhckkNxaVwim4xLyhBdpyfx05PsDNms9JRNheXTE4UVk4qUlTPhDIXyoadn
+ P8t/v2GnJ2e/RSUlnF25nEyGKZFiVIlSMNJvaiy7GTSVRkmRLwCiygBZuR9Q
+ PPv8eiAaQ0qiBy6qJMkm+sEOZtfbsKk2bKo4pqSzyYwss0x4nOWH8sqUZ7tA
+ UldBMmc/SbF4RD77tZhnYu3p0WMV8abxW9f9ppS0ghiKYqAdyjRGjUTi/Px8
+ eOwyhLfsGr2s0zumZew2RbgiziSBaNNxo+mOKe794MCeeWjpbtMhf+JF+yQr
+ Wy2Tm/TzZufQYshd/fXi6LmUFt+zm07V2DYF+h1/jtaDhwIkhCE+EdyhK0p3
+ 63S3RXGJbHohk3iDodDawh/4gOF3sUmxQWOUKpYRwxPyxygm/HGCYGIS4siS
+ /dzLjmHzIh/4gq4YrRkGyBGMEz7jM0oVOz+92GZcXwxkHPQYJyn1nNGTibu4
+ 55XR5mY+94c93AMivcN+32f/zl+H9FKbfWMpkH3EY1+g1HP20BX2B+R11kDy
+ dUz26EiEvAkdJVO+kgNKj5BVlttKHoWXA6QMUGlPvL90EfLbUoR+5UKKciFF
+ QY48yfOEqJAvarpH1GB7K3TLmvFl7fntGV3IzJGsfk1KUS3nTUp1NWkUs5j3
+ 4EcvNemjXh2Sr6A9SrQdxbiGL8nWKLpAyhb3ESpjqYxlGvGwDBX5Mm3o4j4Y
+ xwpW9zHMEeH4mCPO8YgjyvEJx12OCY5POR5w3Of4jCPHMcXxmGOWo+R9Z/4D
+ oSNh5zILAAA=
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcYlkZiXUpSfmVKhl5yfW5BfnKpX
+ VJpXkpmbKsQVlJqbmpuUWuRdwqXFJYNLnV5afr4Ql1t+fnBJYkmqd4kSgxYD
+ AK/uqdJsAAAA
+ """
+ )
+
+ val MutableState: TestFile = compiledStub(
+ filename = "MutableState.kt",
+ filepath = "androidx/compose/runtime",
+ source = """
+ package androidx.compose.runtime
+
+ fun <T> mutableStateOf(value: T) = MutableState<T>()
+
+ class MutableState<T>
+
+ fun <T> mutableStateListOf() = SnapshotStateList<T>()
+ class SnapshotStateList<T>
+
+ fun <K, V> mutableStateMapOf() = SnapshotStateMap<K, V>()
+ class SnapshotStateMap<K, V>
+ """,
+"""
+ androidx/compose/runtime/MutableState.class:
+ H4sIAAAAAAAAAI1QTUsbQRh+ZjbZ6Jrq+tXG2tpT8ePgqghCK0JbKATWFpqQ
+ S06T7KBjkhnZmRWP+1v8B54ED7L06I8qfSd6KO2lc3je93nm4f16/HX/AOAQ
+ 7xjeC53lRmXXydBMLo2VSV5opyYyOS2cGIxlxwknG2AMW8fdD+mFuBLJWOiz
+ 5PvgQg7dx5N/JYb4b62BGkN4rLRyJwzB1naviRCNCHXMMNTcubIMm+l/DUP1
+ F9ORcWOlk1PpRCacII1PrgLainmoM7ARSdfKsz3Ksn1aoCqbEW/xqCojHhNU
+ Zasqd2ozVRmzA77HP9d/3oQ8Drz/gEp0GdXDwp/Nd0eO5v1iMkkfqdLyWzEZ
+ yLzrDQxLqRmKcU/kyvNncbajzrRwRU551DFFPpRflf9Y+/G0XU9ZRc5PWhtq
+ oYy22Aen0/hHY/hLEa4RS6acFty5w+wtJRyvCcOpGGKdsPlkQIQ5igHeTF0B
+ 3k5jCxsUj8jTJM+LPoI25ttYIETsYbGNJSz3wSxWsNpHzWLO4qXFK4vGb2l1
+ Fhc6AgAA
+ """,
+ """
+ androidx/compose/runtime/MutableStateKt.class:
+ H4sIAAAAAAAAAKVUXU8TQRQ9s223ZUG6VBFaFBBEWr624MeDbUiMidq0hcQ2
+ TQwPZtquuNDukp1pwyO/xV/gm4kmhvjojzLeaResVE2Jm+y9d+6cc+7e2b37
+ /cfnrwAe4QnDKnebvuc0T62G1z7xhG35HVc6bdsqdySvt+yK5NIuyigYg3nE
+ u9xqcffQ2q8f2Q3Khhgm2wPI/XcMuXTpKjCXKY1UKMfwMl99OszfTVero4rk
+ CbpLSsslzz+0jmxZ97njCou7rkf7jkfxnif3Oq0WoVZG0oxijEHPO64jdxlC
+ 6UxtAuOYMGDgBkOky1sdmyEx/OCUHDyfkiOkOqOt9D+aqbj8RLz35CWDVAp/
+ OZbryFwczNrolChuGZhWPU4NtlHmJ6qLzZHLE4EKv80X/9BE7b8aI+V8tZir
+ 1nqtZUYmRZEyMNfrrHTsyZbjWmVb8iaXnHS0djdEM8KUiTCwYxVolD91VJSl
+ qLnNcHp+ljLOzwxtVjO0mBb40MU6lTAJEEuEE9orLcuWwrHzM1NLzZuh1GQv
+ GelZPRvub0XIMVNPLZjRS1YsYO3o5liKEt8+6JppqPo7DBvX+4hYlWH9Wm+M
+ Femu0X9i5PmND663jiVD+LnXpOGIlxzX3uu067ZfVQA1Ll6Dt2rcd9Q6SI5V
+ nEOXy45P8dzrfo2C23WEQ9vPfo0wg1HxOn7DfuEoWjKA1oaA2IaGMNQVQhIR
+ 6OQtWu1QnpGPfYHx5hMmP6pXjCxZvZcPExOY6GMQh9njKEwUDwNUjHwSU0gE
+ mou0i77mNGneVppsQDMWKNy8ojCD2WGFOVK4c1VhPFBI/qag0e9c2S08Jl+i
+ 7F3qdP4AoQIWClgki3sFLGG5gPtYOQATeIDVA4wLTAmkBTICMwJrAusCGwIR
+ gU2BuID+E+SdSmEvBgAA
+ """,
+ """
+ androidx/compose/runtime/SnapshotStateList.class:
+ H4sIAAAAAAAAAI1QTUsbQRh+ZjYfZo111bbGautVg7gqhUIrQhUKgbUFE3LJ
+ aZIddEwyIzuz4nF/i/+gp0IPZemxP6r0ndWTvTiH532fZx7erz9/f/4C8B7b
+ DF2h08yo9C6emPmNsTLOcu3UXMZ9LW7slXF9J5xMlHVNMIad48HH5Frcingm
+ 9GX8bXwtJ+7Tyf8SQ/RUa6LG0DhWWrkThmBnd9hGA80QdSww1NyVsgx7yfMn
+ oiYrydS4mdLxuXQiFU6Qxue3Ae3HPNQZ2JSkO+XZAWXpIW1RFu2Qd3hYFiGP
+ CMqiUxbd2kJZROyIH/DT+u/7Bo8C7z+iEgNG9bB8njsxnslqgP2po6HPTCrp
+ I1Fafs3nY5kNvIFhNTETMRuKTHn+KLb66lILl2eUh32TZxP5RfmPjYuHFYfK
+ KnJ+1tpQC2W0xSE43cc/GsOfi3CDWFxxWrD7A63vlHC8IWxUYgubhO0HA0Is
+ UgywVbkCvK1iB+8ofiBPmzxLIwQ9vOhhmRCRh5UeVrE2ArN4iVcj1CwWLV5b
+ rFs0/wH+GL11RAIAAA==
+ """,
+ """
+ androidx/compose/runtime/SnapshotStateMap.class:
+ H4sIAAAAAAAAAI1QTW8TMRB99uar29BuWz5SvsqRFoltK04lqgRISFE3IBG0
+ l5ycrNW6Sexo7a163N/Sf8AJqYdqxZEfVXW8cAIOWJo3M2+exzP+eXt9A+AN
+ XjDsCp3lRmWX8dQslsbKOC+0UwsZj7RY2jPjRk44ORTLNhhDv39ylJyLCxHP
+ hT6NP0/O5dS9Tf/BHf9NMUR/cm00GFp9pZU7Zghe7qZdtNAO0USHoeHOlGV4
+ lfz3kPTGRjIzbq50PJROZMIJ4vjiIqCNmYcmA5sRdal8tk9RdsAQV+VayHs8
+ 5B2yqCrDquxV5V6jU5URI8cifsj3g/fNH1ctHjX8tUPqdEKWMmqN9WHhxGQu
+ 61FezxyN/8FkkgqJ0vJTsZjI/KsXMGwmZirmqciVz3+TKyN1qoUrcorDkSny
+ qfyofGH7y69lU2UVKd9pbegJZbTFATj9lD80hv84wseUxXVOu+59x8o3Cjie
+ ELZqsounNdYChFglH+BZrQrwvPbb2CF/RJouae6NEQywNsA6ISIPGwNsYmsM
+ ZnEfD8ZoWqxaPLR4ZNGzaN8Bn285EWQCAAA=
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3AZcYlkZiXUpSfmVKhl5yfW5BfnKpX
+ VJpXkpmbKsTnW1qSmJSTGlySWJLqXSLEFZSam5qblFrkXcKlzCWDS59eWn6+
+ EHO8d4kSgxYDAFRZLFp1AAAA
+ """
+ )
+}
+
+/**
+ * Utility for creating a [kotlin] and corresponding [compiled] stub, to try and make it easier to
+ * configure everything correctly.
+ *
+ * @param filename name of the Kotlin source file, with extension - e.g. "Test.kt". These should
+ * be unique across a test.
+ * @param filepath directory structure matching the package name of the Kotlin source file. E.g.
+ * if the source has `package foo.bar`, this should be `foo/bar`. If this does _not_ match, lint
+ * will not be able to match the generated classes with the source file, and so won't print them
+ * to console.
+ * @param source Kotlin source for the bytecode
+ * @param bytecode generated bytecode that will be used in tests. Leave empty to generate the
+ * bytecode for [source].
+ *
+ * @return a pair of kotlin test file, to compiled test file
+ */
+fun kotlinAndCompiledStub(
+ filename: String,
+ filepath: String,
+ @Language("kotlin") source: String,
+ vararg bytecode: String
+): KotlinAndCompiledStub {
+ val filenameWithoutExtension = filename.substringBefore(".").lowercase(Locale.ROOT)
+ val kotlin = kotlin(source).to("$filepath/$filename")
+ val compiled = compiled(
+ "libs/$filenameWithoutExtension.jar",
+ kotlin,
+ // Hacky hack - duplicate kotlin_module files will cause errors, so instead let's just
+ // rename them and hope that nothing breaks (!?)
+ *bytecode.map {
+ it.replace(
+ "main.kotlin_module",
+ "$filenameWithoutExtension.kotlin_module"
+ )
+ }.toTypedArray()
+ )
+ return KotlinAndCompiledStub(kotlin, compiled)
+}
+
+class KotlinAndCompiledStub(
+ val kotlin: TestFile,
+ val compiled: TestFile
+)
+
+/**
+ * Utility for creating a [compiled] stub, to try and make it easier to configure everything
+ * correctly.
+ *
+ * @param filename name of the Kotlin source file, with extension - e.g. "Test.kt". These should
+ * be unique across a test.
+ * @param filepath directory structure matching the package name of the Kotlin source file. E.g.
+ * if the source has `package foo.bar`, this should be `foo/bar`. If this does _not_ match, lint
+ * will not be able to match the generated classes with the source file, and so won't print them
+ * to console.
+ * @param source Kotlin source for the bytecode
+ * @param bytecode generated bytecode that will be used in tests. Leave empty to generate the
+ * bytecode for [source].
+ */
+fun compiledStub(
+ filename: String,
+ filepath: String,
+ @Language("kotlin") source: String,
+ vararg bytecode: String
+): TestFile = kotlinAndCompiledStub(filename, filepath, source, *bytecode).compiled
diff --git a/compose/lint/common/build.gradle b/compose/lint/common/build.gradle
index b039cc5..446ff4c 100644
--- a/compose/lint/common/build.gradle
+++ b/compose/lint/common/build.gradle
@@ -22,7 +22,7 @@
}
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly(libs.androidLintMinComposeApi)
compileOnly(libs.kotlinStdlib)
api(libs.kotlinMetadataJvm)
diff --git a/compose/lint/common/src/main/java/androidx/compose/lint/Stubs.kt b/compose/lint/common/src/main/java/androidx/compose/lint/Stubs.kt
deleted file mode 100644
index 578cf67..0000000
--- a/compose/lint/common/src/main/java/androidx/compose/lint/Stubs.kt
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.compose.lint
-
-import org.intellij.lang.annotations.Language
-
-/**
- * Common Compose-related lint stubs used for testing
- */
-object Stubs {
- val Color = stub(
- """
- package androidx.compose.ui.graphics
-
- inline class Color(val value: ULong) {
- companion object {
- val Black = Color(0xFF000000)
- val DarkGray = Color(0xFF444444)
- val Gray = Color(0xFF888888)
- val LightGray = Color(0xFFCCCCCC)
- val White = Color(0xFFFFFFFF)
- val Red = Color(0xFFFF0000)
- val Green = Color(0xFF00FF00)
- val Blue = Color(0xFF0000FF)
- val Yellow = Color(0xFFFFFF00)
- val Cyan = Color(0xFF00FFFF)
- val Magenta = Color(0xFFFF00FF)
- val Transparent = Color(0x00000000)
- }
- }
-
- fun Color(color: Long): Color {
- return Color(value = (color.toULong() and 0xffffffffUL) shl 32)
- }
-
- fun Color(color: Int): Color {
- return Color(value = color.toULong() shl 32)
- }
-
- fun Color(
- red: Float,
- green: Float,
- blue: Float,
- alpha: Float = 1f,
- ): Color = Color.Black
-
- fun Color(
- red: Int,
- green: Int,
- blue: Int,
- alpha: Int = 0xFF
- ): Color = Color.Black
- """
- )
-
- val Composable = stub(
- """
- package androidx.compose.runtime
-
- @MustBeDocumented
- @Retention(AnnotationRetention.BINARY)
- @Target(
- AnnotationTarget.FUNCTION,
- AnnotationTarget.TYPE,
- AnnotationTarget.TYPE_PARAMETER,
- AnnotationTarget.PROPERTY
- )
- annotation class Composable
- """
- )
-
- val Modifier = stub(
- """
- package androidx.compose.ui
-
- @Suppress("ModifierFactoryExtensionFunction")
- interface Modifier {
- infix fun then(other: Modifier): Modifier =
- if (other === Modifier) this else CombinedModifier(this, other)
-
- interface Element : Modifier
-
- companion object : Modifier {
- override infix fun then(other: Modifier): Modifier = other
- }
- }
-
- class CombinedModifier(
- private val outer: Modifier,
- private val inner: Modifier
- ) : Modifier
- """
- )
-
- val Remember = stub(
- """
- package androidx.compose.runtime
-
- import androidx.compose.runtime.Composable
-
- @Composable
- inline fun <T> remember(calculation: () -> T): T = calculation()
-
- @Composable
- inline fun <T, V1> remember(
- v1: V1,
- calculation: () -> T
- ): T = calculation()
-
- @Composable
- inline fun <T, V1, V2> remember(
- v1: V1,
- v2: V2,
- calculation: () -> T
- ): T = calculation()
-
- @Composable
- inline fun <T, V1, V2, V3> remember(
- v1: V1,
- v2: V2,
- v3: V3,
- calculation: () -> T
- ): T = calculation()
-
- @Composable
- inline fun <V> remember(
- vararg inputs: Any?,
- calculation: () -> V
- ): V = calculation()
- """
- )
-
- val MutableState = stub(
- """
- package androidx.compose.runtime
-
- fun <T> mutableStateOf(value: T) = MutableState<T>()
-
- class MutableState<T>
-
- fun <T> mutableStateListOf() = SnapshotStateList<T>()
- class SnapshotStateList<T>
-
- fun <K, V> mutableStateMapOf() = SnapshotStateMap<K, V>()
- class SnapshotStateMap<K, V>
- """
- )
-}
-
-// @Language isn't available as a type annotation, so we need a parameter
-private fun stub(@Language("kotlin") code: String) = code
\ No newline at end of file
diff --git a/compose/lint/internal-lint-checks/build.gradle b/compose/lint/internal-lint-checks/build.gradle
index 961e2ff..412cfb9 100644
--- a/compose/lint/internal-lint-checks/build.gradle
+++ b/compose/lint/internal-lint-checks/build.gradle
@@ -28,6 +28,7 @@
api(project(":lint-checks"))
implementation(project(":compose:lint:common"))
+ testImplementation(project(":compose:lint:common-test"))
testImplementation(libs.kotlinStdlib)
testImplementation(libs.androidLint)
testImplementation(libs.androidLintTests)
diff --git a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ComposeIssueRegistry.kt b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ComposeIssueRegistry.kt
index b6143de..cf49d1c 100644
--- a/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ComposeIssueRegistry.kt
+++ b/compose/lint/internal-lint-checks/src/main/java/androidx/compose/lint/ComposeIssueRegistry.kt
@@ -20,6 +20,7 @@
import androidx.build.lint.AndroidXIssueRegistry
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
import com.android.tools.lint.detector.api.Issue
@@ -33,4 +34,9 @@
UnnecessaryLambdaCreationDetector.ISSUE,
) + AndroidXIssueRegistry.Issues
}
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "compose:lint:internal-lint-checks",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/ModifierInspectorInfoDetectorTest.kt b/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/ModifierInspectorInfoDetectorTest.kt
index 23e2a69..95b8a38 100644
--- a/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/ModifierInspectorInfoDetectorTest.kt
+++ b/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/ModifierInspectorInfoDetectorTest.kt
@@ -18,6 +18,7 @@
package androidx.compose.lint
+import androidx.compose.lint.test.Stubs
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -120,7 +121,7 @@
@Test
fun existingInspectorInfo() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -155,7 +156,7 @@
@Test
fun existingInspectorInfoWithStatementsBeforeDefinition() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -205,7 +206,7 @@
@Test
fun existingInspectorInfoWithValue() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -239,7 +240,7 @@
@Test
fun existingInspectorInfoViaSynonym() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -283,7 +284,7 @@
@Test
fun existingInspectorInfoWithAnonymousClass() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -307,7 +308,7 @@
@Test
fun existingInspectorInfoWithDataClassMemberValues() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -375,7 +376,7 @@
@Test
fun existingInspectorInfoWithConditional() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -425,7 +426,7 @@
@Test
fun existingInspectorInfoWithWhen() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -466,7 +467,7 @@
@Test
fun existingInspectorInfoWithConditionals() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -525,7 +526,7 @@
@Test
fun composedModifierWithInspectorInfo() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -566,9 +567,9 @@
@Test
fun rememberModifierInfo() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
- kotlin(Stubs.Remember),
+ Stubs.Remember,
inspectableInfoStub,
kotlin(
"""
@@ -604,7 +605,7 @@
@Test
fun emptyModifier() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
kotlin(
"""
@@ -624,7 +625,7 @@
@Test
fun acceptMissingInspectorInfoInSamples() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -652,7 +653,7 @@
@Test
fun missingInspectorInfo() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -687,7 +688,7 @@
@Test
fun composedModifierWithMissingInspectorInfo() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -722,7 +723,7 @@
@Test
fun missingInspectorInfoFromInnerClassImplementation() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -762,7 +763,7 @@
@Test
fun inspectorInfoWithWrongName() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -803,7 +804,7 @@
@Test
fun inspectorInfoWithWrongValue() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -844,7 +845,7 @@
@Test
fun inspectorInfoWithWrongValueWhenMultipleAreAvailable() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -885,7 +886,7 @@
@Test
fun inspectorInfoWithWrongParameterNameInProperties() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -927,7 +928,7 @@
@Test
fun inspectorInfoWithMismatchInProperties() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -968,7 +969,7 @@
@Test
fun inspectorInfoWithMissingDebugSelector() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -1010,7 +1011,7 @@
@Test
fun inspectorInfoWithMissingName() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -1050,7 +1051,7 @@
@Test
fun inspectorInfoWithMissingVariables() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -1097,7 +1098,7 @@
@Test
fun inspectorInfoWithMissingDataClassMemberValues() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
@@ -1143,7 +1144,7 @@
@Test
fun missingInfoInConditionals() {
lint().files(
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
composedStub,
inspectableInfoStub,
kotlin(
diff --git a/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/UnnecessaryLambdaCreationDetectorTest.kt b/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/UnnecessaryLambdaCreationDetectorTest.kt
index bbe37b1..80bc35f 100644
--- a/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/UnnecessaryLambdaCreationDetectorTest.kt
+++ b/compose/lint/internal-lint-checks/src/test/java/androidx/compose/lint/UnnecessaryLambdaCreationDetectorTest.kt
@@ -18,44 +18,95 @@
package androidx.compose.lint
-import com.android.tools.lint.checks.infrastructure.TestFiles.kt
+import androidx.compose.lint.test.Stubs
+import androidx.compose.lint.test.kotlinAndCompiledStub
import com.android.tools.lint.checks.infrastructure.TestLintResult
-import com.android.tools.lint.checks.infrastructure.TestLintTask
import org.junit.Test
import org.junit.runner.RunWith
-import org.junit.runners.JUnit4
-import androidx.compose.lint.UnnecessaryLambdaCreationDetector.Companion.ISSUE
-import com.android.tools.lint.checks.infrastructure.TestFiles.kotlin
+import com.android.tools.lint.checks.infrastructure.LintDetectorTest
+import com.android.tools.lint.checks.infrastructure.TestFile
+import com.android.tools.lint.detector.api.Detector
+import com.android.tools.lint.detector.api.Issue
import org.intellij.lang.annotations.Language
+import org.junit.runners.Parameterized
/* ktlint-disable max-line-length */
-@RunWith(JUnit4::class)
-class UnnecessaryLambdaCreationDetectorTest {
+@RunWith(Parameterized::class)
+class UnnecessaryLambdaCreationDetectorTest(
+ @Suppress("unused")
+ private val parameterizedDebugString: String,
+ private val stub: TestFile
+) : LintDetectorTest() {
+ companion object {
+ private val stub = kotlinAndCompiledStub(
+ filename = "Stub.kt",
+ filepath = "test",
+ source = """
+ package test
- private val stub = kt(
- """
- package test
+ import androidx.compose.runtime.Composable
- import androidx.compose.runtime.Composable
+ fun function() {}
- val lambda = @Composable { }
- val anonymousFunction = @Composable fun() {}
- val lambdaWithReceiver = @Composable { number: Int -> }
- val anonymousFunctionWithReceiver = @Composable fun(number: Int) {}
- fun function() {}
+ @Composable
+ fun ComposableFunction(content: @Composable () -> Unit) {
+ content()
+ }
- @Composable
- fun ComposableFunction(content: @Composable () -> Unit) {
- content()
- }
- """
- ).to("test/stub.kt")
+ @Composable
+ inline fun InlineComposableFunction(content: @Composable () -> Unit) {
+ content()
+ }
+
+ @Composable
+ inline fun <reified T> ReifiedComposableFunction(content: @Composable () -> Unit) {
+ content()
+ }
+ """,
+ """
+ test/StubKt.class:
+ H4sIAAAAAAAAAJVUW08TQRT+ZnvZpRRYKigtCohVCl621NsDxMSYEBsrGqr4
+ wNN0u+DQdtbsThsfiS/+Bp9M/Ae+oQ+G4Js/ynhmS7kjuknPmT3n+8535uxM
+ f/3+/gPAPTxk6FdeqJyqateeKROMwd7kHe40udxwXtQ2PZeiMQZrvS1dJXzJ
+ ECvMrjJknvitd37Ia01vaT91rVBp+KoppLPZaTk9Suj0EMUFTS2dh1rs5V9L
+ oRYeRaTrFS7rgS/q7x03UvacoC2VaHnOQScL1ELFDzacTU/VAi6oKJfSV7wr
+ sOyr5XazSSjT9aXypLKQZpg41I2gcCB50ylLFRBfuKGJQYZR963nNvYKvOQB
+ b3kEZJgpVI7Pa+FQpKqLbNAG0rAxnMIQMkf1Ttm9iRGGpJAdv+ExjBRmTyqk
+ cRGX+jGKMYap80bOMFaWBPBO+2JX8iK/nj87z8oM2RVPrAuvflp+IuL/BTDc
+ a++5p3idK079GK1OjM4f0yZBGg29MCj+XuhVkVb1eYbPO1sjqZ2tlGEbkRsz
+ uj8rnhu3d7ZyRpGVhm0jN5CJZ2hdjO1+SVLyqZmbtBNnZnc/Wj+3GdFn7KQG
+ TSetnS3bHDsHnbQtjd79YJiphLX7qVRkus0So30g09vk4amzV3TO9MW601AM
+ 8Sd+nT7nUIUGvdxu1bzglR6U5voub67yQOj3vWBfVWxIrtoBrcdXuue8LDsi
+ FJR+fHCkGfLHs/uH8wgsVfXbgestCV09u8dZPVEP8zAQh37iyCKBJO3Oobcs
+ ug/7qg2KZHVK2yxMWATXsEWi6+jgXGZgGxfmviHL8EZzjIiTIp8kO4B+kgLS
+ XTT5HPlShOvD3b3qqehPCjBpmETQXYzvSz0lqEHe7krFFk8Vs+jKDdHd02IX
+ o3cLl3ElkrX/UdbOYoJoxn/JjpDs6BHZyWOyh+UM3I/sHTwgv0TRKRr+1TXE
+ ypgu4xpZ5Mu4jhtlzKCwBhZiFnNr6AthhrgZIh3iVohUiPEQEyFuh0j8ATwh
+ ftTnBQAA
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3AJcbFUpJaXCLEFlxSmuQNpEOAPO8S
+ JQYtBgBDd0xtMAAAAA==
+ """
+ )
+
+ @JvmStatic
+ @Parameterized.Parameters(name = "{0}")
+ fun params(): Array<Any> = arrayOf(
+ arrayOf("Source stubs", stub.kotlin),
+ arrayOf("Compiled stubs", stub.compiled)
+ )
+ }
+
+ override fun getDetector(): Detector = UnnecessaryLambdaCreationDetector()
+
+ override fun getIssues(): MutableList<Issue> =
+ mutableListOf(UnnecessaryLambdaCreationDetector.ISSUE)
private fun check(@Language("kotlin") code: String): TestLintResult {
- return TestLintTask.lint()
- .files(kt(code.trimIndent()), stub, kotlin(Stubs.Composable))
- .allowMissingSdk(true)
- .issues(ISSUE)
+ return lint()
+ .files(kotlin(code.trimIndent()), stub, Stubs.Composable)
.run()
}
@@ -67,12 +118,25 @@
import androidx.compose.runtime.Composable
+ val lambda = @Composable { }
+ val anonymousFunction = @Composable fun() {}
+ val lambdaWithReceiver = @Composable { number: Int -> }
+ val anonymousFunctionWithReceiver = @Composable fun(number: Int) {}
+
@Composable
fun Test() {
ComposableFunction {
lambda()
}
+ InlineComposableFunction {
+ lambda()
+ }
+
+ ReifiedComposableFunction<Any> {
+ lambda()
+ }
+
ComposableFunction {
anonymousFunction()
}
@@ -92,13 +156,19 @@
"""
).expect(
"""
-src/test/test.kt:8: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
+src/test/test.kt:13: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
lambda()
~~~~~~
-src/test/test.kt:12: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
+src/test/test.kt:17: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
+ lambda()
+ ~~~~~~
+src/test/test.kt:21: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
+ lambda()
+ ~~~~~~
+src/test/test.kt:25: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
anonymousFunction()
~~~~~~~~~~~~~~~~~
-2 errors, 0 warnings
+4 errors, 0 warnings
"""
)
}
@@ -111,6 +181,8 @@
import androidx.compose.runtime.Composable
+ val lambda = @Composable { }
+
@Composable
fun MultipleChildComposableFunction(
firstChild: @Composable () -> Unit,
@@ -126,10 +198,10 @@
"""
).expect(
"""
-src/test/test.kt:13: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
+src/test/test.kt:15: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
MultipleChildComposableFunction( { lambda() }) {
~~~~~~
-src/test/test.kt:14: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
+src/test/test.kt:16: Error: Creating an unnecessary lambda to emit a captured lambda [UnnecessaryLambdaCreation]
lambda()
~~~~~~
2 errors, 0 warnings
@@ -145,6 +217,8 @@
import androidx.compose.runtime.Composable
+ val lambda = @Composable { }
+
@Composable
fun Test() {
ComposableFunction {
@@ -164,6 +238,8 @@
import androidx.compose.runtime.Composable
+ val lambda = @Composable { }
+
val property: @Composable () -> Unit = {
lambda()
}
@@ -179,6 +255,8 @@
import androidx.compose.runtime.Composable
+ val lambda = @Composable { }
+
@Composable
fun ComposableFunctionWithParams(
child: @Composable (child: @Composable () -> Unit) -> Unit
@@ -266,6 +344,7 @@
fun uncomposableLambdaFunction(child: () -> Unit) {}
+ val lambda = @Composable { }
val uncomposableLambda = {}
@Composable
diff --git a/compose/material/material-icons-core/api/1.0.0-beta10.txt b/compose/material/material-icons-core/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..79e6709
--- /dev/null
+++ b/compose/material/material-icons-core/api/1.0.0-beta10.txt
@@ -0,0 +1,1036 @@
+// Signature format: 4.0
+package androidx.compose.material.icons {
+
+ public final class Icons {
+ method public androidx.compose.material.icons.Icons.Filled getDefault();
+ property public final androidx.compose.material.icons.Icons.Filled Default;
+ field public static final androidx.compose.material.icons.Icons INSTANCE;
+ }
+
+ public static final class Icons.Filled {
+ field public static final androidx.compose.material.icons.Icons.Filled INSTANCE;
+ }
+
+ public static final class Icons.Outlined {
+ field public static final androidx.compose.material.icons.Icons.Outlined INSTANCE;
+ }
+
+ public static final class Icons.Rounded {
+ field public static final androidx.compose.material.icons.Icons.Rounded INSTANCE;
+ }
+
+ public static final class Icons.Sharp {
+ field public static final androidx.compose.material.icons.Icons.Sharp INSTANCE;
+ }
+
+ public static final class Icons.TwoTone {
+ field public static final androidx.compose.material.icons.Icons.TwoTone INSTANCE;
+ }
+
+ public final class IconsKt {
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder materialPath-E-tN-BY(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional float fillAlpha, optional float strokeAlpha, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+ }
+
+}
+
+package androidx.compose.material.icons.filled {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Filled);
+ }
+
+}
+
+package androidx.compose.material.icons.outlined {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+}
+
+package androidx.compose.material.icons.rounded {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+}
+
+package androidx.compose.material.icons.sharp {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+}
+
+package androidx.compose.material.icons.twotone {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+}
+
diff --git a/compose/material/material-icons-core/api/public_plus_experimental_1.0.0-beta10.txt b/compose/material/material-icons-core/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..79e6709
--- /dev/null
+++ b/compose/material/material-icons-core/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,1036 @@
+// Signature format: 4.0
+package androidx.compose.material.icons {
+
+ public final class Icons {
+ method public androidx.compose.material.icons.Icons.Filled getDefault();
+ property public final androidx.compose.material.icons.Icons.Filled Default;
+ field public static final androidx.compose.material.icons.Icons INSTANCE;
+ }
+
+ public static final class Icons.Filled {
+ field public static final androidx.compose.material.icons.Icons.Filled INSTANCE;
+ }
+
+ public static final class Icons.Outlined {
+ field public static final androidx.compose.material.icons.Icons.Outlined INSTANCE;
+ }
+
+ public static final class Icons.Rounded {
+ field public static final androidx.compose.material.icons.Icons.Rounded INSTANCE;
+ }
+
+ public static final class Icons.Sharp {
+ field public static final androidx.compose.material.icons.Icons.Sharp INSTANCE;
+ }
+
+ public static final class Icons.TwoTone {
+ field public static final androidx.compose.material.icons.Icons.TwoTone INSTANCE;
+ }
+
+ public final class IconsKt {
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder materialPath-E-tN-BY(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional float fillAlpha, optional float strokeAlpha, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+ }
+
+}
+
+package androidx.compose.material.icons.filled {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Filled);
+ }
+
+}
+
+package androidx.compose.material.icons.outlined {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+}
+
+package androidx.compose.material.icons.rounded {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+}
+
+package androidx.compose.material.icons.sharp {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+}
+
+package androidx.compose.material.icons.twotone {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+}
+
diff --git a/compose/material/material-icons-core/api/res-1.0.0-beta10.txt b/compose/material/material-icons-core/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/material/material-icons-core/api/res-1.0.0-beta10.txt
diff --git a/compose/material/material-icons-core/api/restricted_1.0.0-beta10.txt b/compose/material/material-icons-core/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..39a04a5
--- /dev/null
+++ b/compose/material/material-icons-core/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,1037 @@
+// Signature format: 4.0
+package androidx.compose.material.icons {
+
+ public final class Icons {
+ method public androidx.compose.material.icons.Icons.Filled getDefault();
+ property public final androidx.compose.material.icons.Icons.Filled Default;
+ field public static final androidx.compose.material.icons.Icons INSTANCE;
+ }
+
+ public static final class Icons.Filled {
+ field public static final androidx.compose.material.icons.Icons.Filled INSTANCE;
+ }
+
+ public static final class Icons.Outlined {
+ field public static final androidx.compose.material.icons.Icons.Outlined INSTANCE;
+ }
+
+ public static final class Icons.Rounded {
+ field public static final androidx.compose.material.icons.Icons.Rounded INSTANCE;
+ }
+
+ public static final class Icons.Sharp {
+ field public static final androidx.compose.material.icons.Icons.Sharp INSTANCE;
+ }
+
+ public static final class Icons.TwoTone {
+ field public static final androidx.compose.material.icons.Icons.TwoTone INSTANCE;
+ }
+
+ public final class IconsKt {
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder materialPath-E-tN-BY(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional float fillAlpha, optional float strokeAlpha, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+ field @kotlin.PublishedApi internal static final float MaterialIconDimension = 24.0f;
+ }
+
+}
+
+package androidx.compose.material.icons.filled {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Filled);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Filled);
+ }
+
+}
+
+package androidx.compose.material.icons.outlined {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Outlined);
+ }
+
+}
+
+package androidx.compose.material.icons.rounded {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Rounded);
+ }
+
+}
+
+package androidx.compose.material.icons.sharp {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.Sharp);
+ }
+
+}
+
+package androidx.compose.material.icons.twotone {
+
+ public final class AccountBoxKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountBox(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class AccountCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAccountCircle(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class AddCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAddCircle(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class AddKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getAdd(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ArrowDropDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowDropDown(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class BuildKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getBuild(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CallKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCall(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CheckCircleKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheckCircle(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CheckKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCheck(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ClearKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClear(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CloseKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getClose(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class CreateKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getCreate(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class DateRangeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDateRange(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class DeleteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDelete(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class DoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getDone(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class EditKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEdit(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class EmailKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getEmail(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class FaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFace(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class FavoriteBorderKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavoriteBorder(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class FavoriteKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getFavorite(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class HomeKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getHome(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class InfoKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getInfo(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowDownKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowDown(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class KeyboardArrowUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowUp(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class LocationOnKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLocationOn(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class LockKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getLock(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class MailOutlineKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMailOutline(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class MenuKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMenu(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class MoreVertKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getMoreVert(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class NotificationsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getNotifications(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PersonKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPerson(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PhoneKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPhone(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PlaceKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlace(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class PlayArrowKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getPlayArrow(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class RefreshKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getRefresh(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class SearchKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSearch(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class SettingsKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSettings(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ShareKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShare(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ShoppingCartKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getShoppingCart(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class StarKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getStar(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class ThumbUpKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getThumbUp(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+ public final class WarningKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getWarning(androidx.compose.material.icons.Icons.TwoTone);
+ }
+
+}
+
diff --git a/compose/material/material-lint/build.gradle b/compose/material/material-lint/build.gradle
index 33da16f..ab379ec 100644
--- a/compose/material/material-lint/build.gradle
+++ b/compose/material/material-lint/build.gradle
@@ -27,10 +27,11 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly libs.androidLintMinApi
+ compileOnly libs.androidLintMinComposeApi
compileOnly libs.kotlinStdlib
bundleInside(project(":compose:lint:common"))
+ testImplementation(project(":compose:lint:common-test"))
testImplementation libs.kotlinStdlib
testImplementation libs.androidLint
testImplementation libs.androidLintTests
diff --git a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt
index d76a86f..2f4c445 100644
--- a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt
+++ b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/ColorsDetector.kt
@@ -33,8 +33,7 @@
import com.android.tools.lint.detector.api.UastLintUtils
import com.intellij.psi.PsiParameter
import com.intellij.psi.PsiVariable
-import org.jetbrains.kotlin.asJava.elements.KtLightElement
-import org.jetbrains.kotlin.psi.KtParameter
+import org.jetbrains.kotlin.asJava.elements.KtLightParameter
import org.jetbrains.uast.UCallExpression
import org.jetbrains.uast.UElement
import org.jetbrains.uast.UExpression
@@ -69,12 +68,7 @@
}
val parameters = method.parameterList.parameters.mapIndexed { index, parameter ->
- // UCallExpressionEx is deprecated, but getArgumentForParameter doesn't exist on
- // UCallExpression on the version of lint we compile against.
- // TODO: remove when we upgrade the min lint version we compile against b/182832722
- @Suppress("DEPRECATION")
- val argumentForParameter = (node as org.jetbrains.uast.UCallExpressionEx)
- .getArgumentForParameter(index)
+ val argumentForParameter = node.getArgumentForParameter(index)
ParameterWithArgument(
parameter,
argumentForParameter
@@ -190,10 +184,8 @@
// A default value exists (so !! is safe), and we are browsing Kotlin source
// Note: this should be is KtLightParameter, but this was changed from an interface
// to a class, so we get an IncompatibleClassChangeError.
- // TODO: change to KtParameter when we upgrade the min lint version we compile against
- // b/182832722
- parameter is KtLightElement<*, *> -> {
- (parameter.kotlinOrigin!! as KtParameter).defaultValue.toUElement()
+ parameter is KtLightParameter -> {
+ parameter.kotlinOrigin!!.defaultValue.toUElement()
}
// A default value exists, but it is in a class file so we can't access it anymore
else -> null
diff --git a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/MaterialIssueRegistry.kt b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/MaterialIssueRegistry.kt
index 822cc27..4d711a1 100644
--- a/compose/material/material-lint/src/main/java/androidx/compose/material/lint/MaterialIssueRegistry.kt
+++ b/compose/material/material-lint/src/main/java/androidx/compose/material/lint/MaterialIssueRegistry.kt
@@ -17,6 +17,7 @@
package androidx.compose.material.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -29,4 +30,9 @@
override val issues get() = listOf(
ColorsDetector.ConflictingOnColor
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.material",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ApiLintVersionsTest.kt b/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ApiLintVersionsTest.kt
index 0364538..0b7531f 100644
--- a/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ApiLintVersionsTest.kt
+++ b/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = MaterialIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ColorsDetectorTest.kt b/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ColorsDetectorTest.kt
index 6e5dada..f2d315e 100644
--- a/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ColorsDetectorTest.kt
+++ b/compose/material/material-lint/src/test/java/androidx/compose/material/lint/ColorsDetectorTest.kt
@@ -18,7 +18,8 @@
package androidx.compose.material.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
+import androidx.compose.lint.test.kotlinAndCompiledStub
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -29,22 +30,23 @@
/* ktlint-disable max-line-length */
@RunWith(JUnit4::class)
-// TODO: add tests for methods defined in class files when we update Lint to support bytecode()
-// test files
-
/**
* Test for [ColorsDetector].
+ *
+ * Tests for when Colors.kt is available as source (during global / IDE analysis), and for when
+ * it is available as bytecode (during partial / CLI analysis). Since we cannot resolve default
+ * values when it is only available as bytecode, is it expected that we throw less errors in that
+ * mode.
*/
class ColorsDetectorTest : LintDetectorTest() {
override fun getDetector(): Detector = ColorsDetector()
override fun getIssues(): MutableList<Issue> = mutableListOf(ColorsDetector.ConflictingOnColor)
- // Simplified Color.kt stubs
- private val ColorStub = kotlin(Stubs.Color)
-
// Simplified Colors.kt stubs
- private val ColorsStub = kotlin(
+ private val ColorsStub = kotlinAndCompiledStub(
+ filename = "Colors.kt",
+ filepath = "androidx/compose/material",
"""
package androidx.compose.material
@@ -123,11 +125,73 @@
onError,
false
)
+ """,
+ """
+ androidx/compose/material/Colors.class:
+ H4sIAAAAAAAAAJVUTW8TSRB9Pf6YeGzHdownNmGWrwBJgExA3LJCgrArBZnd
+ 1QblQA6oMx6Sju3uqHscwS3aH7BnzvwDTlntYRXBAYkfhahpTwYQhxUzo3qv
+ uqq763W1/fHTv/8BuIe7DJe4HGglBi/DSI0PlYnDMU9iLfgo3FAjpY0LxtA8
+ 4Ec8HHG5F/6+exBHiYsCQ/lnIUVyn8JLj796ni1vMxSWlrdrKMH1UMQMQzHZ
+ F4bhSv//9ltncA+1GHP9ioE9ZpjNvG1OWTJhqJg4UnJgE5o5z8PeLo+Ge1pN
+ 5ICWMhP9gkcxQynWWmmareQfZ8tXldz6slZNyYdfTaXErbPJrpK/TKe7wvTF
+ 3j7tw54x3P9WeH+okpGQ4cHROBSSZEmS9Sh+wSejZENJk+hJlCj9hOthrNen
+ B1T24OACQ3sx+pLxfGxTGFZ/bEmG1tmEJ3HCBzzhNOaMjwrUb5aaEhU+pKGX
+ IvXWiA3uMLw5Pe56TtfxnObpsUef5TM18qvkdk+P7zpr7OHhXLnpnHfWCoTF
+ DEsZljN0M5zJsJKhl2E1w1qG9QxnM2wQNt//w06P370pO83Wu7+cIpXSSyul
+ +wqGxe/v0ESEe5of7ovITK8Rqa5M79PqkHpV3FADamOjL2T822S8G+unfHdE
+ I3N9FfGRvTvkZ4PelproKP5VpE7vz4lMxDjeFkZQ9IGUKuGJoKPHHepcEenj
+ 0EutpOJuk/eW8Hx61isnqLy14VWyaTi1Idm/MZsmwEPVLlBCDXUbL1GkDtsq
+ NIiVLGsScy1rEatYNkesalmbWN2yc4QNyzrEWpb5xNqWzRPrWNYlNm9Zj0rt
+ Nen3gYWs/A80skAYrFy87Jd816/4Vb/uN/yW3/Y7/nynd4IglcWslNd2wyCX
+ EuRSglxKkEsJcilBLiXIpQS5lCCXEuRSglxKkEsJcinBVIplP+EicQdr9vBv
+ UacATjVdohou76CwiSubuEoWi6m5tonruLEDZrCE5R3MGVQNVgxqBjcNZg0a
+ hv5q0DJpqG1wzqBj4BvMG3QNejZ54TP/Je0LWAUAAA==
+ """,
+ """
+ androidx/compose/material/ColorsKt.class:
+ H4sIAAAAAAAAAM1WzU8cZRj/vct+sSzLsN2dLvQLC7VgW5ZCC7XbUgr9Wlho
+ LS1tQW2G3YUOLDM4M0vaxhg0scYYLx5M9GCiHjx4sFGjxBpDMPHgxZuH/hGe
+ PBr1NzMwbAFTvHUO7/N7nnk+3nme3/vu/vr3Dz8BOIbbAvsVrWDoauFuOq/P
+ zetmMT2nWEVDVUrpAb2kG+aQFYIQkGaUBSVdUrTp9OXJmWKe1iqBHSV1+o7l
+ Oh7pfG185Ob9EwIdrYMVT1vuaSUyAs053ZhOzxStSUNRNTOtaJpuKZaqE4/o
+ 1ki5VKJX09MyhRAWCJ5SNdXqFeh9Yh/juVndKqlaemZhLq1qjNMYd644pZRL
+ /ATNtIxy3tKNYcWYLRqZtrEoIqiJoBpRgdC8oc4pxj0BMSgQW9XGFNbWLIFq
+ s5jXtYLjIHnYex2ZVPKz04Ze1gpMZZaNKSVfFAgUDUM3GK1rV9bS1+ja6Hqu
+ qK71V4TScXQtOKRr593wXVsMoaXgfpfAwBNNyOY2zjGzjfkEyBb8M4k/BFo2
+ OZfV9LShzN9R86brbzNmH7/OUQT8rYNtg1E8h/0RNKHZzdWDb1xQ9fgXF4h3
+ HmzFxk3ZQzjERgzwtaKRHgLtm/e/KajF889EcQTt1TiMtMDh/xMZwlEOd7po
+ 3bijWsUjHYWe20Mz1wWqWu3P68KxCDpx3P2Yh2hyfftLHN+abxQvul4nowgg
+ GIEPpwTiHPXsxiPUuNm4NlK3wqMHf7kgHo+74Lepe1H0umkvCNSv0X24aCkF
+ xVJ4fnxzC1V0FfYSIJVnbeCj/a5qow6iwlEhcsuLUmR5MeJL+daEL1zXuPKe
+ kJYXG30dojMc9kk+oioH+T0U8FDQQyEPhT1U7aGIh2o8FPVQrYdiNvp5SSwv
+ chErnwX94TpJcvZU/+xsKS5JK2/5atiuhkggvPLp3g5h97STV8D6QEnz7VyJ
+ LdvgNd1qKk6/czBs0D7Lk+8f0Au8KOpyqlYcKc9NFo1rymSJlnhOzysl53ai
+ vmrcdbWsWepcMastqKZK09n1K1igdtQikYeV+VXvyKheNvLFC6qtNKyGjm0K
+ xFGS0W/Tk2uDTXrqN6n9id1IUTY9QvWtvU2yXw7KYTkiR+WYLMlxOSHLfvE9
+ ah/aBMUtrv2QuDYzTwvzHGCm5xHGQd7RrYiiDTG8QI9DiPNoJ3jGZbSzQhqN
+ 6GCtZuzjXsaZ4T69WZf+dc6+mhhVxxo2qifyOyhOFHTQDqKwgxJEEQclidws
+ MlHMQTuJJAeliOIOaiBKOKiRSMYEcRC8uwGpGru4L2F3Q0wxppHvHidT/jc+
+ QiSBPUtoOZNMBVztALWzyVSIWk0CB6n1+JMpKezqbbYepC7Z+tfo+A7dPWHq
+ TRV6hHqf699j+0eTqXosVjjEaBDwDJkeiQZfpSFOg7/SkKAhjIoc8taTXMJp
+ d44vc40hGquN1fGR7MeZ7RQ7BfYnxC7GKJPsx27KZtoPUXaxOxnKAfZsiHKU
+ byco89iDWUoLe/E65duc8vuUH7Ljn1B+wV+dryiXsB/LlA32/bh9BlZtxcA+
+ MuQsGdjPTANkxjly4jzZcIE7v0iPS5x9llMfZL0hVshx78Os1ce9jTxjDDzj
+ MXB8lYG/ewzs2y4DQ7J/nX0J9NvvPPat6hXsO7cF+zJPZV/3RvZ1b2Rf5r/Z
+ d3Ej+2qeYN+r7BzIsRD/EccokzjOvnSRfd1kXxe7dIKT7cJl/nzfoLyNk5im
+ nCcn71K+iVN4l/IDnMbHlJ+TZV9SfsvIHyl9eMWpf4OVgAI7fon8yU6gKovB
+ LIa4IpclSUayrHFlAsLES7g6gR0mRk1cMxEzcd3kH0vUm4ibtj1hImlCNrHT
+ RMpEg4lGE70mgibGTAT+BZIgXWjiCwAA
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcolmZiXUpSfmVKhl5yfW5BfnKqX
+ m1iSWpSZmCPE4Zyfk19U7F3Cpc4li1OZXlp+vhBbSGpxCVihDIbC0ky99KLE
+ gozM5GIhdrCR3iVKDFoMAMec7K6RAAAA
"""
)
@Test
- fun constructorErrors() {
+ fun constructorErrors_source() {
lint().files(
kotlin(
"""
@@ -189,8 +253,8 @@
)
"""
),
- ColorStub,
- ColorsStub
+ Stubs.Color,
+ ColorsStub.kotlin
)
.run()
.expect(
@@ -237,7 +301,7 @@
}
@Test
- fun lightColorsErrors() {
+ fun lightColorsErrors_source() {
lint().files(
kotlin(
"""
@@ -264,8 +328,8 @@
)
"""
),
- ColorStub,
- ColorsStub
+ Stubs.Color,
+ ColorsStub.kotlin
)
.run()
.expect(
@@ -285,7 +349,7 @@
}
@Test
- fun darkColorsErrors() {
+ fun darkColorsErrors_source() {
lint().files(
kotlin(
"""
@@ -313,8 +377,8 @@
)
"""
),
- ColorStub,
- ColorsStub
+ Stubs.Color,
+ ColorsStub.kotlin
)
.run()
.expect(
@@ -334,7 +398,7 @@
}
@Test
- fun trackVariableAssignment() {
+ fun trackVariableAssignment_source() {
lint().files(
kotlin(
"""
@@ -374,15 +438,15 @@
}
"""
),
- ColorStub,
- ColorsStub
+ Stubs.Color,
+ ColorsStub.kotlin
)
.run()
.expectClean()
}
@Test
- fun noErrors() {
+ fun noErrors_source() {
lint().files(
kotlin(
"""
@@ -447,8 +511,279 @@
"""
),
- ColorStub,
- ColorsStub
+ Stubs.Color,
+ ColorsStub.kotlin
+ )
+ .run()
+ .expectClean()
+ }
+
+ @Test
+ fun constructorErrors_compiled() {
+ lint().files(
+ kotlin(
+ """
+ package androidx.compose.material.foo
+
+ import androidx.compose.material.*
+ import androidx.compose.ui.graphics.*
+
+ val colors = Colors(
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.Red,
+ false
+ )
+
+ val colors2 = Colors(
+ primary = Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ background = Color.Blue,
+ Color.White,
+ Color.Green,
+ Color.White,
+ Color.Blue,
+ onBackground = Color.White,
+ onSurface = Color.White,
+ onError = Color.Red,
+ isLight = false
+ )
+
+ val yellow200 = Color(0xffffeb46)
+ val yellow400 = Color(0xffffc000)
+ val yellow500 = Color(0xffffde03)
+
+ val colors3 = Colors(
+ yellow200,
+ yellow400,
+ yellow200,
+ secondaryVariant = yellow200,
+ Color.White,
+ surface = Color.Blue,
+ Color.White,
+ Color.White,
+ yellow400,
+ Color.Blue,
+ onSurface = Color(0xFFFFBBCC),
+ yellow500,
+ false
+ )
+ """
+ ),
+ Stubs.Color,
+ ColorsStub.compiled
+ )
+ .run()
+ // TODO: b/184856104 currently the constructor call to Colors cannot be resolved when
+ // it is available as bytecode, so we don't see any errors.
+ .expectClean()
+ }
+
+ @Test
+ fun lightColorsErrors_compiled() {
+ lint().files(
+ kotlin(
+ """
+ package androidx.compose.material.foo
+
+ import androidx.compose.material.*
+ import androidx.compose.ui.graphics.*
+
+ val yellow200 = Color(0xffffeb46)
+ val yellow400 = Color(0xffffc000)
+ val yellow500 = Color(0xffffde03)
+
+ val colors = lightColors(
+ primary = yellow200,
+ background = yellow200,
+ onPrimary = yellow400,
+ onBackground = Color.Green,
+ )
+ """
+ ),
+ Stubs.Color,
+ ColorsStub.compiled
+ )
+ .run()
+ .expect(
+ """
+src/androidx/compose/material/foo/test.kt:14: Error: Conflicting 'on' color for a given background [ConflictingOnColor]
+ onPrimary = yellow400,
+ ~~~~~~~~~
+src/androidx/compose/material/foo/test.kt:15: Error: Conflicting 'on' color for a given background [ConflictingOnColor]
+ onBackground = Color.Green,
+ ~~~~~~~~~~~
+2 errors, 0 warnings
+ """
+ )
+ }
+
+ @Test
+ fun darkColorsErrors_compiled() {
+ lint().files(
+ kotlin(
+ """
+ package androidx.compose.material.foo
+
+ import androidx.compose.material.*
+ import androidx.compose.ui.graphics.*
+
+ val yellow200 = Color(0xffffeb46)
+ val yellow400 = Color(0xffffc000)
+ val yellow500 = Color(0xffffde03)
+
+ val colors = darkColors(
+ primary = yellow200,
+ background = yellow200,
+ onPrimary = yellow400,
+ onBackground = Color.Green,
+ )
+ """
+ ),
+ Stubs.Color,
+ ColorsStub.compiled
+ )
+ .run()
+ .expect(
+ """
+src/androidx/compose/material/foo/test.kt:14: Error: Conflicting 'on' color for a given background [ConflictingOnColor]
+ onPrimary = yellow400,
+ ~~~~~~~~~
+src/androidx/compose/material/foo/test.kt:15: Error: Conflicting 'on' color for a given background [ConflictingOnColor]
+ onBackground = Color.Green,
+ ~~~~~~~~~~~
+2 errors, 0 warnings
+ """
+ )
+ }
+
+ @Test
+ fun trackVariableAssignment_compiled() {
+ lint().files(
+ kotlin(
+ """
+ package androidx.compose.material.foo
+
+ import androidx.compose.material.*
+ import androidx.compose.ui.graphics.*
+
+ val testColor1 = Color.Black
+
+ fun test() {
+ val colors = lightColors(
+ primary = Color.Green,
+ background = Color.Green,
+ onPrimary = testColor1,
+ onBackground = Color.Black,
+ )
+
+ val testColor2 = Color.Black
+
+ val colors2 = lightColors(
+ primary = Color.Green,
+ background = Color.Green,
+ onPrimary = testColor2,
+ onBackground = Color.Black,
+ )
+
+ var testColor3 = Color.Green
+ testColor3 = Color.Black
+
+ val colors2 = lightColors(
+ primary = Color.Green,
+ background = Color.Green,
+ onPrimary = testColor3,
+ onBackground = Color.Black,
+ )
+ }
+ """
+ ),
+ Stubs.Color,
+ ColorsStub.compiled
+ )
+ .run()
+ .expectClean()
+ }
+
+ @Test
+ fun noErrors_compiled() {
+ lint().files(
+ kotlin(
+ """
+ package androidx.compose.material.foo
+
+ import androidx.compose.material.*
+ import androidx.compose.ui.graphics.*
+
+ val colors = lightColors()
+ val colors2 = darkColors()
+ val colors3 = Colors(
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ false
+ )
+
+ val yellow200 = Color(0xffffeb46)
+ val yellow400 = Color(0xffffc000)
+ val yellow500 = Color(0xffffde03)
+
+ val colors4 = Colors(
+ yellow200,
+ yellow400,
+ Color.White,
+ secondaryVariant = yellow500,
+ Color.White,
+ surface = Color.Blue,
+ Color.White,
+ Color.White,
+ Color.White,
+ Color.White,
+ onSurface = Color(0xFFFFBBCC),
+ Color.White,
+ false
+ )
+
+ val colors5 = lightColors(
+ yellow200,
+ yellow400,
+ Color.White,
+ surface = Color.Blue,
+ onSurface = Color(0xFFFFBBCC),
+ )
+
+ val colors6 = darkColors(
+ yellow200,
+ yellow400,
+ Color.White,
+ surface = Color.Blue,
+ onSurface = Color(0xFFFFBBCC),
+ )
+
+ """
+ ),
+ Stubs.Color,
+ ColorsStub.compiled
)
.run()
.expectClean()
diff --git a/compose/material/material-ripple/api/1.0.0-beta10.txt b/compose/material/material-ripple/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..3e18f6d
--- /dev/null
+++ b/compose/material/material-ripple/api/1.0.0-beta10.txt
@@ -0,0 +1,39 @@
+// Signature format: 4.0
+package androidx.compose.material.ripple {
+
+ @androidx.compose.runtime.Immutable public final class RippleAlpha {
+ ctor public RippleAlpha(float draggedAlpha, float focusedAlpha, float hoveredAlpha, float pressedAlpha);
+ method public float getDraggedAlpha();
+ method public float getFocusedAlpha();
+ method public float getHoveredAlpha();
+ method public float getPressedAlpha();
+ property public final float draggedAlpha;
+ property public final float focusedAlpha;
+ property public final float hoveredAlpha;
+ property public final float pressedAlpha;
+ }
+
+ public final class RippleAnimationKt {
+ }
+
+ public final class RippleKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.Indication rememberRipple-aOO63xs(optional boolean bounded, optional float radius, optional long color);
+ }
+
+ public interface RippleTheme {
+ method @androidx.compose.runtime.Composable public long defaultColor-0d7_KjU();
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ripple.RippleAlpha rippleAlpha();
+ field public static final androidx.compose.material.ripple.RippleTheme.Companion Companion;
+ }
+
+ public static final class RippleTheme.Companion {
+ method public androidx.compose.material.ripple.RippleAlpha defaultRippleAlpha-QZCes2I(long contentColor, boolean lightTheme);
+ method public long defaultRippleColor-QZCes2I(long contentColor, boolean lightTheme);
+ }
+
+ public final class RippleThemeKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material.ripple.RippleTheme> getLocalRippleTheme();
+ }
+
+}
+
diff --git a/compose/material/material-ripple/api/public_plus_experimental_1.0.0-beta10.txt b/compose/material/material-ripple/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..3e18f6d
--- /dev/null
+++ b/compose/material/material-ripple/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,39 @@
+// Signature format: 4.0
+package androidx.compose.material.ripple {
+
+ @androidx.compose.runtime.Immutable public final class RippleAlpha {
+ ctor public RippleAlpha(float draggedAlpha, float focusedAlpha, float hoveredAlpha, float pressedAlpha);
+ method public float getDraggedAlpha();
+ method public float getFocusedAlpha();
+ method public float getHoveredAlpha();
+ method public float getPressedAlpha();
+ property public final float draggedAlpha;
+ property public final float focusedAlpha;
+ property public final float hoveredAlpha;
+ property public final float pressedAlpha;
+ }
+
+ public final class RippleAnimationKt {
+ }
+
+ public final class RippleKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.Indication rememberRipple-aOO63xs(optional boolean bounded, optional float radius, optional long color);
+ }
+
+ public interface RippleTheme {
+ method @androidx.compose.runtime.Composable public long defaultColor-0d7_KjU();
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ripple.RippleAlpha rippleAlpha();
+ field public static final androidx.compose.material.ripple.RippleTheme.Companion Companion;
+ }
+
+ public static final class RippleTheme.Companion {
+ method public androidx.compose.material.ripple.RippleAlpha defaultRippleAlpha-QZCes2I(long contentColor, boolean lightTheme);
+ method public long defaultRippleColor-QZCes2I(long contentColor, boolean lightTheme);
+ }
+
+ public final class RippleThemeKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material.ripple.RippleTheme> getLocalRippleTheme();
+ }
+
+}
+
diff --git a/compose/material/material-ripple/api/res-1.0.0-beta10.txt b/compose/material/material-ripple/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/material/material-ripple/api/res-1.0.0-beta10.txt
diff --git a/compose/material/material-ripple/api/restricted_1.0.0-beta10.txt b/compose/material/material-ripple/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..3e18f6d
--- /dev/null
+++ b/compose/material/material-ripple/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,39 @@
+// Signature format: 4.0
+package androidx.compose.material.ripple {
+
+ @androidx.compose.runtime.Immutable public final class RippleAlpha {
+ ctor public RippleAlpha(float draggedAlpha, float focusedAlpha, float hoveredAlpha, float pressedAlpha);
+ method public float getDraggedAlpha();
+ method public float getFocusedAlpha();
+ method public float getHoveredAlpha();
+ method public float getPressedAlpha();
+ property public final float draggedAlpha;
+ property public final float focusedAlpha;
+ property public final float hoveredAlpha;
+ property public final float pressedAlpha;
+ }
+
+ public final class RippleAnimationKt {
+ }
+
+ public final class RippleKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.foundation.Indication rememberRipple-aOO63xs(optional boolean bounded, optional float radius, optional long color);
+ }
+
+ public interface RippleTheme {
+ method @androidx.compose.runtime.Composable public long defaultColor-0d7_KjU();
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ripple.RippleAlpha rippleAlpha();
+ field public static final androidx.compose.material.ripple.RippleTheme.Companion Companion;
+ }
+
+ public static final class RippleTheme.Companion {
+ method public androidx.compose.material.ripple.RippleAlpha defaultRippleAlpha-QZCes2I(long contentColor, boolean lightTheme);
+ method public long defaultRippleColor-QZCes2I(long contentColor, boolean lightTheme);
+ }
+
+ public final class RippleThemeKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material.ripple.RippleTheme> getLocalRippleTheme();
+ }
+
+}
+
diff --git a/compose/material/material/api/1.0.0-beta10.txt b/compose/material/material/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..b6e8f4d
--- /dev/null
+++ b/compose/material/material/api/1.0.0-beta10.txt
@@ -0,0 +1,617 @@
+// Signature format: 4.0
+package androidx.compose.material {
+
+ public final class AlertDialogKt {
+ }
+
+ public final class AndroidAlertDialog_androidKt {
+ method @androidx.compose.runtime.Composable public static void AlertDialog--HzSArw(kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, kotlin.jvm.functions.Function0<kotlin.Unit> confirmButton, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? dismissButton, optional kotlin.jvm.functions.Function0<kotlin.Unit>? title, optional kotlin.jvm.functions.Function0<kotlin.Unit>? text, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.ui.window.DialogProperties properties);
+ method @androidx.compose.runtime.Composable public static void AlertDialog-PPVLV-g(kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, kotlin.jvm.functions.Function0<kotlin.Unit> buttons, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? title, optional kotlin.jvm.functions.Function0<kotlin.Unit>? text, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.ui.window.DialogProperties properties);
+ }
+
+ public final class AndroidMenu_androidKt {
+ method @androidx.compose.runtime.Composable public static void DropdownMenu-jyMeD6A(boolean expanded, kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.Modifier modifier, optional long offset, optional androidx.compose.ui.window.PopupProperties properties, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void DropdownMenuItem(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.layout.PaddingValues contentPadding, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ }
+
+ public final class AppBarDefaults {
+ method public float getBottomAppBarElevation-D9Ej5fM();
+ method public androidx.compose.foundation.layout.PaddingValues getContentPadding();
+ method public float getTopAppBarElevation-D9Ej5fM();
+ property public final float BottomAppBarElevation;
+ property public final androidx.compose.foundation.layout.PaddingValues ContentPadding;
+ property public final float TopAppBarElevation;
+ field public static final androidx.compose.material.AppBarDefaults INSTANCE;
+ }
+
+ public final class AppBarKt {
+ method @androidx.compose.runtime.Composable public static void BottomAppBar-EMTaL0E(optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional androidx.compose.ui.graphics.Shape? cutoutShape, optional float elevation, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void TopAppBar-QjfF_Us(optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional float elevation, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void TopAppBar-_azMXew(kotlin.jvm.functions.Function0<kotlin.Unit> title, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> actions, optional long backgroundColor, optional long contentColor, optional float elevation);
+ }
+
+ public final class BackdropScaffoldDefaults {
+ method public float getFrontLayerElevation-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public long getFrontLayerScrimColor-0d7_KjU();
+ method @androidx.compose.runtime.Composable public androidx.compose.ui.graphics.Shape getFrontLayerShape();
+ method public float getHeaderHeight-D9Ej5fM();
+ method public float getPeekHeight-D9Ej5fM();
+ property public final float FrontLayerElevation;
+ property public final float HeaderHeight;
+ property public final float PeekHeight;
+ property @androidx.compose.runtime.Composable public final long frontLayerScrimColor;
+ property @androidx.compose.runtime.Composable public final androidx.compose.ui.graphics.Shape frontLayerShape;
+ field public static final androidx.compose.material.BackdropScaffoldDefaults INSTANCE;
+ }
+
+ public final class BackdropScaffoldKt {
+ }
+
+ public final class BottomNavigationDefaults {
+ method public float getElevation-D9Ej5fM();
+ property public final float Elevation;
+ field public static final androidx.compose.material.BottomNavigationDefaults INSTANCE;
+ }
+
+ public final class BottomNavigationKt {
+ method @androidx.compose.runtime.Composable public static void BottomNavigation-ye6PvEY(optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional float elevation, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void BottomNavigationItem-g7W06kY(androidx.compose.foundation.layout.RowScope, boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> icon, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional boolean alwaysShowLabel, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor);
+ }
+
+ public final class BottomSheetScaffoldDefaults {
+ method public float getSheetElevation-D9Ej5fM();
+ method public float getSheetPeekHeight-D9Ej5fM();
+ property public final float SheetElevation;
+ property public final float SheetPeekHeight;
+ field public static final androidx.compose.material.BottomSheetScaffoldDefaults INSTANCE;
+ }
+
+ public final class BottomSheetScaffoldKt {
+ }
+
+ @androidx.compose.runtime.Stable public interface ButtonColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> backgroundColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> contentColor(boolean enabled);
+ }
+
+ public final class ButtonDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonColors buttonColors-nlx5xbs(optional long backgroundColor, optional long contentColor, optional long disabledBackgroundColor, optional long disabledContentColor);
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonElevation elevation-qYQSm_w(optional float defaultElevation, optional float pressedElevation, optional float disabledElevation);
+ method public androidx.compose.foundation.layout.PaddingValues getContentPadding();
+ method public float getIconSize-D9Ej5fM();
+ method public float getIconSpacing-D9Ej5fM();
+ method public float getMinHeight-D9Ej5fM();
+ method public float getMinWidth-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public androidx.compose.foundation.BorderStroke getOutlinedBorder();
+ method public float getOutlinedBorderSize-D9Ej5fM();
+ method public androidx.compose.foundation.layout.PaddingValues getTextButtonContentPadding();
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonColors outlinedButtonColors-xS_xkl8(optional long backgroundColor, optional long contentColor, optional long disabledContentColor);
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonColors textButtonColors-xS_xkl8(optional long backgroundColor, optional long contentColor, optional long disabledContentColor);
+ property public final androidx.compose.foundation.layout.PaddingValues ContentPadding;
+ property public final float IconSize;
+ property public final float IconSpacing;
+ property public final float MinHeight;
+ property public final float MinWidth;
+ property public final float OutlinedBorderSize;
+ property public final androidx.compose.foundation.layout.PaddingValues TextButtonContentPadding;
+ property @androidx.compose.runtime.Composable public final androidx.compose.foundation.BorderStroke outlinedBorder;
+ field public static final androidx.compose.material.ButtonDefaults INSTANCE;
+ field public static final float OutlinedBorderOpacity = 0.12f;
+ }
+
+ @androidx.compose.runtime.Stable public interface ButtonElevation {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> elevation(boolean enabled, androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ }
+
+ public final class ButtonKt {
+ method @androidx.compose.runtime.Composable public static void Button(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.ButtonElevation? elevation, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.foundation.BorderStroke? border, optional androidx.compose.material.ButtonColors colors, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void OutlinedButton(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.ButtonElevation? elevation, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.foundation.BorderStroke? border, optional androidx.compose.material.ButtonColors colors, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void TextButton(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.ButtonElevation? elevation, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.foundation.BorderStroke? border, optional androidx.compose.material.ButtonColors colors, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ }
+
+ public final class CardKt {
+ method @androidx.compose.runtime.Composable public static void Card-IHU7g64(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.foundation.BorderStroke? border, optional float elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ @androidx.compose.runtime.Stable public interface CheckboxColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> borderColor(boolean enabled, androidx.compose.ui.state.ToggleableState state);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> boxColor(boolean enabled, androidx.compose.ui.state.ToggleableState state);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> checkmarkColor(androidx.compose.ui.state.ToggleableState state);
+ }
+
+ public final class CheckboxDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.CheckboxColors colors-QGkLkJU(optional long checkedColor, optional long uncheckedColor, optional long checkmarkColor, optional long disabledColor, optional long disabledIndeterminateColor);
+ field public static final androidx.compose.material.CheckboxDefaults INSTANCE;
+ }
+
+ public final class CheckboxKt {
+ method @androidx.compose.runtime.Composable public static void Checkbox(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.CheckboxColors colors);
+ method @androidx.compose.runtime.Composable public static void TriStateCheckbox(androidx.compose.ui.state.ToggleableState state, kotlin.jvm.functions.Function0<kotlin.Unit>? onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.CheckboxColors colors);
+ }
+
+ @androidx.compose.runtime.Stable public final class Colors {
+ method public androidx.compose.material.Colors copy-7EMdAJ8(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onError, optional boolean isLight);
+ method public long getBackground-0d7_KjU();
+ method public long getError-0d7_KjU();
+ method public long getOnBackground-0d7_KjU();
+ method public long getOnError-0d7_KjU();
+ method public long getOnPrimary-0d7_KjU();
+ method public long getOnSecondary-0d7_KjU();
+ method public long getOnSurface-0d7_KjU();
+ method public long getPrimary-0d7_KjU();
+ method public long getPrimaryVariant-0d7_KjU();
+ method public long getSecondary-0d7_KjU();
+ method public long getSecondaryVariant-0d7_KjU();
+ method public long getSurface-0d7_KjU();
+ method public boolean isLight();
+ property public final long background;
+ property public final long error;
+ property public final boolean isLight;
+ property public final long onBackground;
+ property public final long onError;
+ property public final long onPrimary;
+ property public final long onSecondary;
+ property public final long onSurface;
+ property public final long primary;
+ property public final long primaryVariant;
+ property public final long secondary;
+ property public final long secondaryVariant;
+ property public final long surface;
+ }
+
+ public final class ColorsKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static long contentColorFor-8_81llA(long backgroundColor);
+ method public static long contentColorFor-pz-ABmo(androidx.compose.material.Colors, long backgroundColor);
+ method public static androidx.compose.material.Colors darkColors-hW7iGhc(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onError);
+ method public static long getPrimarySurface(androidx.compose.material.Colors);
+ method public static androidx.compose.material.Colors lightColors-hW7iGhc(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onError);
+ }
+
+ public final class ContentAlpha {
+ method @androidx.compose.runtime.Composable public float getDisabled();
+ method @androidx.compose.runtime.Composable public float getHigh();
+ method @androidx.compose.runtime.Composable public float getMedium();
+ property @androidx.compose.runtime.Composable public final float disabled;
+ property @androidx.compose.runtime.Composable public final float high;
+ property @androidx.compose.runtime.Composable public final float medium;
+ field public static final androidx.compose.material.ContentAlpha INSTANCE;
+ }
+
+ public final class ContentAlphaKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<java.lang.Float> getLocalContentAlpha();
+ }
+
+ public final class ContentColorKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.graphics.Color> getLocalContentColor();
+ }
+
+ public enum DismissDirection {
+ enum_constant public static final androidx.compose.material.DismissDirection EndToStart;
+ enum_constant public static final androidx.compose.material.DismissDirection StartToEnd;
+ }
+
+ public enum DismissValue {
+ enum_constant public static final androidx.compose.material.DismissValue Default;
+ enum_constant public static final androidx.compose.material.DismissValue DismissedToEnd;
+ enum_constant public static final androidx.compose.material.DismissValue DismissedToStart;
+ }
+
+ public final class DividerKt {
+ method @androidx.compose.runtime.Composable public static void Divider-JRSVyrs(optional androidx.compose.ui.Modifier modifier, optional long color, optional float thickness, optional float startIndent);
+ }
+
+ public final class DrawerDefaults {
+ method public float getElevation-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public long getScrimColor-0d7_KjU();
+ property public final float Elevation;
+ property @androidx.compose.runtime.Composable public final long scrimColor;
+ field public static final androidx.compose.material.DrawerDefaults INSTANCE;
+ field public static final float ScrimOpacity = 0.32f;
+ }
+
+ public final class DrawerKt {
+ method @androidx.compose.runtime.Composable public static void ModalDrawer-TlzqArY(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> drawerContent, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.DrawerState drawerState, optional boolean gesturesEnabled, optional androidx.compose.ui.graphics.Shape drawerShape, optional float drawerElevation, optional long drawerBackgroundColor, optional long drawerContentColor, optional long scrimColor, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static androidx.compose.material.DrawerState rememberDrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ @androidx.compose.runtime.Stable public final class DrawerState {
+ ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+ method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public androidx.compose.material.DrawerValue getCurrentValue();
+ method public boolean isAnimationRunning();
+ method public boolean isClosed();
+ method public boolean isOpen();
+ method public suspend Object? open(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final androidx.compose.material.DrawerValue currentValue;
+ property public final boolean isAnimationRunning;
+ property public final boolean isClosed;
+ property public final boolean isOpen;
+ field public static final androidx.compose.material.DrawerState.Companion Companion;
+ }
+
+ public static final class DrawerState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.material.DrawerState,androidx.compose.material.DrawerValue> Saver(kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ public enum DrawerValue {
+ enum_constant public static final androidx.compose.material.DrawerValue Closed;
+ enum_constant public static final androidx.compose.material.DrawerValue Open;
+ }
+
+ public final class ElevationKt {
+ }
+
+ public interface ElevationOverlay {
+ method @androidx.compose.runtime.Composable public long apply-_fH6D24(long color, float elevation);
+ }
+
+ public final class ElevationOverlayKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.unit.Dp> getLocalAbsoluteElevation();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material.ElevationOverlay> getLocalElevationOverlay();
+ }
+
+ public final inline class FabPosition {
+ ctor public FabPosition();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.material.FabPosition.Companion Companion;
+ }
+
+ public static final class FabPosition.Companion {
+ method public int getCenter-5ygKITE();
+ method public int getEnd-5ygKITE();
+ property public final int Center;
+ property public final int End;
+ }
+
+ public final class FloatingActionButtonDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.FloatingActionButtonElevation elevation-ioHfwGI(optional float defaultElevation, optional float pressedElevation);
+ field public static final androidx.compose.material.FloatingActionButtonDefaults INSTANCE;
+ }
+
+ @androidx.compose.runtime.Stable public interface FloatingActionButtonElevation {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> elevation(androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ }
+
+ public final class FloatingActionButtonKt {
+ method @androidx.compose.runtime.Composable public static void ExtendedFloatingActionButton-opHSmBI(kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? icon, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.material.FloatingActionButtonElevation elevation);
+ method @androidx.compose.runtime.Composable public static void FloatingActionButton-n9X6i6U(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.material.FloatingActionButtonElevation elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class IconButtonKt {
+ method @androidx.compose.runtime.Composable public static void IconButton(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void IconToggleButton(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onCheckedChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class IconKt {
+ method @androidx.compose.runtime.Composable public static void Icon-8NTYWNk(androidx.compose.ui.graphics.painter.Painter painter, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional long tint);
+ method @androidx.compose.runtime.Composable public static void Icon-BG621w0(androidx.compose.ui.graphics.vector.ImageVector imageVector, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional long tint);
+ method @androidx.compose.runtime.Composable public static void Icon-hGAziDE(androidx.compose.ui.graphics.ImageBitmap bitmap, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional long tint);
+ }
+
+ public final class ListItemKt {
+ }
+
+ public final class MaterialTextSelectionColorsKt {
+ }
+
+ public final class MaterialTheme {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public androidx.compose.material.Colors getColors();
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public androidx.compose.material.Shapes getShapes();
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public androidx.compose.material.Typography getTypography();
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final androidx.compose.material.Colors colors;
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final androidx.compose.material.Shapes shapes;
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final androidx.compose.material.Typography typography;
+ field public static final androidx.compose.material.MaterialTheme INSTANCE;
+ }
+
+ public final class MaterialThemeKt {
+ method @androidx.compose.runtime.Composable public static void MaterialTheme(optional androidx.compose.material.Colors colors, optional androidx.compose.material.Typography typography, optional androidx.compose.material.Shapes shapes, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class MenuDefaults {
+ method public androidx.compose.foundation.layout.PaddingValues getDropdownMenuItemContentPadding();
+ property public final androidx.compose.foundation.layout.PaddingValues DropdownMenuItemContentPadding;
+ field public static final androidx.compose.material.MenuDefaults INSTANCE;
+ }
+
+ public final class MenuKt {
+ }
+
+ public final class ModalBottomSheetDefaults {
+ method public float getElevation-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public long getScrimColor-0d7_KjU();
+ property public final float Elevation;
+ property @androidx.compose.runtime.Composable public final long scrimColor;
+ field public static final androidx.compose.material.ModalBottomSheetDefaults INSTANCE;
+ }
+
+ public final class ModalBottomSheetKt {
+ }
+
+ public final class OutlinedTextFieldKt {
+ method @androidx.compose.runtime.Composable public static void OutlinedTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ method @androidx.compose.runtime.Composable public static void OutlinedTextField(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ }
+
+ public final class ProgressIndicatorDefaults {
+ method public androidx.compose.animation.core.SpringSpec<java.lang.Float> getProgressAnimationSpec();
+ method public float getStrokeWidth-D9Ej5fM();
+ property public final androidx.compose.animation.core.SpringSpec<java.lang.Float> ProgressAnimationSpec;
+ property public final float StrokeWidth;
+ field public static final androidx.compose.material.ProgressIndicatorDefaults INSTANCE;
+ field public static final float IndicatorBackgroundOpacity = 0.24f;
+ }
+
+ public final class ProgressIndicatorKt {
+ method @androidx.compose.runtime.Composable public static void CircularProgressIndicator-vFL-O2w(float progress, optional androidx.compose.ui.Modifier modifier, optional long color, optional float strokeWidth);
+ method @androidx.compose.runtime.Composable public static void CircularProgressIndicator-y0SQU_c(optional androidx.compose.ui.Modifier modifier, optional long color, optional float strokeWidth);
+ method @androidx.compose.runtime.Composable public static void LinearProgressIndicator-BeBJghs(optional androidx.compose.ui.Modifier modifier, optional long color, optional long backgroundColor);
+ method @androidx.compose.runtime.Composable public static void LinearProgressIndicator-kLDug40(float progress, optional androidx.compose.ui.Modifier modifier, optional long color, optional long backgroundColor);
+ }
+
+ @androidx.compose.runtime.Stable public interface RadioButtonColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> radioColor(boolean enabled, boolean selected);
+ }
+
+ public final class RadioButtonDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.RadioButtonColors colors-xS_xkl8(optional long selectedColor, optional long unselectedColor, optional long disabledColor);
+ field public static final androidx.compose.material.RadioButtonDefaults INSTANCE;
+ }
+
+ public final class RadioButtonKt {
+ method @androidx.compose.runtime.Composable public static void RadioButton(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit>? onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.RadioButtonColors colors);
+ }
+
+ @androidx.compose.runtime.Immutable public final class ResistanceConfig {
+ ctor public ResistanceConfig(float basis, optional float factorAtMin, optional float factorAtMax);
+ method public float computeResistance(float overflow);
+ method public float getBasis();
+ method public float getFactorAtMax();
+ method public float getFactorAtMin();
+ property public final float basis;
+ property public final float factorAtMax;
+ property public final float factorAtMin;
+ }
+
+ public final class ScaffoldKt {
+ method @androidx.compose.runtime.Composable public static void Scaffold-axyFlp8(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.ScaffoldState scaffoldState, optional kotlin.jvm.functions.Function0<kotlin.Unit> topBar, optional kotlin.jvm.functions.Function0<kotlin.Unit> bottomBar, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.SnackbarHostState,kotlin.Unit> snackbarHost, optional kotlin.jvm.functions.Function0<kotlin.Unit> floatingActionButton, optional int floatingActionButtonPosition, optional boolean isFloatingActionButtonDocked, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit>? drawerContent, optional boolean drawerGesturesEnabled, optional androidx.compose.ui.graphics.Shape drawerShape, optional float drawerElevation, optional long drawerBackgroundColor, optional long drawerContentColor, optional long drawerScrimColor, optional long backgroundColor, optional long contentColor, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.PaddingValues,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static androidx.compose.material.ScaffoldState rememberScaffoldState(optional androidx.compose.material.DrawerState drawerState, optional androidx.compose.material.SnackbarHostState snackbarHostState);
+ }
+
+ @androidx.compose.runtime.Stable public final class ScaffoldState {
+ ctor public ScaffoldState(androidx.compose.material.DrawerState drawerState, androidx.compose.material.SnackbarHostState snackbarHostState);
+ method public androidx.compose.material.DrawerState getDrawerState();
+ method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
+ property public final androidx.compose.material.DrawerState drawerState;
+ property public final androidx.compose.material.SnackbarHostState snackbarHostState;
+ }
+
+ @androidx.compose.runtime.Immutable public final class Shapes {
+ ctor public Shapes(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
+ method public androidx.compose.material.Shapes copy(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
+ method public androidx.compose.foundation.shape.CornerBasedShape getLarge();
+ method public androidx.compose.foundation.shape.CornerBasedShape getMedium();
+ method public androidx.compose.foundation.shape.CornerBasedShape getSmall();
+ property public final androidx.compose.foundation.shape.CornerBasedShape large;
+ property public final androidx.compose.foundation.shape.CornerBasedShape medium;
+ property public final androidx.compose.foundation.shape.CornerBasedShape small;
+ }
+
+ public final class ShapesKt {
+ }
+
+ @androidx.compose.runtime.Stable public interface SliderColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> thumbColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> tickColor(boolean enabled, boolean active);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> trackColor(boolean enabled, boolean active);
+ }
+
+ public final class SliderDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.SliderColors colors-kU-unao(optional long thumbColor, optional long disabledThumbColor, optional long activeTrackColor, optional long inactiveTrackColor, optional long disabledActiveTrackColor, optional long disabledInactiveTrackColor, optional long activeTickColor, optional long inactiveTickColor, optional long disabledActiveTickColor, optional long disabledInactiveTickColor);
+ field public static final float DisabledActiveTrackAlpha = 0.32f;
+ field public static final float DisabledInactiveTrackAlpha = 0.12f;
+ field public static final float DisabledTickAlpha = 0.12f;
+ field public static final androidx.compose.material.SliderDefaults INSTANCE;
+ field public static final float InactiveTrackAlpha = 0.24f;
+ field public static final float TickAlpha = 0.54f;
+ }
+
+ public final class SliderKt {
+ method @androidx.compose.runtime.Composable public static void Slider(float value, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> valueRange, optional int steps, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onValueChangeFinished, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.SliderColors colors);
+ }
+
+ public interface SnackbarData {
+ method public void dismiss();
+ method public String? getActionLabel();
+ method public androidx.compose.material.SnackbarDuration getDuration();
+ method public String getMessage();
+ method public void performAction();
+ property public abstract String? actionLabel;
+ property public abstract androidx.compose.material.SnackbarDuration duration;
+ property public abstract String message;
+ }
+
+ public final class SnackbarDefaults {
+ method @androidx.compose.runtime.Composable public long getBackgroundColor-0d7_KjU();
+ method @androidx.compose.runtime.Composable public long getPrimaryActionColor-0d7_KjU();
+ property @androidx.compose.runtime.Composable public final long backgroundColor;
+ property @androidx.compose.runtime.Composable public final long primaryActionColor;
+ field public static final androidx.compose.material.SnackbarDefaults INSTANCE;
+ }
+
+ public enum SnackbarDuration {
+ enum_constant public static final androidx.compose.material.SnackbarDuration Indefinite;
+ enum_constant public static final androidx.compose.material.SnackbarDuration Long;
+ enum_constant public static final androidx.compose.material.SnackbarDuration Short;
+ }
+
+ public final class SnackbarHostKt {
+ method @androidx.compose.runtime.Composable public static void SnackbarHost(androidx.compose.material.SnackbarHostState hostState, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.SnackbarData,kotlin.Unit> snackbar);
+ }
+
+ @androidx.compose.runtime.Stable public final class SnackbarHostState {
+ ctor public SnackbarHostState();
+ method public androidx.compose.material.SnackbarData? getCurrentSnackbarData();
+ method public suspend Object? showSnackbar(String message, optional String? actionLabel, optional androidx.compose.material.SnackbarDuration duration, optional kotlin.coroutines.Continuation<? super androidx.compose.material.SnackbarResult> p);
+ property public final androidx.compose.material.SnackbarData? currentSnackbarData;
+ }
+
+ public final class SnackbarKt {
+ method @androidx.compose.runtime.Composable public static void Snackbar-GiTsVJ0(optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? action, optional boolean actionOnNewLine, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional float elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Snackbar-Ou9cdGU(androidx.compose.material.SnackbarData snackbarData, optional androidx.compose.ui.Modifier modifier, optional boolean actionOnNewLine, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional long actionColor, optional float elevation);
+ }
+
+ public enum SnackbarResult {
+ enum_constant public static final androidx.compose.material.SnackbarResult ActionPerformed;
+ enum_constant public static final androidx.compose.material.SnackbarResult Dismissed;
+ }
+
+ public final class Strings_androidKt {
+ }
+
+ public final class SurfaceKt {
+ method @androidx.compose.runtime.Composable public static void Surface-IHU7g64(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.graphics.Shape shape, optional long color, optional long contentColor, optional androidx.compose.foundation.BorderStroke? border, optional float elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class SwipeToDismissKt {
+ }
+
+ public final class SwipeableDefaults {
+ method public androidx.compose.animation.core.SpringSpec<java.lang.Float> getAnimationSpec();
+ method public float getVelocityThreshold-D9Ej5fM();
+ method public androidx.compose.material.ResistanceConfig? resistanceConfig(java.util.Set<java.lang.Float> anchors, optional float factorAtMin, optional float factorAtMax);
+ property public final androidx.compose.animation.core.SpringSpec<java.lang.Float> AnimationSpec;
+ property public final float VelocityThreshold;
+ field public static final androidx.compose.material.SwipeableDefaults INSTANCE;
+ field public static final float StandardResistanceFactor = 10.0f;
+ field public static final float StiffResistanceFactor = 20.0f;
+ }
+
+ public final class SwipeableKt {
+ }
+
+ @androidx.compose.runtime.Stable public interface SwitchColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> thumbColor(boolean enabled, boolean checked);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> trackColor(boolean enabled, boolean checked);
+ }
+
+ public final class SwitchDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.SwitchColors colors-R8aI8sA(optional long checkedThumbColor, optional long checkedTrackColor, optional float checkedTrackAlpha, optional long uncheckedThumbColor, optional long uncheckedTrackColor, optional float uncheckedTrackAlpha, optional long disabledCheckedThumbColor, optional long disabledCheckedTrackColor, optional long disabledUncheckedThumbColor, optional long disabledUncheckedTrackColor);
+ field public static final androidx.compose.material.SwitchDefaults INSTANCE;
+ }
+
+ public final class SwitchKt {
+ method @androidx.compose.runtime.Composable public static void Switch(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.SwitchColors colors);
+ }
+
+ public final class TabKt {
+ method @androidx.compose.runtime.Composable public static void Tab-TC9MJzw(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? text, optional kotlin.jvm.functions.Function0<kotlin.Unit>? icon, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor);
+ method @androidx.compose.runtime.Composable public static void Tab-wUuQ7UU(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TabPosition {
+ method public float getLeft-D9Ej5fM();
+ method public float getRight-D9Ej5fM();
+ method public float getWidth-D9Ej5fM();
+ property public final float left;
+ property public final float right;
+ property public final float width;
+ }
+
+ public final class TabRowDefaults {
+ method @androidx.compose.runtime.Composable public void Divider-Z-uBYeE(optional androidx.compose.ui.Modifier modifier, optional float thickness, optional long color);
+ method @androidx.compose.runtime.Composable public void Indicator-Z-uBYeE(optional androidx.compose.ui.Modifier modifier, optional float height, optional long color);
+ method public float getDividerThickness-D9Ej5fM();
+ method public float getIndicatorHeight-D9Ej5fM();
+ method public float getScrollableTabRowPadding-D9Ej5fM();
+ method public androidx.compose.ui.Modifier tabIndicatorOffset(androidx.compose.ui.Modifier, androidx.compose.material.TabPosition currentTabPosition);
+ property public final float DividerThickness;
+ property public final float IndicatorHeight;
+ property public final float ScrollableTabRowPadding;
+ field public static final float DividerOpacity = 0.12f;
+ field public static final androidx.compose.material.TabRowDefaults INSTANCE;
+ }
+
+ public final class TabRowKt {
+ method @androidx.compose.runtime.Composable public static void ScrollableTabRow-qhCAd8w(int selectedTabIndex, optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional float edgePadding, optional kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.material.TabPosition>,kotlin.Unit> indicator, optional kotlin.jvm.functions.Function0<kotlin.Unit> divider, kotlin.jvm.functions.Function0<kotlin.Unit> tabs);
+ method @androidx.compose.runtime.Composable public static void TabRow-xUsefZ0(int selectedTabIndex, optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.material.TabPosition>,kotlin.Unit> indicator, optional kotlin.jvm.functions.Function0<kotlin.Unit> divider, kotlin.jvm.functions.Function0<kotlin.Unit> tabs);
+ }
+
+ @androidx.compose.runtime.Stable public interface TextFieldColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> backgroundColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> cursorColor(boolean isError);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> indicatorColor(boolean enabled, boolean isError, androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> labelColor(boolean enabled, boolean error, androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> leadingIconColor(boolean enabled, boolean isError);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> placeholderColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> textColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> trailingIconColor(boolean enabled, boolean isError);
+ }
+
+ public final class TextFieldDefaults {
+ method public float getMinHeight-D9Ej5fM();
+ method public float getMinWidth-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public androidx.compose.material.TextFieldColors outlinedTextFieldColors-LWDMS30(optional long textColor, optional long disabledTextColor, optional long backgroundColor, optional long cursorColor, optional long errorCursorColor, optional long focusedBorderColor, optional long unfocusedBorderColor, optional long disabledBorderColor, optional long errorBorderColor, optional long leadingIconColor, optional long disabledLeadingIconColor, optional long errorLeadingIconColor, optional long trailingIconColor, optional long disabledTrailingIconColor, optional long errorTrailingIconColor, optional long focusedLabelColor, optional long unfocusedLabelColor, optional long disabledLabelColor, optional long errorLabelColor, optional long placeholderColor, optional long disabledPlaceholderColor);
+ method @androidx.compose.runtime.Composable public androidx.compose.material.TextFieldColors textFieldColors-LWDMS30(optional long textColor, optional long disabledTextColor, optional long backgroundColor, optional long cursorColor, optional long errorCursorColor, optional long focusedIndicatorColor, optional long unfocusedIndicatorColor, optional long disabledIndicatorColor, optional long errorIndicatorColor, optional long leadingIconColor, optional long disabledLeadingIconColor, optional long errorLeadingIconColor, optional long trailingIconColor, optional long disabledTrailingIconColor, optional long errorTrailingIconColor, optional long focusedLabelColor, optional long unfocusedLabelColor, optional long disabledLabelColor, optional long errorLabelColor, optional long placeholderColor, optional long disabledPlaceholderColor);
+ property public final float MinHeight;
+ property public final float MinWidth;
+ field public static final float BackgroundOpacity = 0.12f;
+ field public static final androidx.compose.material.TextFieldDefaults INSTANCE;
+ field public static final float IconOpacity = 0.54f;
+ field public static final float UnfocusedIndicatorLineOpacity = 0.42f;
+ }
+
+ public final class TextFieldImplKt {
+ }
+
+ public final class TextFieldKt {
+ method @androidx.compose.runtime.Composable public static void TextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ method @androidx.compose.runtime.Composable public static void TextField(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ }
+
+ public final class TextKt {
+ method @androidx.compose.runtime.Composable public static void ProvideTextStyle(androidx.compose.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Text-TPAwlIA(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional long letterSpacing, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.text.style.TextAlign? textAlign, optional long lineHeight, optional int overflow, optional boolean softWrap, optional int maxLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.ui.text.TextStyle style);
+ method @androidx.compose.runtime.Composable public static void Text-Vh6c2nE(String text, optional androidx.compose.ui.Modifier modifier, optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional long letterSpacing, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.text.style.TextAlign? textAlign, optional long lineHeight, optional int overflow, optional boolean softWrap, optional int maxLines, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.ui.text.TextStyle style);
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.text.TextStyle> getLocalTextStyle();
+ }
+
+ @androidx.compose.runtime.Immutable public final class Typography {
+ ctor public Typography(optional androidx.compose.ui.text.font.FontFamily defaultFontFamily, optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
+ method public androidx.compose.material.Typography copy(optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
+ method public androidx.compose.ui.text.TextStyle getBody1();
+ method public androidx.compose.ui.text.TextStyle getBody2();
+ method public androidx.compose.ui.text.TextStyle getButton();
+ method public androidx.compose.ui.text.TextStyle getCaption();
+ method public androidx.compose.ui.text.TextStyle getH1();
+ method public androidx.compose.ui.text.TextStyle getH2();
+ method public androidx.compose.ui.text.TextStyle getH3();
+ method public androidx.compose.ui.text.TextStyle getH4();
+ method public androidx.compose.ui.text.TextStyle getH5();
+ method public androidx.compose.ui.text.TextStyle getH6();
+ method public androidx.compose.ui.text.TextStyle getOverline();
+ method public androidx.compose.ui.text.TextStyle getSubtitle1();
+ method public androidx.compose.ui.text.TextStyle getSubtitle2();
+ property public final androidx.compose.ui.text.TextStyle body1;
+ property public final androidx.compose.ui.text.TextStyle body2;
+ property public final androidx.compose.ui.text.TextStyle button;
+ property public final androidx.compose.ui.text.TextStyle caption;
+ property public final androidx.compose.ui.text.TextStyle h1;
+ property public final androidx.compose.ui.text.TextStyle h2;
+ property public final androidx.compose.ui.text.TextStyle h3;
+ property public final androidx.compose.ui.text.TextStyle h4;
+ property public final androidx.compose.ui.text.TextStyle h5;
+ property public final androidx.compose.ui.text.TextStyle h6;
+ property public final androidx.compose.ui.text.TextStyle overline;
+ property public final androidx.compose.ui.text.TextStyle subtitle1;
+ property public final androidx.compose.ui.text.TextStyle subtitle2;
+ }
+
+ public final class TypographyKt {
+ }
+
+}
+
diff --git a/compose/material/material/api/public_plus_experimental_1.0.0-beta10.txt b/compose/material/material/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..a7a2c2d
--- /dev/null
+++ b/compose/material/material/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,804 @@
+// Signature format: 4.0
+package androidx.compose.material {
+
+ public final class AlertDialogKt {
+ }
+
+ public final class AndroidAlertDialog_androidKt {
+ method @androidx.compose.runtime.Composable public static void AlertDialog--HzSArw(kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, kotlin.jvm.functions.Function0<kotlin.Unit> confirmButton, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? dismissButton, optional kotlin.jvm.functions.Function0<kotlin.Unit>? title, optional kotlin.jvm.functions.Function0<kotlin.Unit>? text, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.ui.window.DialogProperties properties);
+ method @androidx.compose.runtime.Composable public static void AlertDialog-PPVLV-g(kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, kotlin.jvm.functions.Function0<kotlin.Unit> buttons, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? title, optional kotlin.jvm.functions.Function0<kotlin.Unit>? text, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.ui.window.DialogProperties properties);
+ }
+
+ public final class AndroidMenu_androidKt {
+ method @androidx.compose.runtime.Composable public static void DropdownMenu-jyMeD6A(boolean expanded, kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.Modifier modifier, optional long offset, optional androidx.compose.ui.window.PopupProperties properties, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void DropdownMenuItem(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.layout.PaddingValues contentPadding, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ }
+
+ public final class AppBarDefaults {
+ method public float getBottomAppBarElevation-D9Ej5fM();
+ method public androidx.compose.foundation.layout.PaddingValues getContentPadding();
+ method public float getTopAppBarElevation-D9Ej5fM();
+ property public final float BottomAppBarElevation;
+ property public final androidx.compose.foundation.layout.PaddingValues ContentPadding;
+ property public final float TopAppBarElevation;
+ field public static final androidx.compose.material.AppBarDefaults INSTANCE;
+ }
+
+ public final class AppBarKt {
+ method @androidx.compose.runtime.Composable public static void BottomAppBar-EMTaL0E(optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional androidx.compose.ui.graphics.Shape? cutoutShape, optional float elevation, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void TopAppBar-QjfF_Us(optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional float elevation, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void TopAppBar-_azMXew(kotlin.jvm.functions.Function0<kotlin.Unit> title, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> actions, optional long backgroundColor, optional long contentColor, optional float elevation);
+ }
+
+ public final class BackdropScaffoldDefaults {
+ method public float getFrontLayerElevation-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public long getFrontLayerScrimColor-0d7_KjU();
+ method @androidx.compose.runtime.Composable public androidx.compose.ui.graphics.Shape getFrontLayerShape();
+ method public float getHeaderHeight-D9Ej5fM();
+ method public float getPeekHeight-D9Ej5fM();
+ property public final float FrontLayerElevation;
+ property public final float HeaderHeight;
+ property public final float PeekHeight;
+ property @androidx.compose.runtime.Composable public final long frontLayerScrimColor;
+ property @androidx.compose.runtime.Composable public final androidx.compose.ui.graphics.Shape frontLayerShape;
+ field public static final androidx.compose.material.BackdropScaffoldDefaults INSTANCE;
+ }
+
+ public final class BackdropScaffoldKt {
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static void BackdropScaffold-hO0kuRE(kotlin.jvm.functions.Function0<kotlin.Unit> appBar, kotlin.jvm.functions.Function0<kotlin.Unit> backLayerContent, kotlin.jvm.functions.Function0<kotlin.Unit> frontLayerContent, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.BackdropScaffoldState scaffoldState, optional boolean gesturesEnabled, optional float peekHeight, optional float headerHeight, optional boolean persistentAppBar, optional boolean stickyFrontLayer, optional long backLayerBackgroundColor, optional long backLayerContentColor, optional androidx.compose.ui.graphics.Shape frontLayerShape, optional float frontLayerElevation, optional long frontLayerBackgroundColor, optional long frontLayerContentColor, optional long frontLayerScrimColor, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.SnackbarHostState,kotlin.Unit> snackbarHost);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static androidx.compose.material.BackdropScaffoldState rememberBackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, optional androidx.compose.material.SnackbarHostState snackbarHostState);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BackdropScaffoldState extends androidx.compose.material.SwipeableState<androidx.compose.material.BackdropValue> {
+ ctor public BackdropScaffoldState(androidx.compose.material.BackdropValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, optional androidx.compose.material.SnackbarHostState snackbarHostState);
+ method public suspend Object? conceal(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
+ method public boolean isConcealed();
+ method public boolean isRevealed();
+ method public suspend Object? reveal(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final boolean isConcealed;
+ property public final boolean isRevealed;
+ property public final androidx.compose.material.SnackbarHostState snackbarHostState;
+ field public static final androidx.compose.material.BackdropScaffoldState.Companion Companion;
+ }
+
+ public static final class BackdropScaffoldState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.material.BackdropScaffoldState,?> Saver(androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BackdropValue,java.lang.Boolean> confirmStateChange, androidx.compose.material.SnackbarHostState snackbarHostState);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi public enum BackdropValue {
+ enum_constant public static final androidx.compose.material.BackdropValue Concealed;
+ enum_constant public static final androidx.compose.material.BackdropValue Revealed;
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi public final class BottomDrawerState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomDrawerValue> {
+ ctor public BottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
+ method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public boolean isClosed();
+ method public boolean isExpanded();
+ method public boolean isOpen();
+ method public suspend Object? open(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final boolean isClosed;
+ property public final boolean isExpanded;
+ property public final boolean isOpen;
+ field public static final androidx.compose.material.BottomDrawerState.Companion Companion;
+ }
+
+ public static final class BottomDrawerState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.material.BottomDrawerState,androidx.compose.material.BottomDrawerValue> Saver(kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi public enum BottomDrawerValue {
+ enum_constant public static final androidx.compose.material.BottomDrawerValue Closed;
+ enum_constant public static final androidx.compose.material.BottomDrawerValue Expanded;
+ enum_constant public static final androidx.compose.material.BottomDrawerValue Open;
+ }
+
+ public final class BottomNavigationDefaults {
+ method public float getElevation-D9Ej5fM();
+ property public final float Elevation;
+ field public static final androidx.compose.material.BottomNavigationDefaults INSTANCE;
+ }
+
+ public final class BottomNavigationKt {
+ method @androidx.compose.runtime.Composable public static void BottomNavigation-ye6PvEY(optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional float elevation, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void BottomNavigationItem-g7W06kY(androidx.compose.foundation.layout.RowScope, boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> icon, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional boolean alwaysShowLabel, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor);
+ }
+
+ public final class BottomSheetScaffoldDefaults {
+ method public float getSheetElevation-D9Ej5fM();
+ method public float getSheetPeekHeight-D9Ej5fM();
+ property public final float SheetElevation;
+ property public final float SheetPeekHeight;
+ field public static final androidx.compose.material.BottomSheetScaffoldDefaults INSTANCE;
+ }
+
+ public final class BottomSheetScaffoldKt {
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static void BottomSheetScaffold-0Ttp7_s(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> sheetContent, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.BottomSheetScaffoldState scaffoldState, optional kotlin.jvm.functions.Function0<kotlin.Unit>? topBar, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.SnackbarHostState,kotlin.Unit> snackbarHost, optional kotlin.jvm.functions.Function0<kotlin.Unit>? floatingActionButton, optional int floatingActionButtonPosition, optional boolean sheetGesturesEnabled, optional androidx.compose.ui.graphics.Shape sheetShape, optional float sheetElevation, optional long sheetBackgroundColor, optional long sheetContentColor, optional float sheetPeekHeight, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit>? drawerContent, optional boolean drawerGesturesEnabled, optional androidx.compose.ui.graphics.Shape drawerShape, optional float drawerElevation, optional long drawerBackgroundColor, optional long drawerContentColor, optional long drawerScrimColor, optional long backgroundColor, optional long contentColor, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.PaddingValues,kotlin.Unit> content);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static androidx.compose.material.BottomSheetScaffoldState rememberBottomSheetScaffoldState(optional androidx.compose.material.DrawerState drawerState, optional androidx.compose.material.BottomSheetState bottomSheetState, optional androidx.compose.material.SnackbarHostState snackbarHostState);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static androidx.compose.material.BottomSheetState rememberBottomSheetState(androidx.compose.material.BottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BottomSheetScaffoldState {
+ ctor public BottomSheetScaffoldState(androidx.compose.material.DrawerState drawerState, androidx.compose.material.BottomSheetState bottomSheetState, androidx.compose.material.SnackbarHostState snackbarHostState);
+ method public androidx.compose.material.BottomSheetState getBottomSheetState();
+ method public androidx.compose.material.DrawerState getDrawerState();
+ method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
+ property public final androidx.compose.material.BottomSheetState bottomSheetState;
+ property public final androidx.compose.material.DrawerState drawerState;
+ property public final androidx.compose.material.SnackbarHostState snackbarHostState;
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public final class BottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.BottomSheetValue> {
+ ctor public BottomSheetState(androidx.compose.material.BottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
+ method public suspend Object? collapse(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? expand(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public boolean isCollapsed();
+ method public boolean isExpanded();
+ property public final boolean isCollapsed;
+ property public final boolean isExpanded;
+ field public static final androidx.compose.material.BottomSheetState.Companion Companion;
+ }
+
+ public static final class BottomSheetState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.material.BottomSheetState,?> Saver(androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomSheetValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi public enum BottomSheetValue {
+ enum_constant public static final androidx.compose.material.BottomSheetValue Collapsed;
+ enum_constant public static final androidx.compose.material.BottomSheetValue Expanded;
+ }
+
+ @androidx.compose.runtime.Stable public interface ButtonColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> backgroundColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> contentColor(boolean enabled);
+ }
+
+ public final class ButtonDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonColors buttonColors-nlx5xbs(optional long backgroundColor, optional long contentColor, optional long disabledBackgroundColor, optional long disabledContentColor);
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonElevation elevation-qYQSm_w(optional float defaultElevation, optional float pressedElevation, optional float disabledElevation);
+ method public androidx.compose.foundation.layout.PaddingValues getContentPadding();
+ method public float getIconSize-D9Ej5fM();
+ method public float getIconSpacing-D9Ej5fM();
+ method public float getMinHeight-D9Ej5fM();
+ method public float getMinWidth-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public androidx.compose.foundation.BorderStroke getOutlinedBorder();
+ method public float getOutlinedBorderSize-D9Ej5fM();
+ method public androidx.compose.foundation.layout.PaddingValues getTextButtonContentPadding();
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonColors outlinedButtonColors-xS_xkl8(optional long backgroundColor, optional long contentColor, optional long disabledContentColor);
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonColors textButtonColors-xS_xkl8(optional long backgroundColor, optional long contentColor, optional long disabledContentColor);
+ property public final androidx.compose.foundation.layout.PaddingValues ContentPadding;
+ property public final float IconSize;
+ property public final float IconSpacing;
+ property public final float MinHeight;
+ property public final float MinWidth;
+ property public final float OutlinedBorderSize;
+ property public final androidx.compose.foundation.layout.PaddingValues TextButtonContentPadding;
+ property @androidx.compose.runtime.Composable public final androidx.compose.foundation.BorderStroke outlinedBorder;
+ field public static final androidx.compose.material.ButtonDefaults INSTANCE;
+ field public static final float OutlinedBorderOpacity = 0.12f;
+ }
+
+ @androidx.compose.runtime.Stable public interface ButtonElevation {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> elevation(boolean enabled, androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ }
+
+ public final class ButtonKt {
+ method @androidx.compose.runtime.Composable public static void Button(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.ButtonElevation? elevation, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.foundation.BorderStroke? border, optional androidx.compose.material.ButtonColors colors, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void OutlinedButton(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.ButtonElevation? elevation, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.foundation.BorderStroke? border, optional androidx.compose.material.ButtonColors colors, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void TextButton(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.ButtonElevation? elevation, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.foundation.BorderStroke? border, optional androidx.compose.material.ButtonColors colors, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ }
+
+ public final class CardKt {
+ method @androidx.compose.runtime.Composable public static void Card-IHU7g64(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.foundation.BorderStroke? border, optional float elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static void Card-VL29DuM(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.foundation.BorderStroke? border, optional float elevation, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.foundation.Indication? indication, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ @androidx.compose.runtime.Stable public interface CheckboxColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> borderColor(boolean enabled, androidx.compose.ui.state.ToggleableState state);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> boxColor(boolean enabled, androidx.compose.ui.state.ToggleableState state);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> checkmarkColor(androidx.compose.ui.state.ToggleableState state);
+ }
+
+ public final class CheckboxDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.CheckboxColors colors-QGkLkJU(optional long checkedColor, optional long uncheckedColor, optional long checkmarkColor, optional long disabledColor, optional long disabledIndeterminateColor);
+ field public static final androidx.compose.material.CheckboxDefaults INSTANCE;
+ }
+
+ public final class CheckboxKt {
+ method @androidx.compose.runtime.Composable public static void Checkbox(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.CheckboxColors colors);
+ method @androidx.compose.runtime.Composable public static void TriStateCheckbox(androidx.compose.ui.state.ToggleableState state, kotlin.jvm.functions.Function0<kotlin.Unit>? onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.CheckboxColors colors);
+ }
+
+ @androidx.compose.runtime.Stable public final class Colors {
+ method public androidx.compose.material.Colors copy-7EMdAJ8(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onError, optional boolean isLight);
+ method public long getBackground-0d7_KjU();
+ method public long getError-0d7_KjU();
+ method public long getOnBackground-0d7_KjU();
+ method public long getOnError-0d7_KjU();
+ method public long getOnPrimary-0d7_KjU();
+ method public long getOnSecondary-0d7_KjU();
+ method public long getOnSurface-0d7_KjU();
+ method public long getPrimary-0d7_KjU();
+ method public long getPrimaryVariant-0d7_KjU();
+ method public long getSecondary-0d7_KjU();
+ method public long getSecondaryVariant-0d7_KjU();
+ method public long getSurface-0d7_KjU();
+ method public boolean isLight();
+ property public final long background;
+ property public final long error;
+ property public final boolean isLight;
+ property public final long onBackground;
+ property public final long onError;
+ property public final long onPrimary;
+ property public final long onSecondary;
+ property public final long onSurface;
+ property public final long primary;
+ property public final long primaryVariant;
+ property public final long secondary;
+ property public final long secondaryVariant;
+ property public final long surface;
+ }
+
+ public final class ColorsKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static long contentColorFor-8_81llA(long backgroundColor);
+ method public static long contentColorFor-pz-ABmo(androidx.compose.material.Colors, long backgroundColor);
+ method public static androidx.compose.material.Colors darkColors-hW7iGhc(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onError);
+ method public static long getPrimarySurface(androidx.compose.material.Colors);
+ method public static androidx.compose.material.Colors lightColors-hW7iGhc(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onError);
+ }
+
+ public final class ContentAlpha {
+ method @androidx.compose.runtime.Composable public float getDisabled();
+ method @androidx.compose.runtime.Composable public float getHigh();
+ method @androidx.compose.runtime.Composable public float getMedium();
+ property @androidx.compose.runtime.Composable public final float disabled;
+ property @androidx.compose.runtime.Composable public final float high;
+ property @androidx.compose.runtime.Composable public final float medium;
+ field public static final androidx.compose.material.ContentAlpha INSTANCE;
+ }
+
+ public final class ContentAlphaKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<java.lang.Float> getLocalContentAlpha();
+ }
+
+ public final class ContentColorKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.graphics.Color> getLocalContentColor();
+ }
+
+ public enum DismissDirection {
+ enum_constant public static final androidx.compose.material.DismissDirection EndToStart;
+ enum_constant public static final androidx.compose.material.DismissDirection StartToEnd;
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi public final class DismissState extends androidx.compose.material.SwipeableState<androidx.compose.material.DismissValue> {
+ ctor public DismissState(androidx.compose.material.DismissValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
+ method public suspend Object? dismiss(androidx.compose.material.DismissDirection direction, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public androidx.compose.material.DismissDirection? getDismissDirection();
+ method public boolean isDismissed(androidx.compose.material.DismissDirection direction);
+ method public suspend Object? reset(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final androidx.compose.material.DismissDirection? dismissDirection;
+ field public static final androidx.compose.material.DismissState.Companion Companion;
+ }
+
+ public static final class DismissState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.material.DismissState,androidx.compose.material.DismissValue> Saver(kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ public enum DismissValue {
+ enum_constant public static final androidx.compose.material.DismissValue Default;
+ enum_constant public static final androidx.compose.material.DismissValue DismissedToEnd;
+ enum_constant public static final androidx.compose.material.DismissValue DismissedToStart;
+ }
+
+ public final class DividerKt {
+ method @androidx.compose.runtime.Composable public static void Divider-JRSVyrs(optional androidx.compose.ui.Modifier modifier, optional long color, optional float thickness, optional float startIndent);
+ }
+
+ public final class DrawerDefaults {
+ method public float getElevation-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public long getScrimColor-0d7_KjU();
+ property public final float Elevation;
+ property @androidx.compose.runtime.Composable public final long scrimColor;
+ field public static final androidx.compose.material.DrawerDefaults INSTANCE;
+ field public static final float ScrimOpacity = 0.32f;
+ }
+
+ public final class DrawerKt {
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static void BottomDrawer--6CoO6E(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> drawerContent, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.BottomDrawerState drawerState, optional boolean gesturesEnabled, optional androidx.compose.ui.graphics.Shape drawerShape, optional float drawerElevation, optional long drawerBackgroundColor, optional long drawerContentColor, optional long scrimColor, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void ModalDrawer-TlzqArY(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> drawerContent, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.DrawerState drawerState, optional boolean gesturesEnabled, optional androidx.compose.ui.graphics.Shape drawerShape, optional float drawerElevation, optional long drawerBackgroundColor, optional long drawerContentColor, optional long scrimColor, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static androidx.compose.material.BottomDrawerState rememberBottomDrawerState(androidx.compose.material.BottomDrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.BottomDrawerValue,java.lang.Boolean> confirmStateChange);
+ method @androidx.compose.runtime.Composable public static androidx.compose.material.DrawerState rememberDrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ @androidx.compose.runtime.Stable public final class DrawerState {
+ ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+ method @androidx.compose.material.ExperimentalMaterialApi public suspend Object? animateTo(androidx.compose.material.DrawerValue targetValue, androidx.compose.animation.core.AnimationSpec<java.lang.Float> anim, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public androidx.compose.material.DrawerValue getCurrentValue();
+ method @androidx.compose.material.ExperimentalMaterialApi public androidx.compose.runtime.State<java.lang.Float> getOffset();
+ method @androidx.compose.material.ExperimentalMaterialApi public androidx.compose.material.DrawerValue getTargetValue();
+ method public boolean isAnimationRunning();
+ method public boolean isClosed();
+ method public boolean isOpen();
+ method public suspend Object? open(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method @androidx.compose.material.ExperimentalMaterialApi public suspend Object? snapTo(androidx.compose.material.DrawerValue targetValue, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final androidx.compose.material.DrawerValue currentValue;
+ property public final boolean isAnimationRunning;
+ property public final boolean isClosed;
+ property public final boolean isOpen;
+ property @androidx.compose.material.ExperimentalMaterialApi public final androidx.compose.runtime.State<java.lang.Float> offset;
+ property @androidx.compose.material.ExperimentalMaterialApi public final androidx.compose.material.DrawerValue targetValue;
+ field public static final androidx.compose.material.DrawerState.Companion Companion;
+ }
+
+ public static final class DrawerState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.material.DrawerState,androidx.compose.material.DrawerValue> Saver(kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ public enum DrawerValue {
+ enum_constant public static final androidx.compose.material.DrawerValue Closed;
+ enum_constant public static final androidx.compose.material.DrawerValue Open;
+ }
+
+ public final class ElevationKt {
+ }
+
+ public interface ElevationOverlay {
+ method @androidx.compose.runtime.Composable public long apply-_fH6D24(long color, float elevation);
+ }
+
+ public final class ElevationOverlayKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.unit.Dp> getLocalAbsoluteElevation();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material.ElevationOverlay> getLocalElevationOverlay();
+ }
+
+ @kotlin.RequiresOptIn(message="This material API is experimental and is likely to change or to be removed in" + " the future.") public @interface ExperimentalMaterialApi {
+ }
+
+ public final inline class FabPosition {
+ ctor public FabPosition();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.material.FabPosition.Companion Companion;
+ }
+
+ public static final class FabPosition.Companion {
+ method public int getCenter-5ygKITE();
+ method public int getEnd-5ygKITE();
+ property public final int Center;
+ property public final int End;
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Immutable public final class FixedThreshold implements androidx.compose.material.ThresholdConfig {
+ method public float computeThreshold(androidx.compose.ui.unit.Density, float fromValue, float toValue);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Immutable public androidx.compose.material.FixedThreshold copy-0680j_4(float offset);
+ }
+
+ public final class FloatingActionButtonDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.FloatingActionButtonElevation elevation-ioHfwGI(optional float defaultElevation, optional float pressedElevation);
+ field public static final androidx.compose.material.FloatingActionButtonDefaults INSTANCE;
+ }
+
+ @androidx.compose.runtime.Stable public interface FloatingActionButtonElevation {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> elevation(androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ }
+
+ public final class FloatingActionButtonKt {
+ method @androidx.compose.runtime.Composable public static void ExtendedFloatingActionButton-opHSmBI(kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? icon, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.material.FloatingActionButtonElevation elevation);
+ method @androidx.compose.runtime.Composable public static void FloatingActionButton-n9X6i6U(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.material.FloatingActionButtonElevation elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Immutable public final class FractionalThreshold implements androidx.compose.material.ThresholdConfig {
+ ctor public FractionalThreshold(float fraction);
+ method public float computeThreshold(androidx.compose.ui.unit.Density, float fromValue, float toValue);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Immutable public androidx.compose.material.FractionalThreshold copy(float fraction);
+ }
+
+ public final class IconButtonKt {
+ method @androidx.compose.runtime.Composable public static void IconButton(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void IconToggleButton(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onCheckedChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class IconKt {
+ method @androidx.compose.runtime.Composable public static void Icon-8NTYWNk(androidx.compose.ui.graphics.painter.Painter painter, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional long tint);
+ method @androidx.compose.runtime.Composable public static void Icon-BG621w0(androidx.compose.ui.graphics.vector.ImageVector imageVector, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional long tint);
+ method @androidx.compose.runtime.Composable public static void Icon-hGAziDE(androidx.compose.ui.graphics.ImageBitmap bitmap, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional long tint);
+ }
+
+ public final class ListItemKt {
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static void ListItem(optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? icon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? secondaryText, optional boolean singleLineSecondaryText, optional kotlin.jvm.functions.Function0<kotlin.Unit>? overlineText, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailing, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+ }
+
+ public final class MaterialTextSelectionColorsKt {
+ }
+
+ public final class MaterialTheme {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public androidx.compose.material.Colors getColors();
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public androidx.compose.material.Shapes getShapes();
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public androidx.compose.material.Typography getTypography();
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final androidx.compose.material.Colors colors;
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final androidx.compose.material.Shapes shapes;
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final androidx.compose.material.Typography typography;
+ field public static final androidx.compose.material.MaterialTheme INSTANCE;
+ }
+
+ public final class MaterialThemeKt {
+ method @androidx.compose.runtime.Composable public static void MaterialTheme(optional androidx.compose.material.Colors colors, optional androidx.compose.material.Typography typography, optional androidx.compose.material.Shapes shapes, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class MenuDefaults {
+ method public androidx.compose.foundation.layout.PaddingValues getDropdownMenuItemContentPadding();
+ property public final androidx.compose.foundation.layout.PaddingValues DropdownMenuItemContentPadding;
+ field public static final androidx.compose.material.MenuDefaults INSTANCE;
+ }
+
+ public final class MenuKt {
+ }
+
+ public final class ModalBottomSheetDefaults {
+ method public float getElevation-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public long getScrimColor-0d7_KjU();
+ property public final float Elevation;
+ property @androidx.compose.runtime.Composable public final long scrimColor;
+ field public static final androidx.compose.material.ModalBottomSheetDefaults INSTANCE;
+ }
+
+ public final class ModalBottomSheetKt {
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static void ModalBottomSheetLayout-dpadJcU(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> sheetContent, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.ModalBottomSheetState sheetState, optional androidx.compose.ui.graphics.Shape sheetShape, optional float sheetElevation, optional long sheetBackgroundColor, optional long sheetContentColor, optional long scrimColor, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static androidx.compose.material.ModalBottomSheetState rememberModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi public final class ModalBottomSheetState extends androidx.compose.material.SwipeableState<androidx.compose.material.ModalBottomSheetValue> {
+ ctor public ModalBottomSheetState(androidx.compose.material.ModalBottomSheetValue initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
+ method public suspend Object? hide(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public boolean isVisible();
+ method public suspend Object? show(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final boolean isVisible;
+ field public static final androidx.compose.material.ModalBottomSheetState.Companion Companion;
+ }
+
+ public static final class ModalBottomSheetState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.material.ModalBottomSheetState,?> Saver(androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super androidx.compose.material.ModalBottomSheetValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi public enum ModalBottomSheetValue {
+ enum_constant public static final androidx.compose.material.ModalBottomSheetValue Expanded;
+ enum_constant public static final androidx.compose.material.ModalBottomSheetValue HalfExpanded;
+ enum_constant public static final androidx.compose.material.ModalBottomSheetValue Hidden;
+ }
+
+ public final class OutlinedTextFieldKt {
+ method @androidx.compose.runtime.Composable public static void OutlinedTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ method @androidx.compose.runtime.Composable public static void OutlinedTextField(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ }
+
+ public final class ProgressIndicatorDefaults {
+ method public androidx.compose.animation.core.SpringSpec<java.lang.Float> getProgressAnimationSpec();
+ method public float getStrokeWidth-D9Ej5fM();
+ property public final androidx.compose.animation.core.SpringSpec<java.lang.Float> ProgressAnimationSpec;
+ property public final float StrokeWidth;
+ field public static final androidx.compose.material.ProgressIndicatorDefaults INSTANCE;
+ field public static final float IndicatorBackgroundOpacity = 0.24f;
+ }
+
+ public final class ProgressIndicatorKt {
+ method @androidx.compose.runtime.Composable public static void CircularProgressIndicator-vFL-O2w(float progress, optional androidx.compose.ui.Modifier modifier, optional long color, optional float strokeWidth);
+ method @androidx.compose.runtime.Composable public static void CircularProgressIndicator-y0SQU_c(optional androidx.compose.ui.Modifier modifier, optional long color, optional float strokeWidth);
+ method @androidx.compose.runtime.Composable public static void LinearProgressIndicator-BeBJghs(optional androidx.compose.ui.Modifier modifier, optional long color, optional long backgroundColor);
+ method @androidx.compose.runtime.Composable public static void LinearProgressIndicator-kLDug40(float progress, optional androidx.compose.ui.Modifier modifier, optional long color, optional long backgroundColor);
+ }
+
+ @androidx.compose.runtime.Stable public interface RadioButtonColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> radioColor(boolean enabled, boolean selected);
+ }
+
+ public final class RadioButtonDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.RadioButtonColors colors-xS_xkl8(optional long selectedColor, optional long unselectedColor, optional long disabledColor);
+ field public static final androidx.compose.material.RadioButtonDefaults INSTANCE;
+ }
+
+ public final class RadioButtonKt {
+ method @androidx.compose.runtime.Composable public static void RadioButton(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit>? onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.RadioButtonColors colors);
+ }
+
+ @androidx.compose.runtime.Immutable public final class ResistanceConfig {
+ ctor public ResistanceConfig(float basis, optional float factorAtMin, optional float factorAtMax);
+ method public float computeResistance(float overflow);
+ method public float getBasis();
+ method public float getFactorAtMax();
+ method public float getFactorAtMin();
+ property public final float basis;
+ property public final float factorAtMax;
+ property public final float factorAtMin;
+ }
+
+ public final class ScaffoldKt {
+ method @androidx.compose.runtime.Composable public static void Scaffold-axyFlp8(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.ScaffoldState scaffoldState, optional kotlin.jvm.functions.Function0<kotlin.Unit> topBar, optional kotlin.jvm.functions.Function0<kotlin.Unit> bottomBar, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.SnackbarHostState,kotlin.Unit> snackbarHost, optional kotlin.jvm.functions.Function0<kotlin.Unit> floatingActionButton, optional int floatingActionButtonPosition, optional boolean isFloatingActionButtonDocked, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit>? drawerContent, optional boolean drawerGesturesEnabled, optional androidx.compose.ui.graphics.Shape drawerShape, optional float drawerElevation, optional long drawerBackgroundColor, optional long drawerContentColor, optional long drawerScrimColor, optional long backgroundColor, optional long contentColor, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.PaddingValues,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static androidx.compose.material.ScaffoldState rememberScaffoldState(optional androidx.compose.material.DrawerState drawerState, optional androidx.compose.material.SnackbarHostState snackbarHostState);
+ }
+
+ @androidx.compose.runtime.Stable public final class ScaffoldState {
+ ctor public ScaffoldState(androidx.compose.material.DrawerState drawerState, androidx.compose.material.SnackbarHostState snackbarHostState);
+ method public androidx.compose.material.DrawerState getDrawerState();
+ method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
+ property public final androidx.compose.material.DrawerState drawerState;
+ property public final androidx.compose.material.SnackbarHostState snackbarHostState;
+ }
+
+ @androidx.compose.runtime.Immutable public final class Shapes {
+ ctor public Shapes(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
+ method public androidx.compose.material.Shapes copy(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
+ method public androidx.compose.foundation.shape.CornerBasedShape getLarge();
+ method public androidx.compose.foundation.shape.CornerBasedShape getMedium();
+ method public androidx.compose.foundation.shape.CornerBasedShape getSmall();
+ property public final androidx.compose.foundation.shape.CornerBasedShape large;
+ property public final androidx.compose.foundation.shape.CornerBasedShape medium;
+ property public final androidx.compose.foundation.shape.CornerBasedShape small;
+ }
+
+ public final class ShapesKt {
+ }
+
+ @androidx.compose.runtime.Stable public interface SliderColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> thumbColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> tickColor(boolean enabled, boolean active);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> trackColor(boolean enabled, boolean active);
+ }
+
+ public final class SliderDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.SliderColors colors-kU-unao(optional long thumbColor, optional long disabledThumbColor, optional long activeTrackColor, optional long inactiveTrackColor, optional long disabledActiveTrackColor, optional long disabledInactiveTrackColor, optional long activeTickColor, optional long inactiveTickColor, optional long disabledActiveTickColor, optional long disabledInactiveTickColor);
+ field public static final float DisabledActiveTrackAlpha = 0.32f;
+ field public static final float DisabledInactiveTrackAlpha = 0.12f;
+ field public static final float DisabledTickAlpha = 0.12f;
+ field public static final androidx.compose.material.SliderDefaults INSTANCE;
+ field public static final float InactiveTrackAlpha = 0.24f;
+ field public static final float TickAlpha = 0.54f;
+ }
+
+ public final class SliderKt {
+ method @androidx.compose.runtime.Composable public static void Slider(float value, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> valueRange, optional int steps, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onValueChangeFinished, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.SliderColors colors);
+ }
+
+ public interface SnackbarData {
+ method public void dismiss();
+ method public String? getActionLabel();
+ method public androidx.compose.material.SnackbarDuration getDuration();
+ method public String getMessage();
+ method public void performAction();
+ property public abstract String? actionLabel;
+ property public abstract androidx.compose.material.SnackbarDuration duration;
+ property public abstract String message;
+ }
+
+ public final class SnackbarDefaults {
+ method @androidx.compose.runtime.Composable public long getBackgroundColor-0d7_KjU();
+ method @androidx.compose.runtime.Composable public long getPrimaryActionColor-0d7_KjU();
+ property @androidx.compose.runtime.Composable public final long backgroundColor;
+ property @androidx.compose.runtime.Composable public final long primaryActionColor;
+ field public static final androidx.compose.material.SnackbarDefaults INSTANCE;
+ }
+
+ public enum SnackbarDuration {
+ enum_constant public static final androidx.compose.material.SnackbarDuration Indefinite;
+ enum_constant public static final androidx.compose.material.SnackbarDuration Long;
+ enum_constant public static final androidx.compose.material.SnackbarDuration Short;
+ }
+
+ public final class SnackbarHostKt {
+ method @androidx.compose.runtime.Composable public static void SnackbarHost(androidx.compose.material.SnackbarHostState hostState, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.SnackbarData,kotlin.Unit> snackbar);
+ }
+
+ @androidx.compose.runtime.Stable public final class SnackbarHostState {
+ ctor public SnackbarHostState();
+ method public androidx.compose.material.SnackbarData? getCurrentSnackbarData();
+ method public suspend Object? showSnackbar(String message, optional String? actionLabel, optional androidx.compose.material.SnackbarDuration duration, optional kotlin.coroutines.Continuation<? super androidx.compose.material.SnackbarResult> p);
+ property public final androidx.compose.material.SnackbarData? currentSnackbarData;
+ }
+
+ public final class SnackbarKt {
+ method @androidx.compose.runtime.Composable public static void Snackbar-GiTsVJ0(optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? action, optional boolean actionOnNewLine, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional float elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Snackbar-Ou9cdGU(androidx.compose.material.SnackbarData snackbarData, optional androidx.compose.ui.Modifier modifier, optional boolean actionOnNewLine, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional long actionColor, optional float elevation);
+ }
+
+ public enum SnackbarResult {
+ enum_constant public static final androidx.compose.material.SnackbarResult ActionPerformed;
+ enum_constant public static final androidx.compose.material.SnackbarResult Dismissed;
+ }
+
+ public final class Strings_androidKt {
+ }
+
+ public final class SurfaceKt {
+ method @androidx.compose.runtime.Composable public static void Surface-IHU7g64(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.graphics.Shape shape, optional long color, optional long contentColor, optional androidx.compose.foundation.BorderStroke? border, optional float elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static void Surface-VL29DuM(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.graphics.Shape shape, optional long color, optional long contentColor, optional androidx.compose.foundation.BorderStroke? border, optional float elevation, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.foundation.Indication? indication, optional boolean enabled, optional String? onClickLabel, optional androidx.compose.ui.semantics.Role? role, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Immutable public final class SwipeProgress<T> {
+ ctor public SwipeProgress(T? from, T? to, float fraction);
+ method public float getFraction();
+ method public T! getFrom();
+ method public T! getTo();
+ property public final float fraction;
+ property public final T! from;
+ property public final T! to;
+ }
+
+ public final class SwipeToDismissKt {
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static void SwipeToDismiss(androidx.compose.material.DismissState state, optional androidx.compose.ui.Modifier modifier, optional java.util.Set<? extends androidx.compose.material.DismissDirection> directions, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissDirection,? extends androidx.compose.material.ThresholdConfig> dismissThresholds, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> background, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> dismissContent);
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static androidx.compose.material.DismissState rememberDismissState(optional androidx.compose.material.DismissValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DismissValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ public final class SwipeableDefaults {
+ method public androidx.compose.animation.core.SpringSpec<java.lang.Float> getAnimationSpec();
+ method public float getVelocityThreshold-D9Ej5fM();
+ method public androidx.compose.material.ResistanceConfig? resistanceConfig(java.util.Set<java.lang.Float> anchors, optional float factorAtMin, optional float factorAtMax);
+ property public final androidx.compose.animation.core.SpringSpec<java.lang.Float> AnimationSpec;
+ property public final float VelocityThreshold;
+ field public static final androidx.compose.material.SwipeableDefaults INSTANCE;
+ field public static final float StandardResistanceFactor = 10.0f;
+ field public static final float StiffResistanceFactor = 20.0f;
+ }
+
+ public final class SwipeableKt {
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static <T> androidx.compose.material.SwipeableState<T> rememberSwipeableState(T initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
+ method @androidx.compose.material.ExperimentalMaterialApi public static <T> androidx.compose.ui.Modifier swipeable-827DgyA(androidx.compose.ui.Modifier, androidx.compose.material.SwipeableState<T> state, java.util.Map<java.lang.Float,? extends T> anchors, androidx.compose.foundation.gestures.Orientation orientation, optional boolean enabled, optional boolean reverseDirection, optional androidx.compose.foundation.interaction.MutableInteractionSource? interactionSource, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends androidx.compose.material.ThresholdConfig> thresholds, optional androidx.compose.material.ResistanceConfig? resistance, optional float velocityThreshold);
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public class SwipeableState<T> {
+ ctor public SwipeableState(T? initialValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, optional kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
+ method @androidx.compose.material.ExperimentalMaterialApi public final suspend Object? animateTo(T? targetValue, optional androidx.compose.animation.core.AnimationSpec<java.lang.Float> anim, optional kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public final T! getCurrentValue();
+ method public final float getDirection();
+ method public final androidx.compose.runtime.State<java.lang.Float> getOffset();
+ method public final androidx.compose.runtime.State<java.lang.Float> getOverflow();
+ method public final androidx.compose.material.SwipeProgress<T> getProgress();
+ method public final T! getTargetValue();
+ method public final boolean isAnimationRunning();
+ method public final float performDrag(float delta);
+ method public final suspend Object? performFling(float velocity, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method @androidx.compose.material.ExperimentalMaterialApi public final suspend Object? snapTo(T? targetValue, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final T! currentValue;
+ property public final float direction;
+ property public final boolean isAnimationRunning;
+ property public final androidx.compose.runtime.State<java.lang.Float> offset;
+ property public final androidx.compose.runtime.State<java.lang.Float> overflow;
+ property public final androidx.compose.material.SwipeProgress<T> progress;
+ property public final T! targetValue;
+ field public static final androidx.compose.material.SwipeableState.Companion Companion;
+ }
+
+ public static final class SwipeableState.Companion {
+ method public <T> androidx.compose.runtime.saveable.Saver<androidx.compose.material.SwipeableState<T>,T> Saver(androidx.compose.animation.core.AnimationSpec<java.lang.Float> animationSpec, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> confirmStateChange);
+ }
+
+ @androidx.compose.runtime.Stable public interface SwitchColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> thumbColor(boolean enabled, boolean checked);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> trackColor(boolean enabled, boolean checked);
+ }
+
+ public final class SwitchDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.SwitchColors colors-R8aI8sA(optional long checkedThumbColor, optional long checkedTrackColor, optional float checkedTrackAlpha, optional long uncheckedThumbColor, optional long uncheckedTrackColor, optional float uncheckedTrackAlpha, optional long disabledCheckedThumbColor, optional long disabledCheckedTrackColor, optional long disabledUncheckedThumbColor, optional long disabledUncheckedTrackColor);
+ field public static final androidx.compose.material.SwitchDefaults INSTANCE;
+ }
+
+ public final class SwitchKt {
+ method @androidx.compose.runtime.Composable public static void Switch(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.SwitchColors colors);
+ }
+
+ public final class TabKt {
+ method @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Composable public static void LeadingIconTab-PWX9des(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> icon, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor);
+ method @androidx.compose.runtime.Composable public static void Tab-TC9MJzw(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? text, optional kotlin.jvm.functions.Function0<kotlin.Unit>? icon, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor);
+ method @androidx.compose.runtime.Composable public static void Tab-wUuQ7UU(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TabPosition {
+ method public float getLeft-D9Ej5fM();
+ method public float getRight-D9Ej5fM();
+ method public float getWidth-D9Ej5fM();
+ property public final float left;
+ property public final float right;
+ property public final float width;
+ }
+
+ public final class TabRowDefaults {
+ method @androidx.compose.runtime.Composable public void Divider-Z-uBYeE(optional androidx.compose.ui.Modifier modifier, optional float thickness, optional long color);
+ method @androidx.compose.runtime.Composable public void Indicator-Z-uBYeE(optional androidx.compose.ui.Modifier modifier, optional float height, optional long color);
+ method public float getDividerThickness-D9Ej5fM();
+ method public float getIndicatorHeight-D9Ej5fM();
+ method public float getScrollableTabRowPadding-D9Ej5fM();
+ method public androidx.compose.ui.Modifier tabIndicatorOffset(androidx.compose.ui.Modifier, androidx.compose.material.TabPosition currentTabPosition);
+ property public final float DividerThickness;
+ property public final float IndicatorHeight;
+ property public final float ScrollableTabRowPadding;
+ field public static final float DividerOpacity = 0.12f;
+ field public static final androidx.compose.material.TabRowDefaults INSTANCE;
+ }
+
+ public final class TabRowKt {
+ method @androidx.compose.runtime.Composable public static void ScrollableTabRow-qhCAd8w(int selectedTabIndex, optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional float edgePadding, optional kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.material.TabPosition>,kotlin.Unit> indicator, optional kotlin.jvm.functions.Function0<kotlin.Unit> divider, kotlin.jvm.functions.Function0<kotlin.Unit> tabs);
+ method @androidx.compose.runtime.Composable public static void TabRow-xUsefZ0(int selectedTabIndex, optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.material.TabPosition>,kotlin.Unit> indicator, optional kotlin.jvm.functions.Function0<kotlin.Unit> divider, kotlin.jvm.functions.Function0<kotlin.Unit> tabs);
+ }
+
+ @androidx.compose.runtime.Stable public interface TextFieldColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> backgroundColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> cursorColor(boolean isError);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> indicatorColor(boolean enabled, boolean isError, androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> labelColor(boolean enabled, boolean error, androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> leadingIconColor(boolean enabled, boolean isError);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> placeholderColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> textColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> trailingIconColor(boolean enabled, boolean isError);
+ }
+
+ public final class TextFieldDefaults {
+ method public float getMinHeight-D9Ej5fM();
+ method public float getMinWidth-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public androidx.compose.material.TextFieldColors outlinedTextFieldColors-LWDMS30(optional long textColor, optional long disabledTextColor, optional long backgroundColor, optional long cursorColor, optional long errorCursorColor, optional long focusedBorderColor, optional long unfocusedBorderColor, optional long disabledBorderColor, optional long errorBorderColor, optional long leadingIconColor, optional long disabledLeadingIconColor, optional long errorLeadingIconColor, optional long trailingIconColor, optional long disabledTrailingIconColor, optional long errorTrailingIconColor, optional long focusedLabelColor, optional long unfocusedLabelColor, optional long disabledLabelColor, optional long errorLabelColor, optional long placeholderColor, optional long disabledPlaceholderColor);
+ method @androidx.compose.runtime.Composable public androidx.compose.material.TextFieldColors textFieldColors-LWDMS30(optional long textColor, optional long disabledTextColor, optional long backgroundColor, optional long cursorColor, optional long errorCursorColor, optional long focusedIndicatorColor, optional long unfocusedIndicatorColor, optional long disabledIndicatorColor, optional long errorIndicatorColor, optional long leadingIconColor, optional long disabledLeadingIconColor, optional long errorLeadingIconColor, optional long trailingIconColor, optional long disabledTrailingIconColor, optional long errorTrailingIconColor, optional long focusedLabelColor, optional long unfocusedLabelColor, optional long disabledLabelColor, optional long errorLabelColor, optional long placeholderColor, optional long disabledPlaceholderColor);
+ property public final float MinHeight;
+ property public final float MinWidth;
+ field public static final float BackgroundOpacity = 0.12f;
+ field public static final androidx.compose.material.TextFieldDefaults INSTANCE;
+ field public static final float IconOpacity = 0.54f;
+ field public static final float UnfocusedIndicatorLineOpacity = 0.42f;
+ }
+
+ public final class TextFieldImplKt {
+ }
+
+ public final class TextFieldKt {
+ method @androidx.compose.runtime.Composable public static void TextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ method @androidx.compose.runtime.Composable public static void TextField(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ }
+
+ public final class TextKt {
+ method @androidx.compose.runtime.Composable public static void ProvideTextStyle(androidx.compose.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Text-TPAwlIA(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional long letterSpacing, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.text.style.TextAlign? textAlign, optional long lineHeight, optional int overflow, optional boolean softWrap, optional int maxLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.ui.text.TextStyle style);
+ method @androidx.compose.runtime.Composable public static void Text-Vh6c2nE(String text, optional androidx.compose.ui.Modifier modifier, optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional long letterSpacing, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.text.style.TextAlign? textAlign, optional long lineHeight, optional int overflow, optional boolean softWrap, optional int maxLines, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.ui.text.TextStyle style);
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.text.TextStyle> getLocalTextStyle();
+ }
+
+ @androidx.compose.material.ExperimentalMaterialApi @androidx.compose.runtime.Stable public interface ThresholdConfig {
+ method public float computeThreshold(androidx.compose.ui.unit.Density, float fromValue, float toValue);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Typography {
+ ctor public Typography(optional androidx.compose.ui.text.font.FontFamily defaultFontFamily, optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
+ method public androidx.compose.material.Typography copy(optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
+ method public androidx.compose.ui.text.TextStyle getBody1();
+ method public androidx.compose.ui.text.TextStyle getBody2();
+ method public androidx.compose.ui.text.TextStyle getButton();
+ method public androidx.compose.ui.text.TextStyle getCaption();
+ method public androidx.compose.ui.text.TextStyle getH1();
+ method public androidx.compose.ui.text.TextStyle getH2();
+ method public androidx.compose.ui.text.TextStyle getH3();
+ method public androidx.compose.ui.text.TextStyle getH4();
+ method public androidx.compose.ui.text.TextStyle getH5();
+ method public androidx.compose.ui.text.TextStyle getH6();
+ method public androidx.compose.ui.text.TextStyle getOverline();
+ method public androidx.compose.ui.text.TextStyle getSubtitle1();
+ method public androidx.compose.ui.text.TextStyle getSubtitle2();
+ property public final androidx.compose.ui.text.TextStyle body1;
+ property public final androidx.compose.ui.text.TextStyle body2;
+ property public final androidx.compose.ui.text.TextStyle button;
+ property public final androidx.compose.ui.text.TextStyle caption;
+ property public final androidx.compose.ui.text.TextStyle h1;
+ property public final androidx.compose.ui.text.TextStyle h2;
+ property public final androidx.compose.ui.text.TextStyle h3;
+ property public final androidx.compose.ui.text.TextStyle h4;
+ property public final androidx.compose.ui.text.TextStyle h5;
+ property public final androidx.compose.ui.text.TextStyle h6;
+ property public final androidx.compose.ui.text.TextStyle overline;
+ property public final androidx.compose.ui.text.TextStyle subtitle1;
+ property public final androidx.compose.ui.text.TextStyle subtitle2;
+ }
+
+ public final class TypographyKt {
+ }
+
+}
+
diff --git a/compose/material/material/api/res-1.0.0-beta10.txt b/compose/material/material/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/material/material/api/res-1.0.0-beta10.txt
diff --git a/compose/material/material/api/restricted_1.0.0-beta10.txt b/compose/material/material/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..b6e8f4d
--- /dev/null
+++ b/compose/material/material/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,617 @@
+// Signature format: 4.0
+package androidx.compose.material {
+
+ public final class AlertDialogKt {
+ }
+
+ public final class AndroidAlertDialog_androidKt {
+ method @androidx.compose.runtime.Composable public static void AlertDialog--HzSArw(kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, kotlin.jvm.functions.Function0<kotlin.Unit> confirmButton, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? dismissButton, optional kotlin.jvm.functions.Function0<kotlin.Unit>? title, optional kotlin.jvm.functions.Function0<kotlin.Unit>? text, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.ui.window.DialogProperties properties);
+ method @androidx.compose.runtime.Composable public static void AlertDialog-PPVLV-g(kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, kotlin.jvm.functions.Function0<kotlin.Unit> buttons, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? title, optional kotlin.jvm.functions.Function0<kotlin.Unit>? text, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.ui.window.DialogProperties properties);
+ }
+
+ public final class AndroidMenu_androidKt {
+ method @androidx.compose.runtime.Composable public static void DropdownMenu-jyMeD6A(boolean expanded, kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.Modifier modifier, optional long offset, optional androidx.compose.ui.window.PopupProperties properties, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void DropdownMenuItem(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.layout.PaddingValues contentPadding, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ }
+
+ public final class AppBarDefaults {
+ method public float getBottomAppBarElevation-D9Ej5fM();
+ method public androidx.compose.foundation.layout.PaddingValues getContentPadding();
+ method public float getTopAppBarElevation-D9Ej5fM();
+ property public final float BottomAppBarElevation;
+ property public final androidx.compose.foundation.layout.PaddingValues ContentPadding;
+ property public final float TopAppBarElevation;
+ field public static final androidx.compose.material.AppBarDefaults INSTANCE;
+ }
+
+ public final class AppBarKt {
+ method @androidx.compose.runtime.Composable public static void BottomAppBar-EMTaL0E(optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional androidx.compose.ui.graphics.Shape? cutoutShape, optional float elevation, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void TopAppBar-QjfF_Us(optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional float elevation, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void TopAppBar-_azMXew(kotlin.jvm.functions.Function0<kotlin.Unit> title, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> actions, optional long backgroundColor, optional long contentColor, optional float elevation);
+ }
+
+ public final class BackdropScaffoldDefaults {
+ method public float getFrontLayerElevation-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public long getFrontLayerScrimColor-0d7_KjU();
+ method @androidx.compose.runtime.Composable public androidx.compose.ui.graphics.Shape getFrontLayerShape();
+ method public float getHeaderHeight-D9Ej5fM();
+ method public float getPeekHeight-D9Ej5fM();
+ property public final float FrontLayerElevation;
+ property public final float HeaderHeight;
+ property public final float PeekHeight;
+ property @androidx.compose.runtime.Composable public final long frontLayerScrimColor;
+ property @androidx.compose.runtime.Composable public final androidx.compose.ui.graphics.Shape frontLayerShape;
+ field public static final androidx.compose.material.BackdropScaffoldDefaults INSTANCE;
+ }
+
+ public final class BackdropScaffoldKt {
+ }
+
+ public final class BottomNavigationDefaults {
+ method public float getElevation-D9Ej5fM();
+ property public final float Elevation;
+ field public static final androidx.compose.material.BottomNavigationDefaults INSTANCE;
+ }
+
+ public final class BottomNavigationKt {
+ method @androidx.compose.runtime.Composable public static void BottomNavigation-ye6PvEY(optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional float elevation, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void BottomNavigationItem-g7W06kY(androidx.compose.foundation.layout.RowScope, boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> icon, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional boolean alwaysShowLabel, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor);
+ }
+
+ public final class BottomSheetScaffoldDefaults {
+ method public float getSheetElevation-D9Ej5fM();
+ method public float getSheetPeekHeight-D9Ej5fM();
+ property public final float SheetElevation;
+ property public final float SheetPeekHeight;
+ field public static final androidx.compose.material.BottomSheetScaffoldDefaults INSTANCE;
+ }
+
+ public final class BottomSheetScaffoldKt {
+ }
+
+ @androidx.compose.runtime.Stable public interface ButtonColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> backgroundColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> contentColor(boolean enabled);
+ }
+
+ public final class ButtonDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonColors buttonColors-nlx5xbs(optional long backgroundColor, optional long contentColor, optional long disabledBackgroundColor, optional long disabledContentColor);
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonElevation elevation-qYQSm_w(optional float defaultElevation, optional float pressedElevation, optional float disabledElevation);
+ method public androidx.compose.foundation.layout.PaddingValues getContentPadding();
+ method public float getIconSize-D9Ej5fM();
+ method public float getIconSpacing-D9Ej5fM();
+ method public float getMinHeight-D9Ej5fM();
+ method public float getMinWidth-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public androidx.compose.foundation.BorderStroke getOutlinedBorder();
+ method public float getOutlinedBorderSize-D9Ej5fM();
+ method public androidx.compose.foundation.layout.PaddingValues getTextButtonContentPadding();
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonColors outlinedButtonColors-xS_xkl8(optional long backgroundColor, optional long contentColor, optional long disabledContentColor);
+ method @androidx.compose.runtime.Composable public androidx.compose.material.ButtonColors textButtonColors-xS_xkl8(optional long backgroundColor, optional long contentColor, optional long disabledContentColor);
+ property public final androidx.compose.foundation.layout.PaddingValues ContentPadding;
+ property public final float IconSize;
+ property public final float IconSpacing;
+ property public final float MinHeight;
+ property public final float MinWidth;
+ property public final float OutlinedBorderSize;
+ property public final androidx.compose.foundation.layout.PaddingValues TextButtonContentPadding;
+ property @androidx.compose.runtime.Composable public final androidx.compose.foundation.BorderStroke outlinedBorder;
+ field public static final androidx.compose.material.ButtonDefaults INSTANCE;
+ field public static final float OutlinedBorderOpacity = 0.12f;
+ }
+
+ @androidx.compose.runtime.Stable public interface ButtonElevation {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> elevation(boolean enabled, androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ }
+
+ public final class ButtonKt {
+ method @androidx.compose.runtime.Composable public static void Button(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.ButtonElevation? elevation, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.foundation.BorderStroke? border, optional androidx.compose.material.ButtonColors colors, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void OutlinedButton(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.ButtonElevation? elevation, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.foundation.BorderStroke? border, optional androidx.compose.material.ButtonColors colors, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void TextButton(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.ButtonElevation? elevation, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.foundation.BorderStroke? border, optional androidx.compose.material.ButtonColors colors, optional androidx.compose.foundation.layout.PaddingValues contentPadding, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.RowScope,kotlin.Unit> content);
+ }
+
+ public final class CardKt {
+ method @androidx.compose.runtime.Composable public static void Card-IHU7g64(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.foundation.BorderStroke? border, optional float elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ @androidx.compose.runtime.Stable public interface CheckboxColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> borderColor(boolean enabled, androidx.compose.ui.state.ToggleableState state);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> boxColor(boolean enabled, androidx.compose.ui.state.ToggleableState state);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> checkmarkColor(androidx.compose.ui.state.ToggleableState state);
+ }
+
+ public final class CheckboxDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.CheckboxColors colors-QGkLkJU(optional long checkedColor, optional long uncheckedColor, optional long checkmarkColor, optional long disabledColor, optional long disabledIndeterminateColor);
+ field public static final androidx.compose.material.CheckboxDefaults INSTANCE;
+ }
+
+ public final class CheckboxKt {
+ method @androidx.compose.runtime.Composable public static void Checkbox(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.CheckboxColors colors);
+ method @androidx.compose.runtime.Composable public static void TriStateCheckbox(androidx.compose.ui.state.ToggleableState state, kotlin.jvm.functions.Function0<kotlin.Unit>? onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.CheckboxColors colors);
+ }
+
+ @androidx.compose.runtime.Stable public final class Colors {
+ method public androidx.compose.material.Colors copy-7EMdAJ8(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onError, optional boolean isLight);
+ method public long getBackground-0d7_KjU();
+ method public long getError-0d7_KjU();
+ method public long getOnBackground-0d7_KjU();
+ method public long getOnError-0d7_KjU();
+ method public long getOnPrimary-0d7_KjU();
+ method public long getOnSecondary-0d7_KjU();
+ method public long getOnSurface-0d7_KjU();
+ method public long getPrimary-0d7_KjU();
+ method public long getPrimaryVariant-0d7_KjU();
+ method public long getSecondary-0d7_KjU();
+ method public long getSecondaryVariant-0d7_KjU();
+ method public long getSurface-0d7_KjU();
+ method public boolean isLight();
+ property public final long background;
+ property public final long error;
+ property public final boolean isLight;
+ property public final long onBackground;
+ property public final long onError;
+ property public final long onPrimary;
+ property public final long onSecondary;
+ property public final long onSurface;
+ property public final long primary;
+ property public final long primaryVariant;
+ property public final long secondary;
+ property public final long secondaryVariant;
+ property public final long surface;
+ }
+
+ public final class ColorsKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static long contentColorFor-8_81llA(long backgroundColor);
+ method public static long contentColorFor-pz-ABmo(androidx.compose.material.Colors, long backgroundColor);
+ method public static androidx.compose.material.Colors darkColors-hW7iGhc(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onError);
+ method public static long getPrimarySurface(androidx.compose.material.Colors);
+ method public static androidx.compose.material.Colors lightColors-hW7iGhc(optional long primary, optional long primaryVariant, optional long secondary, optional long secondaryVariant, optional long background, optional long surface, optional long error, optional long onPrimary, optional long onSecondary, optional long onBackground, optional long onSurface, optional long onError);
+ }
+
+ public final class ContentAlpha {
+ method @androidx.compose.runtime.Composable public float getDisabled();
+ method @androidx.compose.runtime.Composable public float getHigh();
+ method @androidx.compose.runtime.Composable public float getMedium();
+ property @androidx.compose.runtime.Composable public final float disabled;
+ property @androidx.compose.runtime.Composable public final float high;
+ property @androidx.compose.runtime.Composable public final float medium;
+ field public static final androidx.compose.material.ContentAlpha INSTANCE;
+ }
+
+ public final class ContentAlphaKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<java.lang.Float> getLocalContentAlpha();
+ }
+
+ public final class ContentColorKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.graphics.Color> getLocalContentColor();
+ }
+
+ public enum DismissDirection {
+ enum_constant public static final androidx.compose.material.DismissDirection EndToStart;
+ enum_constant public static final androidx.compose.material.DismissDirection StartToEnd;
+ }
+
+ public enum DismissValue {
+ enum_constant public static final androidx.compose.material.DismissValue Default;
+ enum_constant public static final androidx.compose.material.DismissValue DismissedToEnd;
+ enum_constant public static final androidx.compose.material.DismissValue DismissedToStart;
+ }
+
+ public final class DividerKt {
+ method @androidx.compose.runtime.Composable public static void Divider-JRSVyrs(optional androidx.compose.ui.Modifier modifier, optional long color, optional float thickness, optional float startIndent);
+ }
+
+ public final class DrawerDefaults {
+ method public float getElevation-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public long getScrimColor-0d7_KjU();
+ property public final float Elevation;
+ property @androidx.compose.runtime.Composable public final long scrimColor;
+ field public static final androidx.compose.material.DrawerDefaults INSTANCE;
+ field public static final float ScrimOpacity = 0.32f;
+ }
+
+ public final class DrawerKt {
+ method @androidx.compose.runtime.Composable public static void ModalDrawer-TlzqArY(kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> drawerContent, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.DrawerState drawerState, optional boolean gesturesEnabled, optional androidx.compose.ui.graphics.Shape drawerShape, optional float drawerElevation, optional long drawerBackgroundColor, optional long drawerContentColor, optional long scrimColor, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static androidx.compose.material.DrawerState rememberDrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ @androidx.compose.runtime.Stable public final class DrawerState {
+ ctor public DrawerState(androidx.compose.material.DrawerValue initialValue, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+ method public suspend Object? close(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public androidx.compose.material.DrawerValue getCurrentValue();
+ method public boolean isAnimationRunning();
+ method public boolean isClosed();
+ method public boolean isOpen();
+ method public suspend Object? open(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final androidx.compose.material.DrawerValue currentValue;
+ property public final boolean isAnimationRunning;
+ property public final boolean isClosed;
+ property public final boolean isOpen;
+ field public static final androidx.compose.material.DrawerState.Companion Companion;
+ }
+
+ public static final class DrawerState.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.material.DrawerState,androidx.compose.material.DrawerValue> Saver(kotlin.jvm.functions.Function1<? super androidx.compose.material.DrawerValue,java.lang.Boolean> confirmStateChange);
+ }
+
+ public enum DrawerValue {
+ enum_constant public static final androidx.compose.material.DrawerValue Closed;
+ enum_constant public static final androidx.compose.material.DrawerValue Open;
+ }
+
+ public final class ElevationKt {
+ }
+
+ public interface ElevationOverlay {
+ method @androidx.compose.runtime.Composable public long apply-_fH6D24(long color, float elevation);
+ }
+
+ public final class ElevationOverlayKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.unit.Dp> getLocalAbsoluteElevation();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.material.ElevationOverlay> getLocalElevationOverlay();
+ }
+
+ public final inline class FabPosition {
+ ctor public FabPosition();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.material.FabPosition.Companion Companion;
+ }
+
+ public static final class FabPosition.Companion {
+ method public int getCenter-5ygKITE();
+ method public int getEnd-5ygKITE();
+ property public final int Center;
+ property public final int End;
+ }
+
+ public final class FloatingActionButtonDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.FloatingActionButtonElevation elevation-ioHfwGI(optional float defaultElevation, optional float pressedElevation);
+ field public static final androidx.compose.material.FloatingActionButtonDefaults INSTANCE;
+ }
+
+ @androidx.compose.runtime.Stable public interface FloatingActionButtonElevation {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.unit.Dp> elevation(androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ }
+
+ public final class FloatingActionButtonKt {
+ method @androidx.compose.runtime.Composable public static void ExtendedFloatingActionButton-opHSmBI(kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? icon, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.material.FloatingActionButtonElevation elevation);
+ method @androidx.compose.runtime.Composable public static void FloatingActionButton-n9X6i6U(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional androidx.compose.material.FloatingActionButtonElevation elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class IconButtonKt {
+ method @androidx.compose.runtime.Composable public static void IconButton(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void IconToggleButton(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onCheckedChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class IconKt {
+ method @androidx.compose.runtime.Composable public static void Icon-8NTYWNk(androidx.compose.ui.graphics.painter.Painter painter, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional long tint);
+ method @androidx.compose.runtime.Composable public static void Icon-BG621w0(androidx.compose.ui.graphics.vector.ImageVector imageVector, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional long tint);
+ method @androidx.compose.runtime.Composable public static void Icon-hGAziDE(androidx.compose.ui.graphics.ImageBitmap bitmap, String? contentDescription, optional androidx.compose.ui.Modifier modifier, optional long tint);
+ }
+
+ public final class ListItemKt {
+ }
+
+ public final class MaterialTextSelectionColorsKt {
+ }
+
+ public final class MaterialTheme {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public androidx.compose.material.Colors getColors();
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public androidx.compose.material.Shapes getShapes();
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public androidx.compose.material.Typography getTypography();
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final androidx.compose.material.Colors colors;
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final androidx.compose.material.Shapes shapes;
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final androidx.compose.material.Typography typography;
+ field public static final androidx.compose.material.MaterialTheme INSTANCE;
+ }
+
+ public final class MaterialThemeKt {
+ method @androidx.compose.runtime.Composable public static void MaterialTheme(optional androidx.compose.material.Colors colors, optional androidx.compose.material.Typography typography, optional androidx.compose.material.Shapes shapes, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class MenuDefaults {
+ method public androidx.compose.foundation.layout.PaddingValues getDropdownMenuItemContentPadding();
+ property public final androidx.compose.foundation.layout.PaddingValues DropdownMenuItemContentPadding;
+ field public static final androidx.compose.material.MenuDefaults INSTANCE;
+ }
+
+ public final class MenuKt {
+ }
+
+ public final class ModalBottomSheetDefaults {
+ method public float getElevation-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public long getScrimColor-0d7_KjU();
+ property public final float Elevation;
+ property @androidx.compose.runtime.Composable public final long scrimColor;
+ field public static final androidx.compose.material.ModalBottomSheetDefaults INSTANCE;
+ }
+
+ public final class ModalBottomSheetKt {
+ }
+
+ public final class OutlinedTextFieldKt {
+ method @androidx.compose.runtime.Composable public static void OutlinedTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ method @androidx.compose.runtime.Composable public static void OutlinedTextField(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ }
+
+ public final class ProgressIndicatorDefaults {
+ method public androidx.compose.animation.core.SpringSpec<java.lang.Float> getProgressAnimationSpec();
+ method public float getStrokeWidth-D9Ej5fM();
+ property public final androidx.compose.animation.core.SpringSpec<java.lang.Float> ProgressAnimationSpec;
+ property public final float StrokeWidth;
+ field public static final androidx.compose.material.ProgressIndicatorDefaults INSTANCE;
+ field public static final float IndicatorBackgroundOpacity = 0.24f;
+ }
+
+ public final class ProgressIndicatorKt {
+ method @androidx.compose.runtime.Composable public static void CircularProgressIndicator-vFL-O2w(float progress, optional androidx.compose.ui.Modifier modifier, optional long color, optional float strokeWidth);
+ method @androidx.compose.runtime.Composable public static void CircularProgressIndicator-y0SQU_c(optional androidx.compose.ui.Modifier modifier, optional long color, optional float strokeWidth);
+ method @androidx.compose.runtime.Composable public static void LinearProgressIndicator-BeBJghs(optional androidx.compose.ui.Modifier modifier, optional long color, optional long backgroundColor);
+ method @androidx.compose.runtime.Composable public static void LinearProgressIndicator-kLDug40(float progress, optional androidx.compose.ui.Modifier modifier, optional long color, optional long backgroundColor);
+ }
+
+ @androidx.compose.runtime.Stable public interface RadioButtonColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> radioColor(boolean enabled, boolean selected);
+ }
+
+ public final class RadioButtonDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.RadioButtonColors colors-xS_xkl8(optional long selectedColor, optional long unselectedColor, optional long disabledColor);
+ field public static final androidx.compose.material.RadioButtonDefaults INSTANCE;
+ }
+
+ public final class RadioButtonKt {
+ method @androidx.compose.runtime.Composable public static void RadioButton(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit>? onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.RadioButtonColors colors);
+ }
+
+ @androidx.compose.runtime.Immutable public final class ResistanceConfig {
+ ctor public ResistanceConfig(float basis, optional float factorAtMin, optional float factorAtMax);
+ method public float computeResistance(float overflow);
+ method public float getBasis();
+ method public float getFactorAtMax();
+ method public float getFactorAtMin();
+ property public final float basis;
+ property public final float factorAtMax;
+ property public final float factorAtMin;
+ }
+
+ public final class ScaffoldKt {
+ method @androidx.compose.runtime.Composable public static void Scaffold-axyFlp8(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.material.ScaffoldState scaffoldState, optional kotlin.jvm.functions.Function0<kotlin.Unit> topBar, optional kotlin.jvm.functions.Function0<kotlin.Unit> bottomBar, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.SnackbarHostState,kotlin.Unit> snackbarHost, optional kotlin.jvm.functions.Function0<kotlin.Unit> floatingActionButton, optional int floatingActionButtonPosition, optional boolean isFloatingActionButtonDocked, optional kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit>? drawerContent, optional boolean drawerGesturesEnabled, optional androidx.compose.ui.graphics.Shape drawerShape, optional float drawerElevation, optional long drawerBackgroundColor, optional long drawerContentColor, optional long drawerScrimColor, optional long backgroundColor, optional long contentColor, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.PaddingValues,kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static androidx.compose.material.ScaffoldState rememberScaffoldState(optional androidx.compose.material.DrawerState drawerState, optional androidx.compose.material.SnackbarHostState snackbarHostState);
+ }
+
+ @androidx.compose.runtime.Stable public final class ScaffoldState {
+ ctor public ScaffoldState(androidx.compose.material.DrawerState drawerState, androidx.compose.material.SnackbarHostState snackbarHostState);
+ method public androidx.compose.material.DrawerState getDrawerState();
+ method public androidx.compose.material.SnackbarHostState getSnackbarHostState();
+ property public final androidx.compose.material.DrawerState drawerState;
+ property public final androidx.compose.material.SnackbarHostState snackbarHostState;
+ }
+
+ @androidx.compose.runtime.Immutable public final class Shapes {
+ ctor public Shapes(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
+ method public androidx.compose.material.Shapes copy(optional androidx.compose.foundation.shape.CornerBasedShape small, optional androidx.compose.foundation.shape.CornerBasedShape medium, optional androidx.compose.foundation.shape.CornerBasedShape large);
+ method public androidx.compose.foundation.shape.CornerBasedShape getLarge();
+ method public androidx.compose.foundation.shape.CornerBasedShape getMedium();
+ method public androidx.compose.foundation.shape.CornerBasedShape getSmall();
+ property public final androidx.compose.foundation.shape.CornerBasedShape large;
+ property public final androidx.compose.foundation.shape.CornerBasedShape medium;
+ property public final androidx.compose.foundation.shape.CornerBasedShape small;
+ }
+
+ public final class ShapesKt {
+ }
+
+ @androidx.compose.runtime.Stable public interface SliderColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> thumbColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> tickColor(boolean enabled, boolean active);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> trackColor(boolean enabled, boolean active);
+ }
+
+ public final class SliderDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.SliderColors colors-kU-unao(optional long thumbColor, optional long disabledThumbColor, optional long activeTrackColor, optional long inactiveTrackColor, optional long disabledActiveTrackColor, optional long disabledInactiveTrackColor, optional long activeTickColor, optional long inactiveTickColor, optional long disabledActiveTickColor, optional long disabledInactiveTickColor);
+ field public static final float DisabledActiveTrackAlpha = 0.32f;
+ field public static final float DisabledInactiveTrackAlpha = 0.12f;
+ field public static final float DisabledTickAlpha = 0.12f;
+ field public static final androidx.compose.material.SliderDefaults INSTANCE;
+ field public static final float InactiveTrackAlpha = 0.24f;
+ field public static final float TickAlpha = 0.54f;
+ }
+
+ public final class SliderKt {
+ method @androidx.compose.runtime.Composable public static void Slider(float value, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> valueRange, optional int steps, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onValueChangeFinished, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.SliderColors colors);
+ }
+
+ public interface SnackbarData {
+ method public void dismiss();
+ method public String? getActionLabel();
+ method public androidx.compose.material.SnackbarDuration getDuration();
+ method public String getMessage();
+ method public void performAction();
+ property public abstract String? actionLabel;
+ property public abstract androidx.compose.material.SnackbarDuration duration;
+ property public abstract String message;
+ }
+
+ public final class SnackbarDefaults {
+ method @androidx.compose.runtime.Composable public long getBackgroundColor-0d7_KjU();
+ method @androidx.compose.runtime.Composable public long getPrimaryActionColor-0d7_KjU();
+ property @androidx.compose.runtime.Composable public final long backgroundColor;
+ property @androidx.compose.runtime.Composable public final long primaryActionColor;
+ field public static final androidx.compose.material.SnackbarDefaults INSTANCE;
+ }
+
+ public enum SnackbarDuration {
+ enum_constant public static final androidx.compose.material.SnackbarDuration Indefinite;
+ enum_constant public static final androidx.compose.material.SnackbarDuration Long;
+ enum_constant public static final androidx.compose.material.SnackbarDuration Short;
+ }
+
+ public final class SnackbarHostKt {
+ method @androidx.compose.runtime.Composable public static void SnackbarHost(androidx.compose.material.SnackbarHostState hostState, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.material.SnackbarData,kotlin.Unit> snackbar);
+ }
+
+ @androidx.compose.runtime.Stable public final class SnackbarHostState {
+ ctor public SnackbarHostState();
+ method public androidx.compose.material.SnackbarData? getCurrentSnackbarData();
+ method public suspend Object? showSnackbar(String message, optional String? actionLabel, optional androidx.compose.material.SnackbarDuration duration, optional kotlin.coroutines.Continuation<? super androidx.compose.material.SnackbarResult> p);
+ property public final androidx.compose.material.SnackbarData? currentSnackbarData;
+ }
+
+ public final class SnackbarKt {
+ method @androidx.compose.runtime.Composable public static void Snackbar-GiTsVJ0(optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function0<kotlin.Unit>? action, optional boolean actionOnNewLine, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional float elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Snackbar-Ou9cdGU(androidx.compose.material.SnackbarData snackbarData, optional androidx.compose.ui.Modifier modifier, optional boolean actionOnNewLine, optional androidx.compose.ui.graphics.Shape shape, optional long backgroundColor, optional long contentColor, optional long actionColor, optional float elevation);
+ }
+
+ public enum SnackbarResult {
+ enum_constant public static final androidx.compose.material.SnackbarResult ActionPerformed;
+ enum_constant public static final androidx.compose.material.SnackbarResult Dismissed;
+ }
+
+ public final class Strings_androidKt {
+ }
+
+ public final class SurfaceKt {
+ method @androidx.compose.runtime.Composable public static void Surface-IHU7g64(optional androidx.compose.ui.Modifier modifier, optional androidx.compose.ui.graphics.Shape shape, optional long color, optional long contentColor, optional androidx.compose.foundation.BorderStroke? border, optional float elevation, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class SwipeToDismissKt {
+ }
+
+ public final class SwipeableDefaults {
+ method public androidx.compose.animation.core.SpringSpec<java.lang.Float> getAnimationSpec();
+ method public float getVelocityThreshold-D9Ej5fM();
+ method public androidx.compose.material.ResistanceConfig? resistanceConfig(java.util.Set<java.lang.Float> anchors, optional float factorAtMin, optional float factorAtMax);
+ property public final androidx.compose.animation.core.SpringSpec<java.lang.Float> AnimationSpec;
+ property public final float VelocityThreshold;
+ field public static final androidx.compose.material.SwipeableDefaults INSTANCE;
+ field public static final float StandardResistanceFactor = 10.0f;
+ field public static final float StiffResistanceFactor = 20.0f;
+ }
+
+ public final class SwipeableKt {
+ }
+
+ @androidx.compose.runtime.Stable public interface SwitchColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> thumbColor(boolean enabled, boolean checked);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> trackColor(boolean enabled, boolean checked);
+ }
+
+ public final class SwitchDefaults {
+ method @androidx.compose.runtime.Composable public androidx.compose.material.SwitchColors colors-R8aI8sA(optional long checkedThumbColor, optional long checkedTrackColor, optional float checkedTrackAlpha, optional long uncheckedThumbColor, optional long uncheckedTrackColor, optional float uncheckedTrackAlpha, optional long disabledCheckedThumbColor, optional long disabledCheckedTrackColor, optional long disabledUncheckedThumbColor, optional long disabledUncheckedTrackColor);
+ field public static final androidx.compose.material.SwitchDefaults INSTANCE;
+ }
+
+ public final class SwitchKt {
+ method @androidx.compose.runtime.Composable public static void Switch(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.material.SwitchColors colors);
+ }
+
+ public final class TabKt {
+ method @androidx.compose.runtime.Composable public static void Tab-TC9MJzw(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional kotlin.jvm.functions.Function0<kotlin.Unit>? text, optional kotlin.jvm.functions.Function0<kotlin.Unit>? icon, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor);
+ method @androidx.compose.runtime.Composable public static void Tab-wUuQ7UU(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional long selectedContentColor, optional long unselectedContentColor, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.ColumnScope,kotlin.Unit> content);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TabPosition {
+ method public float getLeft-D9Ej5fM();
+ method public float getRight-D9Ej5fM();
+ method public float getWidth-D9Ej5fM();
+ property public final float left;
+ property public final float right;
+ property public final float width;
+ }
+
+ public final class TabRowDefaults {
+ method @androidx.compose.runtime.Composable public void Divider-Z-uBYeE(optional androidx.compose.ui.Modifier modifier, optional float thickness, optional long color);
+ method @androidx.compose.runtime.Composable public void Indicator-Z-uBYeE(optional androidx.compose.ui.Modifier modifier, optional float height, optional long color);
+ method public float getDividerThickness-D9Ej5fM();
+ method public float getIndicatorHeight-D9Ej5fM();
+ method public float getScrollableTabRowPadding-D9Ej5fM();
+ method public androidx.compose.ui.Modifier tabIndicatorOffset(androidx.compose.ui.Modifier, androidx.compose.material.TabPosition currentTabPosition);
+ property public final float DividerThickness;
+ property public final float IndicatorHeight;
+ property public final float ScrollableTabRowPadding;
+ field public static final float DividerOpacity = 0.12f;
+ field public static final androidx.compose.material.TabRowDefaults INSTANCE;
+ }
+
+ public final class TabRowKt {
+ method @androidx.compose.runtime.Composable public static void ScrollableTabRow-qhCAd8w(int selectedTabIndex, optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional float edgePadding, optional kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.material.TabPosition>,kotlin.Unit> indicator, optional kotlin.jvm.functions.Function0<kotlin.Unit> divider, kotlin.jvm.functions.Function0<kotlin.Unit> tabs);
+ method @androidx.compose.runtime.Composable public static void TabRow-xUsefZ0(int selectedTabIndex, optional androidx.compose.ui.Modifier modifier, optional long backgroundColor, optional long contentColor, optional kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.material.TabPosition>,kotlin.Unit> indicator, optional kotlin.jvm.functions.Function0<kotlin.Unit> divider, kotlin.jvm.functions.Function0<kotlin.Unit> tabs);
+ }
+
+ @androidx.compose.runtime.Stable public interface TextFieldColors {
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> backgroundColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> cursorColor(boolean isError);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> indicatorColor(boolean enabled, boolean isError, androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> labelColor(boolean enabled, boolean error, androidx.compose.foundation.interaction.InteractionSource interactionSource);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> leadingIconColor(boolean enabled, boolean isError);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> placeholderColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> textColor(boolean enabled);
+ method @androidx.compose.runtime.Composable public androidx.compose.runtime.State<androidx.compose.ui.graphics.Color> trailingIconColor(boolean enabled, boolean isError);
+ }
+
+ public final class TextFieldDefaults {
+ method public float getMinHeight-D9Ej5fM();
+ method public float getMinWidth-D9Ej5fM();
+ method @androidx.compose.runtime.Composable public androidx.compose.material.TextFieldColors outlinedTextFieldColors-LWDMS30(optional long textColor, optional long disabledTextColor, optional long backgroundColor, optional long cursorColor, optional long errorCursorColor, optional long focusedBorderColor, optional long unfocusedBorderColor, optional long disabledBorderColor, optional long errorBorderColor, optional long leadingIconColor, optional long disabledLeadingIconColor, optional long errorLeadingIconColor, optional long trailingIconColor, optional long disabledTrailingIconColor, optional long errorTrailingIconColor, optional long focusedLabelColor, optional long unfocusedLabelColor, optional long disabledLabelColor, optional long errorLabelColor, optional long placeholderColor, optional long disabledPlaceholderColor);
+ method @androidx.compose.runtime.Composable public androidx.compose.material.TextFieldColors textFieldColors-LWDMS30(optional long textColor, optional long disabledTextColor, optional long backgroundColor, optional long cursorColor, optional long errorCursorColor, optional long focusedIndicatorColor, optional long unfocusedIndicatorColor, optional long disabledIndicatorColor, optional long errorIndicatorColor, optional long leadingIconColor, optional long disabledLeadingIconColor, optional long errorLeadingIconColor, optional long trailingIconColor, optional long disabledTrailingIconColor, optional long errorTrailingIconColor, optional long focusedLabelColor, optional long unfocusedLabelColor, optional long disabledLabelColor, optional long errorLabelColor, optional long placeholderColor, optional long disabledPlaceholderColor);
+ property public final float MinHeight;
+ property public final float MinWidth;
+ field public static final float BackgroundOpacity = 0.12f;
+ field public static final androidx.compose.material.TextFieldDefaults INSTANCE;
+ field public static final float IconOpacity = 0.54f;
+ field public static final float UnfocusedIndicatorLineOpacity = 0.42f;
+ }
+
+ public final class TextFieldImplKt {
+ }
+
+ public final class TextFieldKt {
+ method @androidx.compose.runtime.Composable public static void TextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ method @androidx.compose.runtime.Composable public static void TextField(androidx.compose.ui.text.input.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextFieldValue,kotlin.Unit> onValueChange, optional androidx.compose.ui.Modifier modifier, optional boolean enabled, optional boolean readOnly, optional androidx.compose.ui.text.TextStyle textStyle, optional kotlin.jvm.functions.Function0<kotlin.Unit>? label, optional kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder, optional kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon, optional kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon, optional boolean isError, optional androidx.compose.ui.text.input.VisualTransformation visualTransformation, optional androidx.compose.foundation.text.KeyboardOptions keyboardOptions, optional androidx.compose.foundation.text.KeyboardActions keyboardActions, optional boolean singleLine, optional int maxLines, optional androidx.compose.foundation.interaction.MutableInteractionSource interactionSource, optional androidx.compose.ui.graphics.Shape shape, optional androidx.compose.material.TextFieldColors colors);
+ }
+
+ public final class TextKt {
+ method @androidx.compose.runtime.Composable public static void ProvideTextStyle(androidx.compose.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Text-TPAwlIA(androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.Modifier modifier, optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional long letterSpacing, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.text.style.TextAlign? textAlign, optional long lineHeight, optional int overflow, optional boolean softWrap, optional int maxLines, optional java.util.Map<java.lang.String,androidx.compose.foundation.text.InlineTextContent> inlineContent, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.ui.text.TextStyle style);
+ method @androidx.compose.runtime.Composable public static void Text-Vh6c2nE(String text, optional androidx.compose.ui.Modifier modifier, optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional long letterSpacing, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.text.style.TextAlign? textAlign, optional long lineHeight, optional int overflow, optional boolean softWrap, optional int maxLines, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout, optional androidx.compose.ui.text.TextStyle style);
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.text.TextStyle> getLocalTextStyle();
+ }
+
+ @androidx.compose.runtime.Immutable public final class Typography {
+ ctor public Typography(optional androidx.compose.ui.text.font.FontFamily defaultFontFamily, optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
+ method public androidx.compose.material.Typography copy(optional androidx.compose.ui.text.TextStyle h1, optional androidx.compose.ui.text.TextStyle h2, optional androidx.compose.ui.text.TextStyle h3, optional androidx.compose.ui.text.TextStyle h4, optional androidx.compose.ui.text.TextStyle h5, optional androidx.compose.ui.text.TextStyle h6, optional androidx.compose.ui.text.TextStyle subtitle1, optional androidx.compose.ui.text.TextStyle subtitle2, optional androidx.compose.ui.text.TextStyle body1, optional androidx.compose.ui.text.TextStyle body2, optional androidx.compose.ui.text.TextStyle button, optional androidx.compose.ui.text.TextStyle caption, optional androidx.compose.ui.text.TextStyle overline);
+ method public androidx.compose.ui.text.TextStyle getBody1();
+ method public androidx.compose.ui.text.TextStyle getBody2();
+ method public androidx.compose.ui.text.TextStyle getButton();
+ method public androidx.compose.ui.text.TextStyle getCaption();
+ method public androidx.compose.ui.text.TextStyle getH1();
+ method public androidx.compose.ui.text.TextStyle getH2();
+ method public androidx.compose.ui.text.TextStyle getH3();
+ method public androidx.compose.ui.text.TextStyle getH4();
+ method public androidx.compose.ui.text.TextStyle getH5();
+ method public androidx.compose.ui.text.TextStyle getH6();
+ method public androidx.compose.ui.text.TextStyle getOverline();
+ method public androidx.compose.ui.text.TextStyle getSubtitle1();
+ method public androidx.compose.ui.text.TextStyle getSubtitle2();
+ property public final androidx.compose.ui.text.TextStyle body1;
+ property public final androidx.compose.ui.text.TextStyle body2;
+ property public final androidx.compose.ui.text.TextStyle button;
+ property public final androidx.compose.ui.text.TextStyle caption;
+ property public final androidx.compose.ui.text.TextStyle h1;
+ property public final androidx.compose.ui.text.TextStyle h2;
+ property public final androidx.compose.ui.text.TextStyle h3;
+ property public final androidx.compose.ui.text.TextStyle h4;
+ property public final androidx.compose.ui.text.TextStyle h5;
+ property public final androidx.compose.ui.text.TextStyle h6;
+ property public final androidx.compose.ui.text.TextStyle overline;
+ property public final androidx.compose.ui.text.TextStyle subtitle1;
+ property public final androidx.compose.ui.text.TextStyle subtitle2;
+ }
+
+ public final class TypographyKt {
+ }
+
+}
+
diff --git a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopMenu.desktop.kt b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopMenu.desktop.kt
index f0d1633..395e154 100644
--- a/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopMenu.desktop.kt
+++ b/compose/material/material/src/desktopMain/kotlin/androidx/compose/material/DesktopMenu.desktop.kt
@@ -68,6 +68,7 @@
fun DropdownMenu(
expanded: Boolean,
onDismissRequest: () -> Unit,
+ focusable: Boolean = true,
modifier: Modifier = Modifier,
offset: DpOffset = DpOffset(0.dp, 0.dp),
content: @Composable ColumnScope.() -> Unit
@@ -86,7 +87,7 @@
}
Popup(
- focusable = true,
+ focusable = focusable,
onDismissRequest = onDismissRequest,
popupPositionProvider = popupPositionProvider
) {
@@ -154,6 +155,7 @@
fun ContextMenu(
expanded: Boolean,
onDismissRequest: () -> Unit,
+ focusable: Boolean = true,
modifier: Modifier = Modifier,
content: @Composable ColumnScope.() -> Unit
) {
@@ -171,7 +173,7 @@
}
Popup(
- focusable = true,
+ focusable = focusable,
contextMenu = true,
onDismissRequest = onDismissRequest,
popupPositionProvider = popupPositionProvider
diff --git a/compose/runtime/runtime-lint/build.gradle b/compose/runtime/runtime-lint/build.gradle
index a7754a6d..bd68015 100644
--- a/compose/runtime/runtime-lint/build.gradle
+++ b/compose/runtime/runtime-lint/build.gradle
@@ -27,10 +27,11 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly(libs.androidLintMinComposeApi)
compileOnly(libs.kotlinStdlib)
bundleInside(project(":compose:lint:common"))
+ testImplementation(project(":compose:lint:common-test"))
testImplementation(libs.kotlinStdlib)
testImplementation(libs.androidLint)
testImplementation(libs.androidLintTests)
diff --git a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RuntimeIssueRegistry.kt b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RuntimeIssueRegistry.kt
index 117f9b5..57f33f0 100644
--- a/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RuntimeIssueRegistry.kt
+++ b/compose/runtime/runtime-lint/src/main/java/androidx/compose/runtime/lint/RuntimeIssueRegistry.kt
@@ -19,6 +19,7 @@
package androidx.compose.runtime.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -37,4 +38,9 @@
RememberDetector.RememberReturnType,
UnrememberedMutableStateDetector.UnrememberedMutableState
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.runtime",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ApiLintVersionsTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ApiLintVersionsTest.kt
index e95d95d..ad0785c 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ApiLintVersionsTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = RuntimeIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableCoroutineCreationDetectorTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableCoroutineCreationDetectorTest.kt
index bfa5dbe..bd3e55c 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableCoroutineCreationDetectorTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableCoroutineCreationDetectorTest.kt
@@ -18,7 +18,8 @@
package androidx.compose.runtime.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
+import androidx.compose.lint.test.compiledStub
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.checks.infrastructure.TestFile
import com.android.tools.lint.detector.api.Detector
@@ -30,9 +31,6 @@
/* ktlint-disable max-line-length */
@RunWith(JUnit4::class)
-// TODO: add tests for methods defined in class files when we update Lint to support bytecode()
-// test files
-
/**
* Test for [ComposableCoroutineCreationDetector].
*/
@@ -42,7 +40,9 @@
override fun getIssues(): MutableList<Issue> =
mutableListOf(ComposableCoroutineCreationDetector.CoroutineCreationDuringComposition)
- private val coroutineBuildersStub: TestFile = kotlin(
+ private val coroutineBuildersStub: TestFile = compiledStub(
+ filename = "Builders.common.kt",
+ filepath = "kotlinx/coroutines",
"""
package kotlinx.coroutines
@@ -55,7 +55,46 @@
fun CoroutineScope.launch(
block: suspend CoroutineScope.() -> Unit
) {}
- """
+ """,
+"""
+ kotlinx/coroutines/Builders_commonKt.class:
+ H4sIAAAAAAAAAK1TXU8TQRQ9M/1aliJlBWyrYpUqX8IW4lsJCRJJGhGNRV54
+ MNPtWrbdzpr9aOCN+FP8BfJGfDAE3/xRxrvbLoKagNF9uHvu3XPPnJm5++37
+ 5y8AnkBnKHcc37bkgW44rhP4ljQ9/Wlg2U3T9d4aTrfryOd+Bowh1xY9odtC
+ tvSXjbZpUDXBkBLeoTQYNme3/qC0EcO64bw3qwOK3u519XeBNHzLkZ6+OUAr
+ 1bldhk//QWh18RoaMecyRRIIRKhyLqK/kZZfXasubP16AlQMLU9vOW5Lb5t+
+ wxUW+RBSOr7oe9p2/O3AtqsM6VV/3/LWFAwxTF3wb0nfdKWw9Zr0XWq3DC+D
+ YYYJY980OoP+V8IVXZOIDDOzv/u4UKmHIi3ylcUIbqjIYpRuqWE7RkfBGMNw
+ ObRRHlzb9DUOiqF01cXR7mxB2T5Dtq8fp2Nx6wvTF03hC+Lybi9B88fCkGJg
+ nRBwqh9YIaoQai4zHJ8eldTTI5XnuMrzPIL5PuS5OFF4sUpJkVfYPK/wlZlc
+ ojitMC2pUaapmhIhVklpaS2ZZ5V0JXn2Mc2VzNcTdnoUwpxCCkP/JHD2gSfJ
+ SiE0vsJoZ9DibV88o9IVE0eUqZjy7MA3aRYcGQvsHEZXocU/51L/51zq+AzJ
+ DadpMoxukeR20G2Y7o5o2GZowzGEvStcK8wHxaG61ZLCD1zC5dcBrd81a7Jn
+ eRZ9Ph+09Z9DzKDWncA1zE0r7C8Menb7HReIWAZHEuHDUUAKaSQwS9k65Zze
+ I/OaeoLcgqZRPI5ocxTTdGJZKJgnPNkn4ibGI6ERjGGCvi9E7AwehzVOBSUc
+ oSgWqOmvVspeWunW9VfiWIziDJboXaNqnnZZ2EOihmINtyniTg13MVXDPZT2
+ wDzcx4M9qB5SHqY9jHsY81D28DBKH3lIe5j8ASY6o3uSBQAA
+ """,
+ """
+ kotlinx/coroutines/CoroutineScope.class:
+ H4sIAAAAAAAAAIWSTW/TQBCG390kjusGmpavlPJV2gNwqNuKGxVSG4FkKRiJ
+ VJGqnjbOqmxi7yJ7HfWYEz+Ef1BxqAQSiuDGj0LMmgAHDtjSzLyzs493Zv39
+ x6cvAJ5ii2FzYmyq9HmYmNyUVmlZhN3fYT8x72QTjKE9FlMRpkKfha+HY5nY
+ JmoM3oHSyj5nqD16PGihAS9AHU2Gun2rCoat3n/pzxj8gyStOAG42+xHcf/4
+ MO6+aOEKgiVKXnUok5+FY2mHuVC6CIXWxgqrDMWxsXGZpoRaXXwwfCWtGAkr
+ KMezaY26Zc40GNiEUufKqV2KRnsM2/NZEPAOD3ibovnM//aed+azfb7Ljpo+
+ //rB423uavcZcbB2VKp0JPNiJzFZZvTOxDJsvCm1VZmM9FQVapjKw78HpHl0
+ zUgyrPSo7bjMhjI/FlRDrJ5JRDoQuXJ6kQz6pswT+VI5sb4AD/7BYo9GU3et
+ Yd1NivxdUh75NnlOb6NS90iF5JmbwJNL+BfV8v1FMQjygGzrVwGWCAX4WP6z
+ +RZVu2f5M/jJJVofsXJRJTg2K3sHD6sfim6AAGunqEW4FuE6Wdxw5mZEkM4p
+ WEFnvU3rBYICGwW8n1uFkiGNAgAA
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcYlk5iXUpSfmVKhl5yfW5BfnKpX
+ VJpXkpmbqpeWny/EFpJaXOJdwqXOJZSdX5KTmQdSVpRfWpKZl1osJOhUmpmT
+ klpUHA/Um5uf512ixKDFAADN8kOtaQAAAA==
+ """
)
@Test
@@ -112,7 +151,7 @@
}
"""
),
- kotlin(Stubs.Composable),
+ Stubs.Composable,
coroutineBuildersStub
)
.run()
@@ -216,7 +255,7 @@
}
"""
),
- kotlin(Stubs.Composable),
+ Stubs.Composable,
coroutineBuildersStub
)
.run()
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableLambdaParameterDetectorTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableLambdaParameterDetectorTest.kt
index cae7ccf..44f5639 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableLambdaParameterDetectorTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableLambdaParameterDetectorTest.kt
@@ -18,7 +18,7 @@
package androidx.compose.runtime.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -55,7 +55,7 @@
}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -91,7 +91,7 @@
}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -119,7 +119,7 @@
}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -160,7 +160,7 @@
}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -196,7 +196,7 @@
}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expectClean()
@@ -224,7 +224,7 @@
) {}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -273,7 +273,7 @@
fun FooScope.Button(foo: Int) {}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expectClean()
@@ -294,7 +294,7 @@
fun Button(foo: @Composable (Int, Boolean) -> Unit) {}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expectClean()
@@ -315,7 +315,7 @@
}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expectClean()
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableNamingDetectorTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableNamingDetectorTest.kt
index c612554..fbcc7ab 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableNamingDetectorTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/ComposableNamingDetectorTest.kt
@@ -18,7 +18,7 @@
package androidx.compose.runtime.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -51,7 +51,7 @@
fun button() {}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
@@ -85,7 +85,7 @@
fun Button() {}
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expectClean()
@@ -104,7 +104,7 @@
fun getInt(): Int { return 5 }
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expectClean()
@@ -123,7 +123,7 @@
fun GetInt(): Int { return 5 }
"""
),
- kotlin(Stubs.Composable)
+ Stubs.Composable
)
.run()
.expect(
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/CompositionLocalNamingDetectorTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/CompositionLocalNamingDetectorTest.kt
index 5e09544..9413580 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/CompositionLocalNamingDetectorTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/CompositionLocalNamingDetectorTest.kt
@@ -18,6 +18,7 @@
package androidx.compose.runtime.lint
+import androidx.compose.lint.test.compiledStub
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -38,7 +39,9 @@
mutableListOf(CompositionLocalNamingDetector.CompositionLocalNaming)
// Simplified CompositionLocal.kt stubs
- private val compositionLocalStub = kotlin(
+ private val compositionLocalStub = compiledStub(
+ filename = "CompositionLocal.kt",
+ filepath = "androidx/compose/runtime",
"""
package androidx.compose.runtime
@@ -63,6 +66,99 @@
fun <T> staticCompositionLocalOf(
defaultFactory: (() -> T)? = null
): ProvidableCompositionLocal<T> = StaticProvidableCompositionLocal(defaultFactory)
+ """,
+"""
+ androidx/compose/runtime/CompositionLocalKt.class:
+ H4sIAAAAAAAAAJ1UW08TQRg9s72yFChFoRQvCFW5KFtuGmklMRhiQ7lEGozh
+ abq7kOlll+xuG3gx/A3/hW8aTUyf/VHGb7YlarHUdJOd+WbmzDlnv/lmf/z8
+ +h3AGp4zLHLLcGxhnGu6XTuzXVNz6pYnaqa25Y+FJ2yrYOu8uuNFwBjiZd7g
+ WpVbp9p+qWzqNBtgSOgd6P0ThndzhYrtVYWllRs17aRu6XLZ1bbbUSY7X+gq
+ f+DYDWHwUtXsNJJlOM8VNwqdRrKbvfRyi8VidrM/1Zy/lWG2YDunWtn0Sg4X
+ RM4ty/Z4S2jP9vbqVWkwfROKIFKBYBtdjby+sHhN6N39RKAyhHPCEt4mueqd
+ 6qMYYhhSMYhhhtU+MhBBnGHYME94veptc92znQuG6V7CDKnrxZFu0zCUezrP
+ Xz/p/uomhhDCKhSMMyRdeRx6J0aW7Yuu3If+npsyNKkiJfM73Y3+6sNjSLa8
+ 3GUYvcrArulxg3uccqbUGgG6o0w2IQZWkYFC8+dCRhmKjGUGo3kZV5uXqpJU
+ VCWq+H3zMpWOUxNNBBPKGyXDZoJRgikr8agSD6TU1nSSZYKEC/0HTGqtMKz3
+ eVlZkf4PV5/4Z12MdYKXKlQQwS3bMBlGCsIy9+q1kukUJbHkkJgj7gg5bk8O
+ HIpTi3t1h+Kpty07eashXEHLr37fOrqSnasH3OE10zOdv2BDdMh6ZZeftQXU
+ Q7vu6Oa2kIPJNsfRNX4s01kGIZ8gJmWhUb9Eo2cIgFEf+4bB9wufMdLE6Cd5
+ ltCoDftrt5CRiBYOCYxRv+xjIlhpo6LUr9IboYRiAIgP0LbbFLdEFMiyGJoK
+ fvhI9bKz8AUTLZU1aslB1Jcb9lEJIhwjwgQZTf7LaEoanfqH0WR/Ru/caPRe
+ V6PjRDhBhOO0vO6DnhID8JLY7lOOp48RyONBHjPUYjaPNB7m8QiPj8FczGH+
+ GGEXIRcLLhZdJFw8cZH8BUMfUaX/BgAA
+ """,
+ """
+ androidx/compose/runtime/ProvidableCompositionLocal.class:
+ H4sIAAAAAAAAAI1S308TQRD+9lracmIpRaHgLxAkAolXURNjK0YxDTUFURpe
+ eNr2Ftz2umf29hp869/if+CTiQ+m8dE/yjjblogkBO5hZvabb76Z29nff378
+ BPAUKwxPuPJ1KP0Trxl2PoeR8HSsjOwIb0+HXenzRiC2BhlpZKhqYZMHaTCG
+ Srn+otbiXe4FXB177xst0TSlzdqFeudVyvV6abPEsHrlijSSDKmyVNJsMiw9
+ rLVDE0jltbod7yhWTUuMvMooKpZWD0j9MlZ5fTCH5S7XQn3stYRpaC6Jw5UK
+ DR/yd+MgsHdBA3+4tPHZvFRGaMUD76044nFgtohqdNw0od7hui00tZ5ACq6L
+ MVxjSJpPMmJ4dvFFXrwYGi7rD9tUuO3whWHhsmEZpk4pO8JwnxtOmNPpJuiN
+ MGvGGFiboBNpT0WK/McM7/q9vOsUHLff+99lVgr93loy0+/l2EYmn8w726zo
+ vJklIJ/NJeZdCz3v9wqsmPz1NeXkxqziBjWpM6xf/QHRlPnTyc/+zvR54qO2
+ oXvdCn3BMFmTSuzGnYbQdXuFVsNyDriW9jwCx/flseIm1hQvfxwOUFVdGUlK
+ 73HNO4LW+vrfA2Fw98NYN0VF2vq5Uc3BsOIMMbkIhzZtP/pjWnwaCdyj0yvy
+ Dvn02jr7jolvFDpYIOsO4AxRU1ikaGZIw3VkBzJpTCJHUvcHFRksWcxqj1OQ
+ GMEJLA/8XTwg/5KyUzRF/hCJKqaruEEWN62ZqWIWhUOwCHOYP0QqQjbCrQi3
+ I0xGuBMh/Rejxn6KQAQAAA==
+ """,
+ """
+ androidx/compose/runtime/CompositionLocal.class:
+ H4sIAAAAAAAAAJVTXU8TQRQ9s91+sPKxFMWCqCCo/VC2EjUohKgYkiatKDR9
+ 4cEMuwsObXfJ7rTBF9P4L3z1H/hE4oNpePRHGe9sixLUVPbhzr13zj33zNzZ
+ 7z++fgPwEIsMOe45gS+cI8v2m4d+6FpBy5Oi6VrrUSyk8L2yb/NGEowhu1p9
+ Wj7gbW41uLdvbe4euLZcWfszxWCezyWhMyRWhSfkGsN8tlz3ZUN41kG7ae21
+ PFt1Cq2NvldcydVI3iDUaqFaXVmLsLFsrjaMBIYMxGEw6PKdCBkK5f8+Iqke
+ ddw93mrIDW5LP3jPMDtIJsPWwKOUzgKEJ93A4w3rZa/VOmFl0FL9Kjyou0F0
+ mjcDSS/Kqe5m3ICGtPKSyrvMMLFg/8a+bUZghsWLkTOMnxZUXMkdLjnltGY7
+ Ru+MKRNnYHVKHQkVFclzHjBsdjuThpbRjG7H0Ewyau2HGS31ONPt5PVUt2Oy
+ Ja2ovZhK6WkzpZmxaSOtp7XlbifDivrJ54Rmxk8+MpZQtEvUqcqoLdKnms4O
+ 69G/n8PrwG8Lh+823L88jInzucW6pDe27jsuw1hZeO6rVnPXDaqqXvVWmBoP
+ hIr7yaFtse9x2QrIH9mW3K5X+GF/z9j2W4HtbggVTG31JNVEKGj3uef5kkfz
+ 1+dobHGoL0YezZHsXYqe0IE1ddH5Y1z6Qo6GLNkEpQEdObKTPQCGMRIRxDGK
+ MdrPR+iUSX8nTIoVXZHodVrHZvQPn2h65XyBHWOiR1yIurPU2Q5R9Xi/eplA
+ as6JfOEYV1QRixTM9rK/FCT6CpQ3iatRVU9NDPei9Q7u0/qMMBnSO7WDWAnT
+ JVwjixllrpdwAzd3wEJin9tBMsRIiFsh5kOMhlgIVeb2T+jXEMfzBAAA
+ """,
+ """
+ androidx/compose/runtime/StaticProvidableCompositionLocal.class:
+ H4sIAAAAAAAAAJ1SXW8SQRQ9s3x2bSmlVmn9qhYT2yYurZqoIIk2aUpCKxHC
+ C0/D7hQHll2zO0vqG7/Ff+CTiQ+G+OiPMt4BGqsJIek+3I8z55699878+v39
+ B4DneMzwintO4EvnwrL9wSc/FFYQeUoOhNVQXEm7HvhD6fCOK44m51JJ36v5
+ NndTYAz1cvN1rceH3HK517Xed3rCVqVKba7qfL1ys1mqlBieXaM2hThDsiw9
+ qSoMO09qfV+50rN6w4F1Hnm2JobW8SwqlnZbDLuLWOX9SUeaW6j5QdfqCdUJ
+ uCQO9zxfr0fzzyLX1T2VlpFEykQCJkNcfZQhQ2n+IhatlzaRccQ5j1x1zG3l
+ B58ZthfNxbB2STkVijtcccKMwTBG9820STCwPkEXUmdFipwDhpPxKGcaecMc
+ j/516fEoPx7txcln2WE6F88ZJ6xovNvIZbKxLVPnL4nCivGfX5JGNqH1DukX
+ TYYX13kE1G3ucoKrY63/T3zaV7TlI98RDKs16YmzaNARQVOLag3NafFA6nwG
+ LjVk1+MqCigufJi2UvWGMpR0XOcBHwglgrd/r5bBbPhRYItjqes3ZzWtacUV
+ Ig5g0L3rj2bXzwAx3KesQrhBPrm3/w03vlJk4AFZc4JmqSaDbYpuTVlYxspE
+ JUn4Kik9nFSk8Yh8SksvURCbwTHsTPw9FMi/oVMtuNZGrIpcFetkcVObjSr9
+ 4HYbLEQem20kQ6yE2ApxJ0QmxN0QqT/sQJiNEwQAAA==
+ """,
+ """
+ androidx/compose/runtime/DynamicProvidableCompositionLocal.class:
+ H4sIAAAAAAAAAJ1SXU8TQRQ9s/1khVKKaMEvlJoIJG5BTQytTRRDaFKwkYYX
+ nqa7A07ZnTW7sw289bf4D3wy8cE0PvqjjHfaEtGEkLAP9+PsuWfuvTO/fn//
+ AeAlnjJsceVFofTOHDcMPoexcKJEaRkI5/254oF021HYlx7v+mJ7RJBahqoV
+ utzPgTG0652tVo/3ueNzdeJ86PaEq2uN1pWyV+vVO51ao8bw4ga1OaQZsnWp
+ pG4wrDxrnYbal8rp9QPnOFGuIcbOziSq1lYPGVavY9XXRx0ZbqUVRidOT+hu
+ xCVxuFKh5mP+fuL7pqfaNLLI2cjAZkjrTzJmqF+9iGv3S6soeOKYJ77e4a4O
+ o3OG5esGY5i7oOwJzT2uOWFW0E/RjTNjMgzslKAzabIqRd4Gw+5wULKtsmUP
+ B/+6/HBQHg7W0uSLbDNfSpesXVa13i2UCsXUkm3y10Rh1fTPL1mrmDF6m3RE
+ h+HVTV4BdVu6mODyWPP/E5+falrzdugJhtmWVGI/Cboi6hhRo2E4hzySJp+A
+ UwfyRHGdRBRXPo5baaq+jCX9bvOIB0KL6O3fu2WwD8IkcsWONPWLk5rDccUl
+ IjZg0cWbj2Y37wApPKSsQbhFPru2/g23vlJk4RFZe4ROm8eCZYrujFmEzIxU
+ sihglpQejyryeEI+Z6SnKEhN4BRWRv4BKuTf0N8iCc4dIdVEqYl5srhtzEKT
+ Drh7BBajjMUjZGPMxFiKcS9GIcb9GLk/6rXJ3BUEAAA=
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcclkZiXUpSfmVKhl5yfW5BfnKpX
+ VJpXkpmbKiTkDBbILMnMz/PJT07M8S7hUuOSwaVeLy0/X4gtJLW4xLtEiUGL
+ AQBypVQ1cAAAAA==
"""
)
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/RememberDetectorTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/RememberDetectorTest.kt
index df54bf8..4fa7427 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/RememberDetectorTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/RememberDetectorTest.kt
@@ -18,7 +18,7 @@
package androidx.compose.runtime.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -78,10 +78,12 @@
fun Test(number1: Int, number2: Int) {
val state = remember { FooState() }
remember(number1, number2) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
}
val unit = remember(number1, number2) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
}
}
@@ -89,10 +91,14 @@
fun Test(number1: Int, number2: Int, number3: Int) {
val state = remember { FooState() }
remember(number1, number2, number3) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
+ state.update(number3)
}
val unit = remember(number1, number2, number3) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
+ state.update(number3)
}
}
@@ -100,16 +106,20 @@
fun Test(number1: Int, number2: Int, number3: Int, flag: Boolean) {
val state = remember { FooState() }
remember(number1, number2, number3, flag) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
+ state.update(number3)
}
val unit = remember(number1, number2, number3, flag) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
+ state.update(number3)
}
}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Remember)
+ Stubs.Composable,
+ Stubs.Remember
)
.run()
.expect(
@@ -129,19 +139,19 @@
src/androidx/compose/runtime/foo/FooState.kt:36: Error: remember calls must not return Unit [RememberReturnType]
remember(number1, number2) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:39: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:40: Error: remember calls must not return Unit [RememberReturnType]
val unit = remember(number1, number2) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:47: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:49: Error: remember calls must not return Unit [RememberReturnType]
remember(number1, number2, number3) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:50: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:54: Error: remember calls must not return Unit [RememberReturnType]
val unit = remember(number1, number2, number3) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:58: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:64: Error: remember calls must not return Unit [RememberReturnType]
remember(number1, number2, number3, flag) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:61: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:69: Error: remember calls must not return Unit [RememberReturnType]
val unit = remember(number1, number2, number3, flag) {
~~~~~~~~
10 errors, 0 warnings
@@ -189,10 +199,12 @@
fun Test(number1: Int, number2: Int) {
val state = remember { FooState() }
remember<Unit>(number1, number2) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
}
val result = remember<Unit>(number1, number2) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
}
}
@@ -200,10 +212,14 @@
fun Test(number1: Int, number2: Int, number3: Int) {
val state = remember { FooState() }
remember<Unit>(number1, number2, number3) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
+ state.update(number3)
}
val result = remember<Unit>(number1, number2, number3) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
+ state.update(number3)
}
}
@@ -211,16 +227,20 @@
fun Test(number1: Int, number2: Int, number3: Int, flag: Boolean) {
val state = remember { FooState() }
remember<Unit>(number1, number2, number3, flag) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
+ state.update(number3)
}
val result = remember<Unit>(number1, number2, number3, flag) {
- state.update(number)
+ state.update(number1)
+ state.update(number2)
+ state.update(number3)
}
}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Remember)
+ Stubs.Composable,
+ Stubs.Remember
)
.run()
.expect(
@@ -240,19 +260,19 @@
src/androidx/compose/runtime/foo/FooState.kt:36: Error: remember calls must not return Unit [RememberReturnType]
remember<Unit>(number1, number2) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:39: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:40: Error: remember calls must not return Unit [RememberReturnType]
val result = remember<Unit>(number1, number2) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:47: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:49: Error: remember calls must not return Unit [RememberReturnType]
remember<Unit>(number1, number2, number3) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:50: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:54: Error: remember calls must not return Unit [RememberReturnType]
val result = remember<Unit>(number1, number2, number3) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:58: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:64: Error: remember calls must not return Unit [RememberReturnType]
remember<Unit>(number1, number2, number3, flag) {
~~~~~~~~
-src/androidx/compose/runtime/foo/FooState.kt:61: Error: remember calls must not return Unit [RememberReturnType]
+src/androidx/compose/runtime/foo/FooState.kt:69: Error: remember calls must not return Unit [RememberReturnType]
val result = remember<Unit>(number1, number2, number3, flag) {
~~~~~~~~
10 errors, 0 warnings
@@ -330,8 +350,8 @@
}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Remember)
+ Stubs.Composable,
+ Stubs.Remember
)
.run()
.expectClean()
diff --git a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/UnrememberedMutableStateDetectorTest.kt b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/UnrememberedMutableStateDetectorTest.kt
index 4903dbb0..1a307c6 100644
--- a/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/UnrememberedMutableStateDetectorTest.kt
+++ b/compose/runtime/runtime-lint/src/test/java/androidx/compose/runtime/lint/UnrememberedMutableStateDetectorTest.kt
@@ -18,7 +18,7 @@
package androidx.compose.runtime.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -107,9 +107,9 @@
}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.MutableState),
- kotlin(Stubs.Remember)
+ Stubs.Composable,
+ Stubs.MutableState,
+ Stubs.Remember
)
.run()
.expect(
@@ -272,9 +272,9 @@
}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.MutableState),
- kotlin(Stubs.Remember)
+ Stubs.Composable,
+ Stubs.MutableState,
+ Stubs.Remember
)
.run()
.expectClean()
@@ -360,9 +360,9 @@
}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.MutableState),
- kotlin(Stubs.Remember)
+ Stubs.Composable,
+ Stubs.MutableState,
+ Stubs.Remember
)
.run()
.expectClean()
diff --git a/compose/runtime/runtime-livedata/api/1.0.0-beta10.txt b/compose/runtime/runtime-livedata/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..e004a29
--- /dev/null
+++ b/compose/runtime/runtime-livedata/api/1.0.0-beta10.txt
@@ -0,0 +1,10 @@
+// Signature format: 4.0
+package androidx.compose.runtime.livedata {
+
+ public final class LiveDataAdapterKt {
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> observeAsState(androidx.lifecycle.LiveData<T>);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> observeAsState(androidx.lifecycle.LiveData<T>, R? initial);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-livedata/api/public_plus_experimental_1.0.0-beta10.txt b/compose/runtime/runtime-livedata/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..e004a29
--- /dev/null
+++ b/compose/runtime/runtime-livedata/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,10 @@
+// Signature format: 4.0
+package androidx.compose.runtime.livedata {
+
+ public final class LiveDataAdapterKt {
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> observeAsState(androidx.lifecycle.LiveData<T>);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> observeAsState(androidx.lifecycle.LiveData<T>, R? initial);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-livedata/api/res-1.0.0-beta10.txt b/compose/runtime/runtime-livedata/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/runtime/runtime-livedata/api/res-1.0.0-beta10.txt
diff --git a/compose/runtime/runtime-livedata/api/restricted_1.0.0-beta10.txt b/compose/runtime/runtime-livedata/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..e004a29
--- /dev/null
+++ b/compose/runtime/runtime-livedata/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,10 @@
+// Signature format: 4.0
+package androidx.compose.runtime.livedata {
+
+ public final class LiveDataAdapterKt {
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> observeAsState(androidx.lifecycle.LiveData<T>);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> observeAsState(androidx.lifecycle.LiveData<T>, R? initial);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-rxjava2/api/1.0.0-beta10.txt b/compose/runtime/runtime-rxjava2/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..fb30f38
--- /dev/null
+++ b/compose/runtime/runtime-rxjava2/api/1.0.0-beta10.txt
@@ -0,0 +1,13 @@
+// Signature format: 4.0
+package androidx.compose.runtime.rxjava2 {
+
+ public final class RxJava2AdapterKt {
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Observable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Flowable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Single<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Maybe<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> subscribeAsState(io.reactivex.Completable);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-rxjava2/api/public_plus_experimental_1.0.0-beta10.txt b/compose/runtime/runtime-rxjava2/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..fb30f38
--- /dev/null
+++ b/compose/runtime/runtime-rxjava2/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,13 @@
+// Signature format: 4.0
+package androidx.compose.runtime.rxjava2 {
+
+ public final class RxJava2AdapterKt {
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Observable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Flowable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Single<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Maybe<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> subscribeAsState(io.reactivex.Completable);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-rxjava2/api/res-1.0.0-beta10.txt b/compose/runtime/runtime-rxjava2/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/runtime/runtime-rxjava2/api/res-1.0.0-beta10.txt
diff --git a/compose/runtime/runtime-rxjava2/api/restricted_1.0.0-beta10.txt b/compose/runtime/runtime-rxjava2/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..fb30f38
--- /dev/null
+++ b/compose/runtime/runtime-rxjava2/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,13 @@
+// Signature format: 4.0
+package androidx.compose.runtime.rxjava2 {
+
+ public final class RxJava2AdapterKt {
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Observable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Flowable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Single<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.Maybe<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> subscribeAsState(io.reactivex.Completable);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-rxjava3/api/1.0.0-beta10.txt b/compose/runtime/runtime-rxjava3/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..1930cc8
--- /dev/null
+++ b/compose/runtime/runtime-rxjava3/api/1.0.0-beta10.txt
@@ -0,0 +1,13 @@
+// Signature format: 4.0
+package androidx.compose.runtime.rxjava3 {
+
+ public final class RxJava3AdapterKt {
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Observable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Flowable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Single<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Maybe<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> subscribeAsState(io.reactivex.rxjava3.core.Completable);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-rxjava3/api/public_plus_experimental_1.0.0-beta10.txt b/compose/runtime/runtime-rxjava3/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..1930cc8
--- /dev/null
+++ b/compose/runtime/runtime-rxjava3/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,13 @@
+// Signature format: 4.0
+package androidx.compose.runtime.rxjava3 {
+
+ public final class RxJava3AdapterKt {
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Observable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Flowable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Single<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Maybe<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> subscribeAsState(io.reactivex.rxjava3.core.Completable);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-rxjava3/api/res-1.0.0-beta10.txt b/compose/runtime/runtime-rxjava3/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/runtime/runtime-rxjava3/api/res-1.0.0-beta10.txt
diff --git a/compose/runtime/runtime-rxjava3/api/restricted_1.0.0-beta10.txt b/compose/runtime/runtime-rxjava3/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..1930cc8
--- /dev/null
+++ b/compose/runtime/runtime-rxjava3/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,13 @@
+// Signature format: 4.0
+package androidx.compose.runtime.rxjava3 {
+
+ public final class RxJava3AdapterKt {
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Observable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Flowable<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Single<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static <R, T extends R> androidx.compose.runtime.State<R> subscribeAsState(io.reactivex.rxjava3.core.Maybe<T>, R? initial);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.State<java.lang.Boolean> subscribeAsState(io.reactivex.rxjava3.core.Completable);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-saveable-lint/build.gradle b/compose/runtime/runtime-saveable-lint/build.gradle
index 54d62df..37c4b6f 100644
--- a/compose/runtime/runtime-saveable-lint/build.gradle
+++ b/compose/runtime/runtime-saveable-lint/build.gradle
@@ -27,10 +27,11 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly(libs.androidLintMinComposeApi)
compileOnly(libs.kotlinStdlib)
bundleInside(project(":compose:lint:common"))
+ testImplementation(project(":compose:lint:common-test"))
testImplementation(libs.kotlinStdlib)
testImplementation(libs.androidLint)
testImplementation(libs.androidLintTests)
diff --git a/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RuntimeSaveableIssueRegistry.kt b/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RuntimeSaveableIssueRegistry.kt
index c3f8f55..ada42a3 100644
--- a/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RuntimeSaveableIssueRegistry.kt
+++ b/compose/runtime/runtime-saveable-lint/src/main/java/androidx/compose/runtime/saveable/lint/RuntimeSaveableIssueRegistry.kt
@@ -19,6 +19,7 @@
package androidx.compose.runtime.saveable.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -31,4 +32,9 @@
override val issues get() = listOf(
RememberSaveableDetector.RememberSaveableSaverParameter
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.runtime.saveable",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/ApiLintVersionsTest.kt b/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/ApiLintVersionsTest.kt
index 9bc4684..1e21d66 100644
--- a/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/ApiLintVersionsTest.kt
+++ b/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = RuntimeSaveableIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/RememberSaveableDetectorTest.kt b/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/RememberSaveableDetectorTest.kt
index 7b3f907..3432370 100644
--- a/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/RememberSaveableDetectorTest.kt
+++ b/compose/runtime/runtime-saveable-lint/src/test/java/androidx/compose/runtime/saveable/lint/RememberSaveableDetectorTest.kt
@@ -18,7 +18,8 @@
package androidx.compose.runtime.saveable.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
+import androidx.compose.lint.test.compiledStub
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.checks.infrastructure.TestFile
import com.android.tools.lint.detector.api.Detector
@@ -27,9 +28,6 @@
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
-// TODO: add tests for methods defined in class files when we update Lint to support bytecode()
-// test files
-
/* ktlint-disable max-line-length */
@RunWith(JUnit4::class)
/**
@@ -41,7 +39,9 @@
override fun getIssues(): MutableList<Issue> =
mutableListOf(RememberSaveableDetector.RememberSaveableSaverParameter)
- private val rememberSaveableStub: TestFile = kotlin(
+ private val rememberSaveableStub: TestFile = compiledStub(
+ filename = "RememberSaveable.kt",
+ filepath = "androidx/compose/runtime/saveable",
"""
package androidx.compose.runtime.saveable
@@ -77,7 +77,57 @@
@Suppress("UNCHECKED_CAST")
private fun <T> mutableStateSaver(inner: Saver<T, out Any>) =
Any() as Saver<MutableState<T>, MutableState<Any?>>
- """
+ """,
+"""
+ androidx/compose/runtime/saveable/Saver.class:
+ H4sIAAAAAAAAAI1PTUvDQBB9m/QjjVVT60f9BWIOphZBUBG8CJVKoQEvPW2b
+ tWzbbCS7LT3md3mQnP1R4sTai3pwYd6bffOGmXn/eH0DcIEWwwlXUZrIaBWM
+ k/gl0SJIF8rIWASaLwUfzUUQUpJWwRgebvqpnEjF51e9KV/yYM7VJOiPpmJs
+ rsNv/x+l298Sg/dTq6LE0OjNEjOXKngUhkfccHJa8dKmfVkBZQY2I2kli1+b
+ suicwc+zumu1LNdyKLw8c55beeaXnDzzmO84zLN8q213KIqODsNp75+H03xn
+ czWlmysZ7YPmQMQiHol0o57NDEMtlBPFzSIlkxsmi3Qs7mXRcTxYT3iSWpL5
+ TqnEcCMTpSu0FcpYPxsHhBbx4Rfv44j4kuZVyFMdwu7C6aJGCLeArS7q2B6C
+ aexgd4iShqfR0NjTaH4C2V0QQe0BAAA=
+ """,
+ """
+ androidx/compose/runtime/saveable/RememberSaveableKt.class:
+ H4sIAAAAAAAAAM1X3VMbVRT/3WSTbD4aluWjsEVagdiQQBcQvwqiWIuNDbSS
+ iK34MUtYcEmyy+xumPbFQf8Hx/HVF2d86puoMx3GR/8V/wGfHM/dbNJAgqR2
+ plNmcu+55557Pn73nLOXP//57TGAeXzJMK+Z27ZlbD9QS1Z133J01a6ZrlHV
+ VUc70LWtiq6u61W9uqXbBZ9x242AMUh72oGmVjRzV72ztaeXiBskrn1KmuHb
+ 9Gb+tOxC/ny7XIO90HK04NqGubuQL1tuxTDVvYOqulMzS65hmY664lMzC5Pt
+ 1hh+Wixeb+cvPYtri8XiQraDzqd3eTFLqpYWJmlkSJ1t/4a35h6Q3HjesnfV
+ Pd3dsjWDtGmmablaXfOa5a7VKhWSmvgvKRLxlYUNc7/mOiLiDKMtzhqmq9um
+ VlFzJo/EMUpOBBcYBkpf6aWyb+auZmtVnQQZrqY74NkGx+RGAj2QYkiilyHE
+ YbVF9DEIhmm4IgZOOtEBsQguek4fWGXKsP50hztPYBhKHEO4xNDX4ZoZJrtO
+ QoZgWX/IILfHwnDlvIRkGDpdFRPb+o5Wq7gM3z3n6si1W+tYMFGt5lqeEYZs
+ unuoEphAKoYAXkkghDCn0gzfP/cecKbu1ZrLVReoCnjm//1CN4buwlj02sdS
+ t1HXxRliDl8V6tU31ejoNdeoqMu2rT2kUr9GVVay9h/e2aFy6YRJbrIDM4EZ
+ zMagYo6ht9pi2c+nYrrrq3+axJvHazzdXqce2hUOEbzJ8POLUH/dJSsvqAyP
+ kO7u3hlp2zVePAk65Shd+CLvwkvU89K8US/hnRgEvEvNvUvVEbzH8NcZDj5z
+ EXUf4dNUQ5eynRzimIUM0+SZ3du4/lXd1bY1V6O9QPUgSM8txocQAytzIkD8
+ BwanZojanmWsdHw4FTs+jAWGAt4k0eAvA2KQ1r00Ey0lW9iKQmJKUhbkwK0A
+ H2eCM2xMEI8PJWIoS5KgjMgxWawLzITkBK3CsjDESDDUFJ3rl8KK5GsJi6yu
+ hxRoUkQh3pjoiWWIPTcoiUpCFkmoriU65s1zg2JAirUrmYsRP65wmcRcQrqg
+ NHxJ3or88WM4IPUou2Sk6WHDo7PM9EvSOUZkMpJsDbppqpdDTT2JFRndB652
+ /ZGQG9fa+lHvO/0wvlam77lww9qmJ0lP3jD1tRrfLtafwXLeKmmVDc02+Npn
+ RgvGrqm5NZvoS+t14znzwHAM2l5+8lajh9zp3ear64TYBXK5VF7V9n0DsYJV
+ s0v6isEXw76OjTb9mKW2IoD/hendRB9uWm3QSvP5wxk5cQQ5K/fTOC0P8vFX
+ jDA84smMT7yDFCQSuEd0pn4IcbzkKR1GH0Zpn1OXcYVOcGoALyOI+56GCD6l
+ mXc3keYo/Ta5jECH+KIxxhq0FMUYxonmXq6RuTDNIwNC6OsfEDmiux0QIkSG
+ 2GomOzV9hMm6o5/RKCAQFz2XBylSkOkIaYzTKJP+fpo5AhkfgW9o5sGkGghM
+ NxHIZB4f4dXsEd7wLBzjrSdoKOSQTBEOkZERXCQchgiBfnodDbcglGoilMKU
+ j1CqiVDqBELZ/4PQdR+h6z5CvadgWXwCSxAs6rmeBO9LPR4eUZoV/qQjIa5n
+ 3HMMiP8O4f4vWD7GjUeewUYGgLyv+/s2HaRPsn+Qz6z9YKDl4LgHTKIuhpsE
+ B3xV79Pvc4/6GF94WcmwQnf0wSaCOdzKIUcjPszhNvI5rGJtE8zBHdzdhOxg
+ wsGog48crDuYd1BwcNOh/zoQ9zh9Di57xICDooOwgykHmX8BaeisIyQPAAA=
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcUlkZiXUpSfmVKhl5yfW5BfnKpX
+ VJpXkpmbKsTnW1qSmJSTGlySWJLqXcJlzqWIS61ecWJZKkitkFBQam5qblJq
+ UTBUBKiRl4ulJLW4RIjVLT/fu0SJQYsBAFB+NmSMAAAA
+ """
)
@Test
@@ -110,8 +160,8 @@
"""
),
rememberSaveableStub,
- kotlin(Stubs.Composable),
- kotlin(Stubs.MutableState)
+ Stubs.Composable,
+ Stubs.MutableState
)
.run()
.expect(
@@ -224,8 +274,8 @@
"""
),
rememberSaveableStub,
- kotlin(Stubs.Composable),
- kotlin(Stubs.MutableState)
+ Stubs.Composable,
+ Stubs.MutableState
)
.run()
.expectClean()
diff --git a/compose/runtime/runtime-saveable/api/1.0.0-beta10.txt b/compose/runtime/runtime-saveable/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..9622306
--- /dev/null
+++ b/compose/runtime/runtime-saveable/api/1.0.0-beta10.txt
@@ -0,0 +1,57 @@
+// Signature format: 4.0
+package androidx.compose.runtime.saveable {
+
+ public final class ListSaverKt {
+ method public static <Original, Saveable> androidx.compose.runtime.saveable.Saver<Original,java.lang.Object> listSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super Original,? extends java.util.List<? extends Saveable>> save, kotlin.jvm.functions.Function1<? super java.util.List<? extends Saveable>,? extends Original> restore);
+ }
+
+ public final class MapSaverKt {
+ method public static <T> androidx.compose.runtime.saveable.Saver<T,java.lang.Object> mapSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super T,? extends java.util.Map<java.lang.String,?>> save, kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,?>,? extends T> restore);
+ }
+
+ public final class RememberSaveableKt {
+ method @androidx.compose.runtime.Composable public static <T> T rememberSaveable(Object![]? inputs, optional androidx.compose.runtime.saveable.Saver<T,?> saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.MutableState<T> rememberSaveable(Object![]? inputs, androidx.compose.runtime.saveable.Saver<T,?> stateSaver, optional String? key, kotlin.jvm.functions.Function0<? extends androidx.compose.runtime.MutableState<T>> init);
+ }
+
+ public interface SaveableStateHolder {
+ method @androidx.compose.runtime.Composable public void SaveableStateProvider(Object key, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method public void removeState(Object key);
+ }
+
+ public final class SaveableStateHolderKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.saveable.SaveableStateHolder rememberSaveableStateHolder();
+ }
+
+ public interface SaveableStateRegistry {
+ method public boolean canBeSaved(Object value);
+ method public Object? consumeRestored(String key);
+ method public java.util.Map<java.lang.String,java.util.List<java.lang.Object>> performSave();
+ method public androidx.compose.runtime.saveable.SaveableStateRegistry.Entry registerProvider(String key, kotlin.jvm.functions.Function0<?> valueProvider);
+ }
+
+ public static interface SaveableStateRegistry.Entry {
+ method public void unregister();
+ }
+
+ public final class SaveableStateRegistryKt {
+ method public static androidx.compose.runtime.saveable.SaveableStateRegistry SaveableStateRegistry(java.util.Map<java.lang.String,? extends java.util.List<?>>? restoredValues, kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Boolean> canBeSaved);
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.runtime.saveable.SaveableStateRegistry> getLocalSaveableStateRegistry();
+ }
+
+ public interface Saver<Original, Saveable> {
+ method public Original? restore(Saveable value);
+ method public Saveable? save(androidx.compose.runtime.saveable.SaverScope, Original? value);
+ }
+
+ public final class SaverKt {
+ method public static <Original, Saveable> androidx.compose.runtime.saveable.Saver<Original,Saveable> Saver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super Original,? extends Saveable> save, kotlin.jvm.functions.Function1<? super Saveable,? extends Original> restore);
+ method public static <T> androidx.compose.runtime.saveable.Saver<T,java.lang.Object> autoSaver();
+ }
+
+ public fun interface SaverScope {
+ method public boolean canBeSaved(Object value);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-saveable/api/public_plus_experimental_1.0.0-beta10.txt b/compose/runtime/runtime-saveable/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..9622306
--- /dev/null
+++ b/compose/runtime/runtime-saveable/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,57 @@
+// Signature format: 4.0
+package androidx.compose.runtime.saveable {
+
+ public final class ListSaverKt {
+ method public static <Original, Saveable> androidx.compose.runtime.saveable.Saver<Original,java.lang.Object> listSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super Original,? extends java.util.List<? extends Saveable>> save, kotlin.jvm.functions.Function1<? super java.util.List<? extends Saveable>,? extends Original> restore);
+ }
+
+ public final class MapSaverKt {
+ method public static <T> androidx.compose.runtime.saveable.Saver<T,java.lang.Object> mapSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super T,? extends java.util.Map<java.lang.String,?>> save, kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,?>,? extends T> restore);
+ }
+
+ public final class RememberSaveableKt {
+ method @androidx.compose.runtime.Composable public static <T> T rememberSaveable(Object![]? inputs, optional androidx.compose.runtime.saveable.Saver<T,?> saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.MutableState<T> rememberSaveable(Object![]? inputs, androidx.compose.runtime.saveable.Saver<T,?> stateSaver, optional String? key, kotlin.jvm.functions.Function0<? extends androidx.compose.runtime.MutableState<T>> init);
+ }
+
+ public interface SaveableStateHolder {
+ method @androidx.compose.runtime.Composable public void SaveableStateProvider(Object key, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method public void removeState(Object key);
+ }
+
+ public final class SaveableStateHolderKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.saveable.SaveableStateHolder rememberSaveableStateHolder();
+ }
+
+ public interface SaveableStateRegistry {
+ method public boolean canBeSaved(Object value);
+ method public Object? consumeRestored(String key);
+ method public java.util.Map<java.lang.String,java.util.List<java.lang.Object>> performSave();
+ method public androidx.compose.runtime.saveable.SaveableStateRegistry.Entry registerProvider(String key, kotlin.jvm.functions.Function0<?> valueProvider);
+ }
+
+ public static interface SaveableStateRegistry.Entry {
+ method public void unregister();
+ }
+
+ public final class SaveableStateRegistryKt {
+ method public static androidx.compose.runtime.saveable.SaveableStateRegistry SaveableStateRegistry(java.util.Map<java.lang.String,? extends java.util.List<?>>? restoredValues, kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Boolean> canBeSaved);
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.runtime.saveable.SaveableStateRegistry> getLocalSaveableStateRegistry();
+ }
+
+ public interface Saver<Original, Saveable> {
+ method public Original? restore(Saveable value);
+ method public Saveable? save(androidx.compose.runtime.saveable.SaverScope, Original? value);
+ }
+
+ public final class SaverKt {
+ method public static <Original, Saveable> androidx.compose.runtime.saveable.Saver<Original,Saveable> Saver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super Original,? extends Saveable> save, kotlin.jvm.functions.Function1<? super Saveable,? extends Original> restore);
+ method public static <T> androidx.compose.runtime.saveable.Saver<T,java.lang.Object> autoSaver();
+ }
+
+ public fun interface SaverScope {
+ method public boolean canBeSaved(Object value);
+ }
+
+}
+
diff --git a/compose/runtime/runtime-saveable/api/res-1.0.0-beta10.txt b/compose/runtime/runtime-saveable/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/runtime/runtime-saveable/api/res-1.0.0-beta10.txt
diff --git a/compose/runtime/runtime-saveable/api/restricted_1.0.0-beta10.txt b/compose/runtime/runtime-saveable/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..9622306
--- /dev/null
+++ b/compose/runtime/runtime-saveable/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,57 @@
+// Signature format: 4.0
+package androidx.compose.runtime.saveable {
+
+ public final class ListSaverKt {
+ method public static <Original, Saveable> androidx.compose.runtime.saveable.Saver<Original,java.lang.Object> listSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super Original,? extends java.util.List<? extends Saveable>> save, kotlin.jvm.functions.Function1<? super java.util.List<? extends Saveable>,? extends Original> restore);
+ }
+
+ public final class MapSaverKt {
+ method public static <T> androidx.compose.runtime.saveable.Saver<T,java.lang.Object> mapSaver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super T,? extends java.util.Map<java.lang.String,?>> save, kotlin.jvm.functions.Function1<? super java.util.Map<java.lang.String,?>,? extends T> restore);
+ }
+
+ public final class RememberSaveableKt {
+ method @androidx.compose.runtime.Composable public static <T> T rememberSaveable(Object![]? inputs, optional androidx.compose.runtime.saveable.Saver<T,?> saver, optional String? key, kotlin.jvm.functions.Function0<? extends T> init);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.MutableState<T> rememberSaveable(Object![]? inputs, androidx.compose.runtime.saveable.Saver<T,?> stateSaver, optional String? key, kotlin.jvm.functions.Function0<? extends androidx.compose.runtime.MutableState<T>> init);
+ }
+
+ public interface SaveableStateHolder {
+ method @androidx.compose.runtime.Composable public void SaveableStateProvider(Object key, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method public void removeState(Object key);
+ }
+
+ public final class SaveableStateHolderKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.saveable.SaveableStateHolder rememberSaveableStateHolder();
+ }
+
+ public interface SaveableStateRegistry {
+ method public boolean canBeSaved(Object value);
+ method public Object? consumeRestored(String key);
+ method public java.util.Map<java.lang.String,java.util.List<java.lang.Object>> performSave();
+ method public androidx.compose.runtime.saveable.SaveableStateRegistry.Entry registerProvider(String key, kotlin.jvm.functions.Function0<?> valueProvider);
+ }
+
+ public static interface SaveableStateRegistry.Entry {
+ method public void unregister();
+ }
+
+ public final class SaveableStateRegistryKt {
+ method public static androidx.compose.runtime.saveable.SaveableStateRegistry SaveableStateRegistry(java.util.Map<java.lang.String,? extends java.util.List<?>>? restoredValues, kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Boolean> canBeSaved);
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.runtime.saveable.SaveableStateRegistry> getLocalSaveableStateRegistry();
+ }
+
+ public interface Saver<Original, Saveable> {
+ method public Original? restore(Saveable value);
+ method public Saveable? save(androidx.compose.runtime.saveable.SaverScope, Original? value);
+ }
+
+ public final class SaverKt {
+ method public static <Original, Saveable> androidx.compose.runtime.saveable.Saver<Original,Saveable> Saver(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.saveable.SaverScope,? super Original,? extends Saveable> save, kotlin.jvm.functions.Function1<? super Saveable,? extends Original> restore);
+ method public static <T> androidx.compose.runtime.saveable.Saver<T,java.lang.Object> autoSaver();
+ }
+
+ public fun interface SaverScope {
+ method public boolean canBeSaved(Object value);
+ }
+
+}
+
diff --git a/compose/runtime/runtime/api/1.0.0-beta10.txt b/compose/runtime/runtime/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..665a5a5
--- /dev/null
+++ b/compose/runtime/runtime/api/1.0.0-beta10.txt
@@ -0,0 +1,807 @@
+// Signature format: 4.0
+package androidx.compose.runtime {
+
+ public abstract class AbstractApplier<T> implements androidx.compose.runtime.Applier<T> {
+ ctor public AbstractApplier(T? root);
+ method public final void clear();
+ method public void down(T? node);
+ method public T! getCurrent();
+ method public final T! getRoot();
+ method protected final void move(java.util.List<T>, int from, int to, int count);
+ method protected abstract void onClear();
+ method protected final void remove(java.util.List<T>, int index, int count);
+ method protected void setCurrent(T! p);
+ method public void up();
+ property public T! current;
+ property public final T! root;
+ }
+
+ public final class ActualAndroid_androidKt {
+ method @Deprecated public static androidx.compose.runtime.MonotonicFrameClock getDefaultMonotonicFrameClock();
+ }
+
+ public final class ActualJvm_jvmKt {
+ }
+
+ public interface Applier<N> {
+ method public void clear();
+ method public void down(N? node);
+ method public N! getCurrent();
+ method public void insertBottomUp(int index, N? instance);
+ method public void insertTopDown(int index, N? instance);
+ method public void move(int from, int to, int count);
+ method public default void onBeginChanges();
+ method public default void onEndChanges();
+ method public void remove(int index, int count);
+ method public void up();
+ property public abstract N! current;
+ }
+
+ public final class BitwiseOperatorsKt {
+ }
+
+ public final class BroadcastFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public BroadcastFrameClock(optional kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
+ method public void cancel(optional java.util.concurrent.CancellationException cancellationException);
+ method public boolean getHasAwaiters();
+ method public void sendFrame(long timeNanos);
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final boolean hasAwaiters;
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface Composable {
+ }
+
+ public final class ComposablesKt {
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update);
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ExplicitGroupsComposable public static inline <T, reified E extends androidx.compose.runtime.Applier<?>> void ComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.SkippableUpdater<T>,? extends kotlin.Unit> skippableUpdate, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ReusableComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update);
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ReusableComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ExplicitGroupsComposable public static inline <T, reified E extends androidx.compose.runtime.Applier<?>> void ReusableComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.SkippableUpdater<T>,? extends kotlin.Unit> skippableUpdate, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static inline void ReusableContent(Object? key, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static androidx.compose.runtime.Composer getCurrentComposer();
+ method @androidx.compose.runtime.Composable public static int getCurrentCompositeKeyHash();
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static androidx.compose.runtime.RecomposeScope getCurrentRecomposeScope();
+ method @androidx.compose.runtime.Composable public static inline <T> T! key(Object![]? keys, kotlin.jvm.functions.Function0<? extends T> block);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object? key1, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object? key1, Object? key2, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object![]? keys, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.CompositionContext rememberCompositionContext();
+ }
+
+ @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ComposeCompilerApi {
+ }
+
+ public interface Composer {
+ method @androidx.compose.runtime.ComposeCompilerApi public <V, T> void apply(V? value, kotlin.jvm.functions.Function2<? super T,? super V,kotlin.Unit> block);
+ method @androidx.compose.runtime.ComposeCompilerApi public boolean changed(Object? value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(boolean value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(char value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(byte value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(short value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(int value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(float value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(long value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(double value);
+ method @androidx.compose.runtime.ComposeCompilerApi public <T> void createNode(kotlin.jvm.functions.Function0<? extends T> factory);
+ method @androidx.compose.runtime.ComposeCompilerApi public void disableReusing();
+ method @androidx.compose.runtime.ComposeCompilerApi public void enableReusing();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endDefaults();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endMovableGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endNode();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endReplaceableGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public androidx.compose.runtime.ScopeUpdateScope? endRestartGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endReusableGroup();
+ method public androidx.compose.runtime.Applier<?> getApplier();
+ method @org.jetbrains.annotations.TestOnly public kotlin.coroutines.CoroutineContext getApplyCoroutineContext();
+ method @org.jetbrains.annotations.TestOnly public androidx.compose.runtime.ControlledComposition getComposition();
+ method public androidx.compose.runtime.tooling.CompositionData getCompositionData();
+ method public int getCompoundKeyHash();
+ method public boolean getDefaultsInvalid();
+ method public boolean getInserting();
+ method public androidx.compose.runtime.RecomposeScope? getRecomposeScope();
+ method public boolean getSkipping();
+ method @androidx.compose.runtime.ComposeCompilerApi public Object joinKey(Object? left, Object? right);
+ method @androidx.compose.runtime.ComposeCompilerApi public Object? rememberedValue();
+ method @androidx.compose.runtime.ComposeCompilerApi public void skipCurrentGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public void skipToGroupEnd();
+ method public void sourceInformation(String sourceInformation);
+ method public void sourceInformationMarkerEnd();
+ method public void sourceInformationMarkerStart(int key, String sourceInformation);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startDefaults();
+ method @androidx.compose.runtime.ComposeCompilerApi public void startMovableGroup(int key, Object? dataKey);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startNode();
+ method @androidx.compose.runtime.ComposeCompilerApi public void startReplaceableGroup(int key);
+ method @androidx.compose.runtime.ComposeCompilerApi public androidx.compose.runtime.Composer startRestartGroup(int key);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startReusableGroup(int key, Object? dataKey);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startReusableNode();
+ method @androidx.compose.runtime.ComposeCompilerApi public void updateRememberedValue(Object? value);
+ method @androidx.compose.runtime.ComposeCompilerApi public void useNode();
+ property public abstract androidx.compose.runtime.Applier<?> applier;
+ property @org.jetbrains.annotations.TestOnly public abstract kotlin.coroutines.CoroutineContext applyCoroutineContext;
+ property @org.jetbrains.annotations.TestOnly public abstract androidx.compose.runtime.ControlledComposition composition;
+ property public abstract androidx.compose.runtime.tooling.CompositionData compositionData;
+ property public abstract int compoundKeyHash;
+ property public abstract boolean defaultsInvalid;
+ property public abstract boolean inserting;
+ property public abstract androidx.compose.runtime.RecomposeScope? recomposeScope;
+ property public abstract boolean skipping;
+ field public static final androidx.compose.runtime.Composer.Companion Companion;
+ }
+
+ public static final class Composer.Companion {
+ method public Object getEmpty();
+ property public final Object Empty;
+ }
+
+ public final class ComposerKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static inline <T> T! cache(androidx.compose.runtime.Composer, boolean invalid, kotlin.jvm.functions.Function0<? extends T> block);
+ method @androidx.compose.runtime.ComposeCompilerApi public static void sourceInformation(androidx.compose.runtime.Composer composer, String sourceInformation);
+ method @androidx.compose.runtime.ComposeCompilerApi public static void sourceInformationMarkerEnd(androidx.compose.runtime.Composer composer);
+ method @androidx.compose.runtime.ComposeCompilerApi public static void sourceInformationMarkerStart(androidx.compose.runtime.Composer composer, int key, String sourceInformation);
+ }
+
+ public interface Composition {
+ method public void dispose();
+ method public boolean getHasInvalidations();
+ method public boolean isDisposed();
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ property public abstract boolean hasInvalidations;
+ property public abstract boolean isDisposed;
+ }
+
+ public abstract class CompositionContext {
+ }
+
+ public final class CompositionContextKt {
+ }
+
+ public final class CompositionKt {
+ method public static androidx.compose.runtime.Composition Composition(androidx.compose.runtime.Applier<?> applier, androidx.compose.runtime.CompositionContext parent);
+ method @org.jetbrains.annotations.TestOnly public static androidx.compose.runtime.ControlledComposition ControlledComposition(androidx.compose.runtime.Applier<?> applier, androidx.compose.runtime.CompositionContext parent);
+ }
+
+ @androidx.compose.runtime.Stable public abstract sealed class CompositionLocal<T> {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final inline T! getCurrent();
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final inline T! current;
+ }
+
+ public final class CompositionLocalKt {
+ method @androidx.compose.runtime.Composable public static void CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<?>![] values, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method public static <T> androidx.compose.runtime.ProvidableCompositionLocal<T> compositionLocalOf(optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy, kotlin.jvm.functions.Function0<? extends T> defaultFactory);
+ method public static <T> androidx.compose.runtime.ProvidableCompositionLocal<T> staticCompositionLocalOf(kotlin.jvm.functions.Function0<? extends T> defaultFactory);
+ }
+
+ public interface ControlledComposition extends androidx.compose.runtime.Composition {
+ method public void applyChanges();
+ method public void composeContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method public boolean getHasPendingChanges();
+ method public void invalidateAll();
+ method public boolean isComposing();
+ method public boolean observesAnyOf(java.util.Set<?> values);
+ method public void prepareCompose(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ method public boolean recompose();
+ method public void recordModificationsOf(java.util.Set<?> values);
+ method public void recordReadOf(Object value);
+ method public void recordWriteOf(Object value);
+ property public abstract boolean hasPendingChanges;
+ property public abstract boolean isComposing;
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface DisallowComposableCalls {
+ }
+
+ public interface DisposableEffectResult {
+ method public void dispose();
+ }
+
+ public final class DisposableEffectScope {
+ ctor public DisposableEffectScope();
+ method public inline androidx.compose.runtime.DisposableEffectResult onDispose(kotlin.jvm.functions.Function0<kotlin.Unit> onDisposeEffect);
+ }
+
+ public final class EffectsKt {
+ method @Deprecated @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object? key1, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object? key1, Object? key2, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object![]? keys, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @Deprecated @androidx.compose.runtime.Composable public static void LaunchedEffect(kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object? key1, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object![]? keys, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void SideEffect(kotlin.jvm.functions.Function0<kotlin.Unit> effect);
+ method @androidx.compose.runtime.Composable public static inline kotlinx.coroutines.CoroutineScope rememberCoroutineScope(optional kotlin.jvm.functions.Function0<? extends kotlin.coroutines.CoroutineContext> getContext);
+ }
+
+ public final class ExpectKt {
+ }
+
+ @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ExplicitGroupsComposable {
+ }
+
+ @androidx.compose.runtime.StableMarker @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Immutable {
+ }
+
+ public interface MonotonicFrameClock extends kotlin.coroutines.CoroutineContext.Element {
+ method public default kotlin.coroutines.CoroutineContext.Key<?> getKey();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public default kotlin.coroutines.CoroutineContext.Key<?> key;
+ field public static final androidx.compose.runtime.MonotonicFrameClock.Key Key;
+ }
+
+ public static final class MonotonicFrameClock.Key implements kotlin.coroutines.CoroutineContext.Key<androidx.compose.runtime.MonotonicFrameClock> {
+ }
+
+ public final class MonotonicFrameClockKt {
+ method public static androidx.compose.runtime.MonotonicFrameClock getMonotonicFrameClock(kotlin.coroutines.CoroutineContext);
+ method public static suspend inline <R> Object? withFrameMillis(androidx.compose.runtime.MonotonicFrameClock, kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ method public static suspend <R> Object? withFrameMillis(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ method public static suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ @androidx.compose.runtime.Stable public interface MutableState<T> extends androidx.compose.runtime.State<T> {
+ method public operator T! component1();
+ method public operator kotlin.jvm.functions.Function1<T,kotlin.Unit> component2();
+ method public void setValue(T! p);
+ property public abstract T! value;
+ }
+
+ @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface NoLiveLiterals {
+ }
+
+ @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface NonRestartableComposable {
+ }
+
+ public final class PausableMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public PausableMonotonicFrameClock(androidx.compose.runtime.MonotonicFrameClock frameClock);
+ method public boolean isPaused();
+ method public void pause();
+ method public void resume();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final boolean isPaused;
+ }
+
+ public interface ProduceStateScope<T> extends androidx.compose.runtime.MutableState<T> kotlinx.coroutines.CoroutineScope {
+ method public suspend Object? awaitDispose(kotlin.jvm.functions.Function0<kotlin.Unit> onDispose, kotlin.coroutines.Continuation<?> p);
+ }
+
+ @androidx.compose.runtime.Stable public abstract class ProvidableCompositionLocal<T> extends androidx.compose.runtime.CompositionLocal<T> {
+ method public final infix androidx.compose.runtime.ProvidedValue<T> provides(T? value);
+ method public final infix androidx.compose.runtime.ProvidedValue<T> providesDefault(T? value);
+ }
+
+ public final class ProvidedValue<T> {
+ method public boolean getCanOverride();
+ method public androidx.compose.runtime.CompositionLocal<T> getCompositionLocal();
+ method public T! getValue();
+ property public final boolean canOverride;
+ property public final androidx.compose.runtime.CompositionLocal<T> compositionLocal;
+ property public final T! value;
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ReadOnlyComposable {
+ }
+
+ public interface RecomposeScope {
+ method public void invalidate();
+ }
+
+ public final class RecomposeScopeImplKt {
+ }
+
+ public final class Recomposer extends androidx.compose.runtime.CompositionContext {
+ ctor public Recomposer(kotlin.coroutines.CoroutineContext effectCoroutineContext);
+ method public androidx.compose.runtime.RecomposerInfo asRecomposerInfo();
+ method public suspend Object? awaitIdle(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public void cancel();
+ method public void close();
+ method public long getChangeCount();
+ method public boolean getHasPendingWork();
+ method public kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> getState();
+ method public suspend Object? join(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? runRecomposeAndApplyChanges(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final long changeCount;
+ property public final boolean hasPendingWork;
+ property public final kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> state;
+ field public static final androidx.compose.runtime.Recomposer.Companion Companion;
+ }
+
+ public static final class Recomposer.Companion {
+ method public kotlinx.coroutines.flow.StateFlow<java.util.Set<androidx.compose.runtime.RecomposerInfo>> getRunningRecomposers();
+ property public final kotlinx.coroutines.flow.StateFlow<java.util.Set<androidx.compose.runtime.RecomposerInfo>> runningRecomposers;
+ }
+
+ public enum Recomposer.State {
+ enum_constant public static final androidx.compose.runtime.Recomposer.State Idle;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State Inactive;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State InactivePendingWork;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State PendingWork;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State ShutDown;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State ShuttingDown;
+ }
+
+ public interface RecomposerInfo {
+ method public long getChangeCount();
+ method public boolean getHasPendingWork();
+ method public kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> getState();
+ property public abstract long changeCount;
+ property public abstract boolean hasPendingWork;
+ property public abstract kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> state;
+ }
+
+ public final class RecomposerKt {
+ method public static suspend <R> Object? withRunningRecomposer(kotlin.jvm.functions.Function3<? super kotlinx.coroutines.CoroutineScope,? super androidx.compose.runtime.Recomposer,? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ public interface RememberObserver {
+ method public void onAbandoned();
+ method public void onForgotten();
+ method public void onRemembered();
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi public interface ScopeUpdateScope {
+ method public void updateScope(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.Composer,? super java.lang.Integer,kotlin.Unit> block);
+ }
+
+ public final inline class SkippableUpdater<T> {
+ ctor public SkippableUpdater();
+ method public static androidx.compose.runtime.Composer! constructor-impl(androidx.compose.runtime.Composer composer);
+ method public static inline boolean equals-impl(androidx.compose.runtime.Composer! p, Object? p1);
+ method public static boolean equals-impl0(androidx.compose.runtime.Composer p1, androidx.compose.runtime.Composer p2);
+ method public static inline int hashCode-impl(androidx.compose.runtime.Composer! p);
+ method public static inline String! toString-impl(androidx.compose.runtime.Composer! p);
+ method public static inline void update-impl(androidx.compose.runtime.Composer $this, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,kotlin.Unit> block);
+ }
+
+ public final class SlotTableKt {
+ }
+
+ public interface SnapshotMutationPolicy<T> {
+ method public boolean equivalent(T? a, T? b);
+ method public default T? merge(T? previous, T? current, T? applied);
+ }
+
+ public final class SnapshotStateKt {
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> collectAsState(kotlinx.coroutines.flow.StateFlow<? extends T>, optional kotlin.coroutines.CoroutineContext context);
+ method @androidx.compose.runtime.Composable public static <T extends R, R> androidx.compose.runtime.State<R> collectAsState(kotlinx.coroutines.flow.Flow<? extends T>, R? initial, optional kotlin.coroutines.CoroutineContext context);
+ method public static <T> androidx.compose.runtime.State<T> derivedStateOf(kotlin.jvm.functions.Function0<? extends T> calculation);
+ method public static inline operator <T> T! getValue(androidx.compose.runtime.State<? extends T>, Object? thisObj, kotlin.reflect.KProperty<?> property);
+ method public static <T> androidx.compose.runtime.snapshots.SnapshotStateList<T> mutableStateListOf();
+ method public static <T> androidx.compose.runtime.snapshots.SnapshotStateList<T> mutableStateListOf(T?... elements);
+ method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf();
+ method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf(kotlin.Pair<? extends K,? extends V>... pairs);
+ method public static <T> androidx.compose.runtime.MutableState<T> mutableStateOf(T? value, optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy);
+ method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> neverEqualPolicy();
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> referentialEqualityPolicy();
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> rememberUpdatedState(T? newValue);
+ method public static inline operator <T> void setValue(androidx.compose.runtime.MutableState<T>, Object? thisObj, kotlin.reflect.KProperty<?> property, T? value);
+ method public static <T> kotlinx.coroutines.flow.Flow<T> snapshotFlow(kotlin.jvm.functions.Function0<? extends T> block);
+ method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> structuralEqualityPolicy();
+ method public static <T> androidx.compose.runtime.snapshots.SnapshotStateList<T> toMutableStateList(java.util.Collection<? extends T>);
+ method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> toMutableStateMap(Iterable<? extends kotlin.Pair<? extends K,? extends V>>);
+ }
+
+ @androidx.compose.runtime.StableMarker @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface Stable {
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface StableMarker {
+ }
+
+ @androidx.compose.runtime.Stable public interface State<T> {
+ method public T! getValue();
+ property public abstract T! value;
+ }
+
+ public final class TraceKt {
+ }
+
+ public final inline class Updater<T> {
+ ctor public Updater();
+ method public static androidx.compose.runtime.Composer! constructor-impl(androidx.compose.runtime.Composer composer);
+ method public static inline boolean equals-impl(androidx.compose.runtime.Composer! p, Object? p1);
+ method public static boolean equals-impl0(androidx.compose.runtime.Composer p1, androidx.compose.runtime.Composer p2);
+ method public static inline int hashCode-impl(androidx.compose.runtime.Composer! p);
+ method public static void init-impl(androidx.compose.runtime.Composer $this, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public static void reconcile-impl(androidx.compose.runtime.Composer $this, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public static inline void set-impl(androidx.compose.runtime.Composer $this, int value, kotlin.jvm.functions.Function2<? super T,? super java.lang.Integer,kotlin.Unit> block);
+ method public static <V> void set-impl(androidx.compose.runtime.Composer? $this, V value, kotlin.jvm.functions.Function2<? super T,? super V,kotlin.Unit> block);
+ method public static inline String! toString-impl(androidx.compose.runtime.Composer! p);
+ method public static inline void update-impl(androidx.compose.runtime.Composer $this, int value, kotlin.jvm.functions.Function2<? super T,? super java.lang.Integer,kotlin.Unit> block);
+ method public static <V> void update-impl(androidx.compose.runtime.Composer? $this, V value, kotlin.jvm.functions.Function2<? super T,? super V,kotlin.Unit> block);
+ }
+
+}
+
+package androidx.compose.runtime.collection {
+
+ public final class MutableVector<T> implements java.util.RandomAccess {
+ method public boolean add(T? element);
+ method public void add(int index, T? element);
+ method public boolean addAll(int index, java.util.List<? extends T> elements);
+ method public boolean addAll(int index, androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public inline boolean addAll(java.util.List<? extends T> elements);
+ method public inline boolean addAll(androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public boolean addAll(T![] elements);
+ method public boolean addAll(int index, java.util.Collection<? extends T> elements);
+ method public boolean addAll(java.util.Collection<? extends T> elements);
+ method public inline boolean any(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public java.util.List<T> asMutableList();
+ method public void clear();
+ method public operator boolean contains(T? element);
+ method public boolean containsAll(java.util.List<? extends T> elements);
+ method public boolean containsAll(java.util.Collection<? extends T> elements);
+ method public boolean containsAll(androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public boolean contentEquals(androidx.compose.runtime.collection.MutableVector<T> other);
+ method public void ensureCapacity(int capacity);
+ method public T! first();
+ method public inline T! first(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline T? firstOrNull();
+ method public inline T? firstOrNull(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline <R> R! fold(R? initial, kotlin.jvm.functions.Function2<? super R,? super T,? extends R> operation);
+ method public inline <R> R! foldIndexed(R? initial, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super R,? super T,? extends R> operation);
+ method public inline <R> R! foldRight(R? initial, kotlin.jvm.functions.Function2<? super T,? super R,? extends R> operation);
+ method public inline <R> R! foldRightIndexed(R? initial, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super T,? super R,? extends R> operation);
+ method public inline void forEach(kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public inline void forEachIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> block);
+ method public inline void forEachReversed(kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public inline void forEachReversedIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> block);
+ method public inline operator T! get(int index);
+ method public inline kotlin.ranges.IntRange getIndices();
+ method public inline int getLastIndex();
+ method public int getSize();
+ method public int indexOf(T? element);
+ method public inline int indexOfFirst(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline int indexOfLast(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public boolean isEmpty();
+ method public boolean isNotEmpty();
+ method public T! last();
+ method public inline T! last(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public int lastIndexOf(T? element);
+ method public inline T? lastOrNull();
+ method public inline T? lastOrNull(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline <reified R> R![]! map(kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public inline <reified R> R![]! mapIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,? extends R> transform);
+ method public inline <reified R> androidx.compose.runtime.collection.MutableVector<R>! mapIndexedNotNull(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,? extends R> transform);
+ method public inline <reified R> androidx.compose.runtime.collection.MutableVector<R>! mapNotNull(kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public inline operator void minusAssign(T? element);
+ method public inline operator void plusAssign(T? element);
+ method public boolean remove(T? element);
+ method public boolean removeAll(java.util.List<? extends T> elements);
+ method public boolean removeAll(androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public boolean removeAll(java.util.Collection<? extends T> elements);
+ method public T! removeAt(int index);
+ method public void removeRange(int start, int end);
+ method public boolean retainAll(java.util.Collection<? extends T> elements);
+ method public inline boolean reversedAny(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public operator T! set(int index, T? element);
+ method public void sortWith(java.util.Comparator<T> comparator);
+ method public inline int sumBy(kotlin.jvm.functions.Function1<? super T,java.lang.Integer> selector);
+ property public final inline kotlin.ranges.IntRange indices;
+ property public final inline int lastIndex;
+ property public final int size;
+ }
+
+ public final class MutableVectorKt {
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! MutableVector(optional int capacity);
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! MutableVector(int size, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends T> init);
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! mutableVectorOf();
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! mutableVectorOf(T? elements);
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable {
+
+ public final class ExtensionsKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableList {
+
+ public final class UtilsKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableMap {
+
+ public final class PersistentHashMapContentIteratorsKt {
+ }
+
+ public final class TrieNodeKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet {
+
+ public final class TrieNodeKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.internal {
+
+ public final class CommonFunctionsKt {
+ }
+
+ public final class ForEachOneBitKt {
+ }
+
+}
+
+package androidx.compose.runtime.internal {
+
+ @androidx.compose.runtime.ComposeCompilerApi @androidx.compose.runtime.Stable public interface ComposableLambda extends kotlin.jvm.functions.Function2<androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function10<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function11<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function13<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function14<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function15<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function16<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function17<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function18<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function19<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function20<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function21<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function3<java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function4<java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function5<java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function6<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function7<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function8<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function9<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> {
+ }
+
+ public final class ComposableLambdaKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambda composableLambda(androidx.compose.runtime.Composer composer, int key, boolean tracked, Object block);
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambda composableLambdaInstance(int key, boolean tracked, Object block);
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @androidx.compose.runtime.Stable public interface ComposableLambdaN extends kotlin.jvm.functions.FunctionN<java.lang.Object> {
+ }
+
+ public final class ComposableLambdaN_jvmKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambdaN composableLambdaN(androidx.compose.runtime.Composer composer, int key, boolean tracked, int arity, Object block);
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambdaN composableLambdaNInstance(int key, boolean tracked, int arity, Object block);
+ }
+
+ public final class DecoyKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static Void illegalDecoyCallException(String fName);
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface LiveLiteralFileInfo {
+ method public abstract String file();
+ property public abstract String file;
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface LiveLiteralInfo {
+ method public abstract String key();
+ method public abstract int offset();
+ property public abstract String key;
+ property public abstract int offset;
+ }
+
+ public final class LiveLiteralKt {
+ method public static boolean isLiveLiteralsEnabled();
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface StabilityInferred {
+ method public abstract int parameters();
+ property public abstract int parameters;
+ }
+
+ public final class ThreadMapKt {
+ }
+
+}
+
+package androidx.compose.runtime.snapshots {
+
+ public final class ListUtilsKt {
+ }
+
+ public class MutableSnapshot extends androidx.compose.runtime.snapshots.Snapshot {
+ method public androidx.compose.runtime.snapshots.SnapshotApplyResult apply();
+ method public void close$metalava_module();
+ method public java.util.Set<androidx.compose.runtime.snapshots.StateObject>? getModified$metalava_module();
+ method public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? getReadObserver$metalava_module();
+ method public boolean getReadOnly();
+ method public androidx.compose.runtime.snapshots.Snapshot getRoot();
+ method public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? getWriteObserver$metalava_module();
+ method public boolean hasPendingChanges();
+ method public void nestedActivated$metalava_module(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public void nestedDeactivated$metalava_module(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public void notifyObjectsInitialized$metalava_module();
+ method public void recordModified$metalava_module(androidx.compose.runtime.snapshots.StateObject state);
+ method public void setModified(java.util.Set<androidx.compose.runtime.snapshots.StateObject>? p);
+ method public androidx.compose.runtime.snapshots.MutableSnapshot takeNestedMutableSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver, optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver);
+ method public androidx.compose.runtime.snapshots.Snapshot takeNestedSnapshot(kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver);
+ property public java.util.Set<androidx.compose.runtime.snapshots.StateObject>? modified;
+ property public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver;
+ property public boolean readOnly;
+ property public androidx.compose.runtime.snapshots.Snapshot root;
+ property public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver;
+ }
+
+ public fun interface ObserverHandle {
+ method public void dispose();
+ }
+
+ public abstract sealed class Snapshot {
+ method public void dispose();
+ method public final inline <T> T! enter(kotlin.jvm.functions.Function0<? extends T> block);
+ method public int getId();
+ method public abstract boolean getReadOnly();
+ method public abstract androidx.compose.runtime.snapshots.Snapshot getRoot();
+ method public abstract boolean hasPendingChanges();
+ method public abstract androidx.compose.runtime.snapshots.Snapshot takeNestedSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver);
+ property public int id;
+ property public abstract boolean readOnly;
+ property public abstract androidx.compose.runtime.snapshots.Snapshot root;
+ field public static final androidx.compose.runtime.snapshots.Snapshot.Companion Companion;
+ }
+
+ public static final class Snapshot.Companion {
+ method public androidx.compose.runtime.snapshots.Snapshot! getCurrent();
+ method public inline <T> T! global(kotlin.jvm.functions.Function0<? extends T> block);
+ method public void notifyObjectsInitialized();
+ method public <T> T! observe(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver, optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver, kotlin.jvm.functions.Function0<? extends T> block);
+ method public androidx.compose.runtime.snapshots.ObserverHandle registerApplyObserver(kotlin.jvm.functions.Function2<? super java.util.Set<?>,? super androidx.compose.runtime.snapshots.Snapshot,kotlin.Unit> observer);
+ method public androidx.compose.runtime.snapshots.ObserverHandle registerGlobalWriteObserver(kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> observer);
+ method public void sendApplyNotifications();
+ method public androidx.compose.runtime.snapshots.MutableSnapshot takeMutableSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver, optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver);
+ method public androidx.compose.runtime.snapshots.Snapshot takeSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver);
+ method public inline <R> R! withMutableSnapshot(kotlin.jvm.functions.Function0<? extends R> block);
+ property public final androidx.compose.runtime.snapshots.Snapshot! current;
+ }
+
+ public final class SnapshotApplyConflictException extends java.lang.Exception {
+ ctor public SnapshotApplyConflictException(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public androidx.compose.runtime.snapshots.Snapshot getSnapshot();
+ property public final androidx.compose.runtime.snapshots.Snapshot snapshot;
+ }
+
+ public abstract sealed class SnapshotApplyResult {
+ method public abstract void check();
+ method public abstract boolean getSucceeded();
+ property public abstract boolean succeeded;
+ }
+
+ public static final class SnapshotApplyResult.Failure extends androidx.compose.runtime.snapshots.SnapshotApplyResult {
+ ctor public SnapshotApplyResult.Failure(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public void check();
+ method public androidx.compose.runtime.snapshots.Snapshot getSnapshot();
+ method public boolean getSucceeded();
+ property public final androidx.compose.runtime.snapshots.Snapshot snapshot;
+ property public boolean succeeded;
+ }
+
+ public static final class SnapshotApplyResult.Success extends androidx.compose.runtime.snapshots.SnapshotApplyResult {
+ method public void check();
+ method public boolean getSucceeded();
+ property public boolean succeeded;
+ field public static final androidx.compose.runtime.snapshots.SnapshotApplyResult.Success INSTANCE;
+ }
+
+ public final class SnapshotIdSetKt {
+ }
+
+ public final class SnapshotKt {
+ method public static <T extends androidx.compose.runtime.snapshots.StateRecord> T readable(T, androidx.compose.runtime.snapshots.StateObject state);
+ method public static <T extends androidx.compose.runtime.snapshots.StateRecord> T readable(T, androidx.compose.runtime.snapshots.StateObject state, androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public static inline <T extends androidx.compose.runtime.snapshots.StateRecord, R> R! withCurrent(T, kotlin.jvm.functions.Function1<? super T,? extends R> block);
+ method public static inline <T extends androidx.compose.runtime.snapshots.StateRecord, R> R! writable(T, androidx.compose.runtime.snapshots.StateObject state, androidx.compose.runtime.snapshots.Snapshot snapshot, kotlin.jvm.functions.Function1<? super T,? extends R> block);
+ method public static inline <T extends androidx.compose.runtime.snapshots.StateRecord, R> R! writable(T, androidx.compose.runtime.snapshots.StateObject state, kotlin.jvm.functions.Function1<? super T,? extends R> block);
+ }
+
+ public interface SnapshotMutableState<T> extends androidx.compose.runtime.MutableState<T> {
+ method public androidx.compose.runtime.SnapshotMutationPolicy<T> getPolicy();
+ property public abstract androidx.compose.runtime.SnapshotMutationPolicy<T> policy;
+ }
+
+ @androidx.compose.runtime.Stable public final class SnapshotStateList<T> implements kotlin.jvm.internal.markers.KMutableList java.util.List<T> androidx.compose.runtime.snapshots.StateObject {
+ ctor public SnapshotStateList();
+ method public boolean add(T? element);
+ method public void add(int index, T? element);
+ method public boolean addAll(int index, java.util.Collection<? extends T> elements);
+ method public boolean addAll(java.util.Collection<? extends T> elements);
+ method public void clear();
+ method public boolean contains(Object? element);
+ method public boolean containsAll(java.util.Collection<?> elements);
+ method public T! get(int index);
+ method public androidx.compose.runtime.snapshots.StateRecord getFirstStateRecord();
+ method public int getSize();
+ method public int indexOf(Object? element);
+ method public boolean isEmpty();
+ method public java.util.Iterator<T> iterator();
+ method public int lastIndexOf(Object? element);
+ method public java.util.ListIterator<T> listIterator();
+ method public java.util.ListIterator<T> listIterator(int index);
+ method public void prependStateRecord(androidx.compose.runtime.snapshots.StateRecord value);
+ method public boolean remove(Object? element);
+ method public boolean removeAll(java.util.Collection<?> elements);
+ method public T! removeAt(int index);
+ method public void removeRange(int fromIndex, int toIndex);
+ method public boolean retainAll(java.util.Collection<?> elements);
+ method public T! set(int index, T? element);
+ method public java.util.List<T> subList(int fromIndex, int toIndex);
+ property public androidx.compose.runtime.snapshots.StateRecord firstStateRecord;
+ property public int size;
+ }
+
+ public final class SnapshotStateListKt {
+ }
+
+ @androidx.compose.runtime.Stable public final class SnapshotStateMap<K, V> implements kotlin.jvm.internal.markers.KMutableMap java.util.Map<K,V> androidx.compose.runtime.snapshots.StateObject {
+ ctor public SnapshotStateMap();
+ method public void clear();
+ method public boolean containsKey(Object? key);
+ method public boolean containsValue(Object? value);
+ method public V? get(Object? key);
+ method public java.util.Set<java.util.Map.Entry<K,V>> getEntries();
+ method public androidx.compose.runtime.snapshots.StateRecord getFirstStateRecord();
+ method public java.util.Set<K> getKeys();
+ method public int getSize();
+ method public java.util.Collection<V> getValues();
+ method public boolean isEmpty();
+ method public void prependStateRecord(androidx.compose.runtime.snapshots.StateRecord value);
+ method public V? put(K? key, V? value);
+ method public void putAll(java.util.Map<? extends K,? extends V> from);
+ method public V? remove(Object? key);
+ property public java.util.Set<java.util.Map.Entry<K,V>> entries;
+ property public androidx.compose.runtime.snapshots.StateRecord firstStateRecord;
+ property public java.util.Set<K> keys;
+ property public int size;
+ property public java.util.Collection<V> values;
+ }
+
+ public final class SnapshotStateMapKt {
+ }
+
+ public final class SnapshotStateObserver {
+ ctor public SnapshotStateObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> onChangedExecutor);
+ method public void clear(Object scope);
+ method public void clear();
+ method public void clearIf(kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Boolean> predicate);
+ method @org.jetbrains.annotations.TestOnly public void notifyChanges(java.util.Set<?> changes, androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public <T> void observeReads(T scope, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onValueChangedForScope, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ method public void start();
+ method public void stop();
+ method public void withNoObservations(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ }
+
+ public interface StateObject {
+ method public androidx.compose.runtime.snapshots.StateRecord getFirstStateRecord();
+ method public default androidx.compose.runtime.snapshots.StateRecord? mergeRecords(androidx.compose.runtime.snapshots.StateRecord previous, androidx.compose.runtime.snapshots.StateRecord current, androidx.compose.runtime.snapshots.StateRecord applied);
+ method public void prependStateRecord(androidx.compose.runtime.snapshots.StateRecord value);
+ property public abstract androidx.compose.runtime.snapshots.StateRecord firstStateRecord;
+ }
+
+ public abstract class StateRecord {
+ ctor public StateRecord();
+ method public abstract void assign(androidx.compose.runtime.snapshots.StateRecord value);
+ method public abstract androidx.compose.runtime.snapshots.StateRecord create();
+ }
+
+}
+
+package androidx.compose.runtime.tooling {
+
+ public interface CompositionData {
+ method public Iterable<androidx.compose.runtime.tooling.CompositionGroup> getCompositionGroups();
+ method public boolean isEmpty();
+ property public abstract Iterable<androidx.compose.runtime.tooling.CompositionGroup> compositionGroups;
+ property public abstract boolean isEmpty;
+ }
+
+ public interface CompositionGroup extends androidx.compose.runtime.tooling.CompositionData {
+ method public Iterable<java.lang.Object> getData();
+ method public Object getKey();
+ method public Object? getNode();
+ method public String? getSourceInfo();
+ property public abstract Iterable<java.lang.Object> data;
+ property public abstract Object key;
+ property public abstract Object? node;
+ property public abstract String? sourceInfo;
+ }
+
+ public final class InspectionTablesKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<java.util.Set<androidx.compose.runtime.tooling.CompositionData>> getLocalInspectionTables();
+ }
+
+}
+
diff --git a/compose/runtime/runtime/api/public_plus_experimental_1.0.0-beta10.txt b/compose/runtime/runtime/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..2c12ec0
--- /dev/null
+++ b/compose/runtime/runtime/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,843 @@
+// Signature format: 4.0
+package androidx.compose.runtime {
+
+ public abstract class AbstractApplier<T> implements androidx.compose.runtime.Applier<T> {
+ ctor public AbstractApplier(T? root);
+ method public final void clear();
+ method public void down(T? node);
+ method public T! getCurrent();
+ method public final T! getRoot();
+ method protected final void move(java.util.List<T>, int from, int to, int count);
+ method protected abstract void onClear();
+ method protected final void remove(java.util.List<T>, int index, int count);
+ method protected void setCurrent(T! p);
+ method public void up();
+ property public T! current;
+ property public final T! root;
+ }
+
+ public final class ActualAndroid_androidKt {
+ method @Deprecated public static androidx.compose.runtime.MonotonicFrameClock getDefaultMonotonicFrameClock();
+ }
+
+ public final class ActualJvm_jvmKt {
+ }
+
+ public interface Applier<N> {
+ method public void clear();
+ method public void down(N? node);
+ method public N! getCurrent();
+ method public void insertBottomUp(int index, N? instance);
+ method public void insertTopDown(int index, N? instance);
+ method public void move(int from, int to, int count);
+ method public default void onBeginChanges();
+ method public default void onEndChanges();
+ method public void remove(int index, int count);
+ method public void up();
+ property public abstract N! current;
+ }
+
+ public final class BitwiseOperatorsKt {
+ }
+
+ public final class BroadcastFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public BroadcastFrameClock(optional kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
+ method public void cancel(optional java.util.concurrent.CancellationException cancellationException);
+ method public boolean getHasAwaiters();
+ method public void sendFrame(long timeNanos);
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final boolean hasAwaiters;
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface Composable {
+ }
+
+ public final class ComposablesKt {
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update);
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ExplicitGroupsComposable public static inline <T, reified E extends androidx.compose.runtime.Applier<?>> void ComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.SkippableUpdater<T>,? extends kotlin.Unit> skippableUpdate, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ReusableComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update);
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ReusableComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ExplicitGroupsComposable public static inline <T, reified E extends androidx.compose.runtime.Applier<?>> void ReusableComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.SkippableUpdater<T>,? extends kotlin.Unit> skippableUpdate, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static inline void ReusableContent(Object? key, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static androidx.compose.runtime.Composer getCurrentComposer();
+ method @androidx.compose.runtime.Composable public static int getCurrentCompositeKeyHash();
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static androidx.compose.runtime.RecomposeScope getCurrentRecomposeScope();
+ method @androidx.compose.runtime.Composable public static inline <T> T! key(Object![]? keys, kotlin.jvm.functions.Function0<? extends T> block);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object? key1, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object? key1, Object? key2, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object![]? keys, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.CompositionContext rememberCompositionContext();
+ }
+
+ @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ComposeCompilerApi {
+ }
+
+ public interface Composer {
+ method @androidx.compose.runtime.ComposeCompilerApi public <V, T> void apply(V? value, kotlin.jvm.functions.Function2<? super T,? super V,kotlin.Unit> block);
+ method @androidx.compose.runtime.InternalComposeApi public androidx.compose.runtime.CompositionContext buildContext();
+ method @androidx.compose.runtime.ComposeCompilerApi public boolean changed(Object? value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(boolean value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(char value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(byte value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(short value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(int value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(float value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(long value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(double value);
+ method @androidx.compose.runtime.InternalComposeApi public void collectParameterInformation();
+ method @androidx.compose.runtime.InternalComposeApi public <T> T! consume(androidx.compose.runtime.CompositionLocal<T> key);
+ method @androidx.compose.runtime.ComposeCompilerApi public <T> void createNode(kotlin.jvm.functions.Function0<? extends T> factory);
+ method @androidx.compose.runtime.ComposeCompilerApi public void disableReusing();
+ method @androidx.compose.runtime.ComposeCompilerApi public void enableReusing();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endDefaults();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endMovableGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endNode();
+ method @androidx.compose.runtime.InternalComposeApi public void endProviders();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endReplaceableGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public androidx.compose.runtime.ScopeUpdateScope? endRestartGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endReusableGroup();
+ method public androidx.compose.runtime.Applier<?> getApplier();
+ method @org.jetbrains.annotations.TestOnly public kotlin.coroutines.CoroutineContext getApplyCoroutineContext();
+ method @org.jetbrains.annotations.TestOnly public androidx.compose.runtime.ControlledComposition getComposition();
+ method public androidx.compose.runtime.tooling.CompositionData getCompositionData();
+ method public int getCompoundKeyHash();
+ method public boolean getDefaultsInvalid();
+ method public boolean getInserting();
+ method public androidx.compose.runtime.RecomposeScope? getRecomposeScope();
+ method public boolean getSkipping();
+ method @androidx.compose.runtime.ComposeCompilerApi public Object joinKey(Object? left, Object? right);
+ method @androidx.compose.runtime.InternalComposeApi public void recordSideEffect(kotlin.jvm.functions.Function0<kotlin.Unit> effect);
+ method @androidx.compose.runtime.InternalComposeApi public void recordUsed(androidx.compose.runtime.RecomposeScope scope);
+ method @androidx.compose.runtime.ComposeCompilerApi public Object? rememberedValue();
+ method @androidx.compose.runtime.ComposeCompilerApi public void skipCurrentGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public void skipToGroupEnd();
+ method public void sourceInformation(String sourceInformation);
+ method public void sourceInformationMarkerEnd();
+ method public void sourceInformationMarkerStart(int key, String sourceInformation);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startDefaults();
+ method @androidx.compose.runtime.ComposeCompilerApi public void startMovableGroup(int key, Object? dataKey);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startNode();
+ method @androidx.compose.runtime.InternalComposeApi public void startProviders(androidx.compose.runtime.ProvidedValue<?>![] values);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startReplaceableGroup(int key);
+ method @androidx.compose.runtime.ComposeCompilerApi public androidx.compose.runtime.Composer startRestartGroup(int key);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startReusableGroup(int key, Object? dataKey);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startReusableNode();
+ method @androidx.compose.runtime.ComposeCompilerApi public void updateRememberedValue(Object? value);
+ method @androidx.compose.runtime.ComposeCompilerApi public void useNode();
+ property public abstract androidx.compose.runtime.Applier<?> applier;
+ property @org.jetbrains.annotations.TestOnly public abstract kotlin.coroutines.CoroutineContext applyCoroutineContext;
+ property @org.jetbrains.annotations.TestOnly public abstract androidx.compose.runtime.ControlledComposition composition;
+ property public abstract androidx.compose.runtime.tooling.CompositionData compositionData;
+ property public abstract int compoundKeyHash;
+ property public abstract boolean defaultsInvalid;
+ property public abstract boolean inserting;
+ property public abstract androidx.compose.runtime.RecomposeScope? recomposeScope;
+ property public abstract boolean skipping;
+ field public static final androidx.compose.runtime.Composer.Companion Companion;
+ }
+
+ public static final class Composer.Companion {
+ method public Object getEmpty();
+ property public final Object Empty;
+ }
+
+ public final class ComposerKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static inline <T> T! cache(androidx.compose.runtime.Composer, boolean invalid, kotlin.jvm.functions.Function0<? extends T> block);
+ method @androidx.compose.runtime.ComposeCompilerApi public static void sourceInformation(androidx.compose.runtime.Composer composer, String sourceInformation);
+ method @androidx.compose.runtime.ComposeCompilerApi public static void sourceInformationMarkerEnd(androidx.compose.runtime.Composer composer);
+ method @androidx.compose.runtime.ComposeCompilerApi public static void sourceInformationMarkerStart(androidx.compose.runtime.Composer composer, int key, String sourceInformation);
+ }
+
+ public interface Composition {
+ method public void dispose();
+ method public boolean getHasInvalidations();
+ method public boolean isDisposed();
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ property public abstract boolean hasInvalidations;
+ property public abstract boolean isDisposed;
+ }
+
+ public abstract class CompositionContext {
+ }
+
+ public final class CompositionContextKt {
+ }
+
+ public final class CompositionKt {
+ method public static androidx.compose.runtime.Composition Composition(androidx.compose.runtime.Applier<?> applier, androidx.compose.runtime.CompositionContext parent);
+ method @androidx.compose.runtime.ExperimentalComposeApi public static androidx.compose.runtime.Composition Composition(androidx.compose.runtime.Applier<?> applier, androidx.compose.runtime.CompositionContext parent, kotlin.coroutines.CoroutineContext recomposeCoroutineContext);
+ method @org.jetbrains.annotations.TestOnly public static androidx.compose.runtime.ControlledComposition ControlledComposition(androidx.compose.runtime.Applier<?> applier, androidx.compose.runtime.CompositionContext parent);
+ method @androidx.compose.runtime.ExperimentalComposeApi @org.jetbrains.annotations.TestOnly public static androidx.compose.runtime.ControlledComposition ControlledComposition(androidx.compose.runtime.Applier<?> applier, androidx.compose.runtime.CompositionContext parent, kotlin.coroutines.CoroutineContext recomposeCoroutineContext);
+ method @androidx.compose.runtime.ExperimentalComposeApi public static kotlin.coroutines.CoroutineContext getRecomposeCoroutineContext(androidx.compose.runtime.ControlledComposition);
+ }
+
+ @androidx.compose.runtime.Stable public abstract sealed class CompositionLocal<T> {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final inline T! getCurrent();
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final inline T! current;
+ }
+
+ public final class CompositionLocalKt {
+ method @androidx.compose.runtime.Composable public static void CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<?>![] values, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method public static <T> androidx.compose.runtime.ProvidableCompositionLocal<T> compositionLocalOf(optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy, kotlin.jvm.functions.Function0<? extends T> defaultFactory);
+ method public static <T> androidx.compose.runtime.ProvidableCompositionLocal<T> staticCompositionLocalOf(kotlin.jvm.functions.Function0<? extends T> defaultFactory);
+ }
+
+ public interface ControlledComposition extends androidx.compose.runtime.Composition {
+ method public void applyChanges();
+ method public void composeContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method public boolean getHasPendingChanges();
+ method public void invalidateAll();
+ method public boolean isComposing();
+ method public boolean observesAnyOf(java.util.Set<?> values);
+ method public void prepareCompose(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ method public boolean recompose();
+ method public void recordModificationsOf(java.util.Set<?> values);
+ method public void recordReadOf(Object value);
+ method public void recordWriteOf(Object value);
+ method @androidx.compose.runtime.InternalComposeApi public void verifyConsistent();
+ property public abstract boolean hasPendingChanges;
+ property public abstract boolean isComposing;
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface DisallowComposableCalls {
+ }
+
+ public interface DisposableEffectResult {
+ method public void dispose();
+ }
+
+ public final class DisposableEffectScope {
+ ctor public DisposableEffectScope();
+ method public inline androidx.compose.runtime.DisposableEffectResult onDispose(kotlin.jvm.functions.Function0<kotlin.Unit> onDisposeEffect);
+ }
+
+ public final class EffectsKt {
+ method @Deprecated @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object? key1, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object? key1, Object? key2, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object![]? keys, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @Deprecated @androidx.compose.runtime.Composable public static void LaunchedEffect(kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object? key1, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object![]? keys, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void SideEffect(kotlin.jvm.functions.Function0<kotlin.Unit> effect);
+ method @androidx.compose.runtime.Composable public static inline kotlinx.coroutines.CoroutineScope rememberCoroutineScope(optional kotlin.jvm.functions.Function0<? extends kotlin.coroutines.CoroutineContext> getContext);
+ }
+
+ public final class ExpectKt {
+ }
+
+ @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level, message="This is an experimental API for Compose and is likely to change before becoming " + "stable.") @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ExperimentalComposeApi {
+ }
+
+ @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ExplicitGroupsComposable {
+ }
+
+ @androidx.compose.runtime.StableMarker @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Immutable {
+ }
+
+ @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level, message="This is internal API for Compose modules that may change frequently " + "and without warning.") @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface InternalComposeApi {
+ }
+
+ public interface MonotonicFrameClock extends kotlin.coroutines.CoroutineContext.Element {
+ method public default kotlin.coroutines.CoroutineContext.Key<?> getKey();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public default kotlin.coroutines.CoroutineContext.Key<?> key;
+ field public static final androidx.compose.runtime.MonotonicFrameClock.Key Key;
+ }
+
+ public static final class MonotonicFrameClock.Key implements kotlin.coroutines.CoroutineContext.Key<androidx.compose.runtime.MonotonicFrameClock> {
+ }
+
+ public final class MonotonicFrameClockKt {
+ method public static androidx.compose.runtime.MonotonicFrameClock getMonotonicFrameClock(kotlin.coroutines.CoroutineContext);
+ method public static suspend inline <R> Object? withFrameMillis(androidx.compose.runtime.MonotonicFrameClock, kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ method public static suspend <R> Object? withFrameMillis(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ method public static suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ @androidx.compose.runtime.Stable public interface MutableState<T> extends androidx.compose.runtime.State<T> {
+ method public operator T! component1();
+ method public operator kotlin.jvm.functions.Function1<T,kotlin.Unit> component2();
+ method public void setValue(T! p);
+ property public abstract T! value;
+ }
+
+ @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface NoLiveLiterals {
+ }
+
+ @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface NonRestartableComposable {
+ }
+
+ public final class PausableMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public PausableMonotonicFrameClock(androidx.compose.runtime.MonotonicFrameClock frameClock);
+ method public boolean isPaused();
+ method public void pause();
+ method public void resume();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final boolean isPaused;
+ }
+
+ public interface ProduceStateScope<T> extends androidx.compose.runtime.MutableState<T> kotlinx.coroutines.CoroutineScope {
+ method public suspend Object? awaitDispose(kotlin.jvm.functions.Function0<kotlin.Unit> onDispose, kotlin.coroutines.Continuation<?> p);
+ }
+
+ @androidx.compose.runtime.Stable public abstract class ProvidableCompositionLocal<T> extends androidx.compose.runtime.CompositionLocal<T> {
+ method public final infix androidx.compose.runtime.ProvidedValue<T> provides(T? value);
+ method public final infix androidx.compose.runtime.ProvidedValue<T> providesDefault(T? value);
+ }
+
+ public final class ProvidedValue<T> {
+ method public boolean getCanOverride();
+ method public androidx.compose.runtime.CompositionLocal<T> getCompositionLocal();
+ method public T! getValue();
+ property public final boolean canOverride;
+ property public final androidx.compose.runtime.CompositionLocal<T> compositionLocal;
+ property public final T! value;
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ReadOnlyComposable {
+ }
+
+ public interface RecomposeScope {
+ method public void invalidate();
+ }
+
+ public final class RecomposeScopeImplKt {
+ }
+
+ public final class Recomposer extends androidx.compose.runtime.CompositionContext {
+ ctor public Recomposer(kotlin.coroutines.CoroutineContext effectCoroutineContext);
+ method public androidx.compose.runtime.RecomposerInfo asRecomposerInfo();
+ method public suspend Object? awaitIdle(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public void cancel();
+ method public void close();
+ method public long getChangeCount();
+ method public boolean getHasPendingWork();
+ method public kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> getState();
+ method public suspend Object? join(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? runRecomposeAndApplyChanges(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method @androidx.compose.runtime.ExperimentalComposeApi public suspend Object? runRecomposeConcurrentlyAndApplyChanges(kotlin.coroutines.CoroutineContext recomposeCoroutineContext, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final long changeCount;
+ property public final boolean hasPendingWork;
+ property public final kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> state;
+ field public static final androidx.compose.runtime.Recomposer.Companion Companion;
+ }
+
+ public static final class Recomposer.Companion {
+ method public kotlinx.coroutines.flow.StateFlow<java.util.Set<androidx.compose.runtime.RecomposerInfo>> getRunningRecomposers();
+ property public final kotlinx.coroutines.flow.StateFlow<java.util.Set<androidx.compose.runtime.RecomposerInfo>> runningRecomposers;
+ }
+
+ public enum Recomposer.State {
+ enum_constant public static final androidx.compose.runtime.Recomposer.State Idle;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State Inactive;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State InactivePendingWork;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State PendingWork;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State ShutDown;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State ShuttingDown;
+ }
+
+ public interface RecomposerInfo {
+ method public long getChangeCount();
+ method public boolean getHasPendingWork();
+ method public kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> getState();
+ property public abstract long changeCount;
+ property public abstract boolean hasPendingWork;
+ property public abstract kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> state;
+ }
+
+ public final class RecomposerKt {
+ method public static suspend <R> Object? withRunningRecomposer(kotlin.jvm.functions.Function3<? super kotlinx.coroutines.CoroutineScope,? super androidx.compose.runtime.Recomposer,? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ public interface RememberObserver {
+ method public void onAbandoned();
+ method public void onForgotten();
+ method public void onRemembered();
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi public interface ScopeUpdateScope {
+ method public void updateScope(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.Composer,? super java.lang.Integer,kotlin.Unit> block);
+ }
+
+ public final inline class SkippableUpdater<T> {
+ ctor public SkippableUpdater();
+ method public static androidx.compose.runtime.Composer! constructor-impl(androidx.compose.runtime.Composer composer);
+ method public static inline boolean equals-impl(androidx.compose.runtime.Composer! p, Object? p1);
+ method public static boolean equals-impl0(androidx.compose.runtime.Composer p1, androidx.compose.runtime.Composer p2);
+ method public static inline int hashCode-impl(androidx.compose.runtime.Composer! p);
+ method public static inline String! toString-impl(androidx.compose.runtime.Composer! p);
+ method public static inline void update-impl(androidx.compose.runtime.Composer $this, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,kotlin.Unit> block);
+ }
+
+ public final class SlotTableKt {
+ }
+
+ public interface SnapshotMutationPolicy<T> {
+ method public boolean equivalent(T? a, T? b);
+ method public default T? merge(T? previous, T? current, T? applied);
+ }
+
+ public final class SnapshotStateKt {
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> collectAsState(kotlinx.coroutines.flow.StateFlow<? extends T>, optional kotlin.coroutines.CoroutineContext context);
+ method @androidx.compose.runtime.Composable public static <T extends R, R> androidx.compose.runtime.State<R> collectAsState(kotlinx.coroutines.flow.Flow<? extends T>, R? initial, optional kotlin.coroutines.CoroutineContext context);
+ method public static <T> androidx.compose.runtime.State<T> derivedStateOf(kotlin.jvm.functions.Function0<? extends T> calculation);
+ method public static inline operator <T> T! getValue(androidx.compose.runtime.State<? extends T>, Object? thisObj, kotlin.reflect.KProperty<?> property);
+ method public static <T> androidx.compose.runtime.snapshots.SnapshotStateList<T> mutableStateListOf();
+ method public static <T> androidx.compose.runtime.snapshots.SnapshotStateList<T> mutableStateListOf(T?... elements);
+ method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf();
+ method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf(kotlin.Pair<? extends K,? extends V>... pairs);
+ method public static <T> androidx.compose.runtime.MutableState<T> mutableStateOf(T? value, optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy);
+ method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> neverEqualPolicy();
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, @kotlin.BuilderInference kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> referentialEqualityPolicy();
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> rememberUpdatedState(T? newValue);
+ method public static inline operator <T> void setValue(androidx.compose.runtime.MutableState<T>, Object? thisObj, kotlin.reflect.KProperty<?> property, T? value);
+ method public static <T> kotlinx.coroutines.flow.Flow<T> snapshotFlow(kotlin.jvm.functions.Function0<? extends T> block);
+ method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> structuralEqualityPolicy();
+ method public static <T> androidx.compose.runtime.snapshots.SnapshotStateList<T> toMutableStateList(java.util.Collection<? extends T>);
+ method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> toMutableStateMap(Iterable<? extends kotlin.Pair<? extends K,? extends V>>);
+ }
+
+ @androidx.compose.runtime.StableMarker @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface Stable {
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface StableMarker {
+ }
+
+ @androidx.compose.runtime.Stable public interface State<T> {
+ method public T! getValue();
+ property public abstract T! value;
+ }
+
+ public final class TraceKt {
+ }
+
+ public final inline class Updater<T> {
+ ctor public Updater();
+ method public static androidx.compose.runtime.Composer! constructor-impl(androidx.compose.runtime.Composer composer);
+ method public static inline boolean equals-impl(androidx.compose.runtime.Composer! p, Object? p1);
+ method public static boolean equals-impl0(androidx.compose.runtime.Composer p1, androidx.compose.runtime.Composer p2);
+ method public static inline int hashCode-impl(androidx.compose.runtime.Composer! p);
+ method public static void init-impl(androidx.compose.runtime.Composer $this, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public static void reconcile-impl(androidx.compose.runtime.Composer $this, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public static inline void set-impl(androidx.compose.runtime.Composer $this, int value, kotlin.jvm.functions.Function2<? super T,? super java.lang.Integer,kotlin.Unit> block);
+ method public static <V> void set-impl(androidx.compose.runtime.Composer? $this, V value, kotlin.jvm.functions.Function2<? super T,? super V,kotlin.Unit> block);
+ method public static inline String! toString-impl(androidx.compose.runtime.Composer! p);
+ method public static inline void update-impl(androidx.compose.runtime.Composer $this, int value, kotlin.jvm.functions.Function2<? super T,? super java.lang.Integer,kotlin.Unit> block);
+ method public static <V> void update-impl(androidx.compose.runtime.Composer? $this, V value, kotlin.jvm.functions.Function2<? super T,? super V,kotlin.Unit> block);
+ }
+
+}
+
+package androidx.compose.runtime.collection {
+
+ public final class MutableVector<T> implements java.util.RandomAccess {
+ method public boolean add(T? element);
+ method public void add(int index, T? element);
+ method public boolean addAll(int index, java.util.List<? extends T> elements);
+ method public boolean addAll(int index, androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public inline boolean addAll(java.util.List<? extends T> elements);
+ method public inline boolean addAll(androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public boolean addAll(T![] elements);
+ method public boolean addAll(int index, java.util.Collection<? extends T> elements);
+ method public boolean addAll(java.util.Collection<? extends T> elements);
+ method public inline boolean any(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public java.util.List<T> asMutableList();
+ method public void clear();
+ method public operator boolean contains(T? element);
+ method public boolean containsAll(java.util.List<? extends T> elements);
+ method public boolean containsAll(java.util.Collection<? extends T> elements);
+ method public boolean containsAll(androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public boolean contentEquals(androidx.compose.runtime.collection.MutableVector<T> other);
+ method public void ensureCapacity(int capacity);
+ method public T! first();
+ method public inline T! first(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline T? firstOrNull();
+ method public inline T? firstOrNull(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline <R> R! fold(R? initial, kotlin.jvm.functions.Function2<? super R,? super T,? extends R> operation);
+ method public inline <R> R! foldIndexed(R? initial, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super R,? super T,? extends R> operation);
+ method public inline <R> R! foldRight(R? initial, kotlin.jvm.functions.Function2<? super T,? super R,? extends R> operation);
+ method public inline <R> R! foldRightIndexed(R? initial, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super T,? super R,? extends R> operation);
+ method public inline void forEach(kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public inline void forEachIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> block);
+ method public inline void forEachReversed(kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public inline void forEachReversedIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> block);
+ method public inline operator T! get(int index);
+ method public inline kotlin.ranges.IntRange getIndices();
+ method public inline int getLastIndex();
+ method public int getSize();
+ method public int indexOf(T? element);
+ method public inline int indexOfFirst(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline int indexOfLast(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public boolean isEmpty();
+ method public boolean isNotEmpty();
+ method public T! last();
+ method public inline T! last(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public int lastIndexOf(T? element);
+ method public inline T? lastOrNull();
+ method public inline T? lastOrNull(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline <reified R> R![]! map(kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public inline <reified R> R![]! mapIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,? extends R> transform);
+ method public inline <reified R> androidx.compose.runtime.collection.MutableVector<R>! mapIndexedNotNull(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,? extends R> transform);
+ method public inline <reified R> androidx.compose.runtime.collection.MutableVector<R>! mapNotNull(kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public inline operator void minusAssign(T? element);
+ method public inline operator void plusAssign(T? element);
+ method public boolean remove(T? element);
+ method public boolean removeAll(java.util.List<? extends T> elements);
+ method public boolean removeAll(androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public boolean removeAll(java.util.Collection<? extends T> elements);
+ method public T! removeAt(int index);
+ method public void removeRange(int start, int end);
+ method public boolean retainAll(java.util.Collection<? extends T> elements);
+ method public inline boolean reversedAny(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public operator T! set(int index, T? element);
+ method public void sortWith(java.util.Comparator<T> comparator);
+ method public inline int sumBy(kotlin.jvm.functions.Function1<? super T,java.lang.Integer> selector);
+ property public final inline kotlin.ranges.IntRange indices;
+ property public final inline int lastIndex;
+ property public final int size;
+ }
+
+ public final class MutableVectorKt {
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! MutableVector(optional int capacity);
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! MutableVector(int size, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends T> init);
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! mutableVectorOf();
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! mutableVectorOf(T? elements);
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable {
+
+ public final class ExtensionsKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableList {
+
+ public final class UtilsKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableMap {
+
+ public final class PersistentHashMapContentIteratorsKt {
+ }
+
+ public final class TrieNodeKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet {
+
+ public final class TrieNodeKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.internal {
+
+ public final class CommonFunctionsKt {
+ }
+
+ public final class ForEachOneBitKt {
+ }
+
+}
+
+package androidx.compose.runtime.internal {
+
+ @androidx.compose.runtime.ComposeCompilerApi @androidx.compose.runtime.Stable public interface ComposableLambda extends kotlin.jvm.functions.Function2<androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function10<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function11<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function13<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function14<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function15<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function16<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function17<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function18<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function19<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function20<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function21<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function3<java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function4<java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function5<java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function6<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function7<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function8<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function9<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> {
+ }
+
+ public final class ComposableLambdaKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambda composableLambda(androidx.compose.runtime.Composer composer, int key, boolean tracked, Object block);
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambda composableLambdaInstance(int key, boolean tracked, Object block);
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @androidx.compose.runtime.Stable public interface ComposableLambdaN extends kotlin.jvm.functions.FunctionN<java.lang.Object> {
+ }
+
+ public final class ComposableLambdaN_jvmKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambdaN composableLambdaN(androidx.compose.runtime.Composer composer, int key, boolean tracked, int arity, Object block);
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambdaN composableLambdaNInstance(int key, boolean tracked, int arity, Object block);
+ }
+
+ @androidx.compose.runtime.ExperimentalComposeApi @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface Decoy {
+ method public abstract String[] signature();
+ method public abstract String targetName();
+ property public abstract String![] signature;
+ property public abstract String targetName;
+ }
+
+ @androidx.compose.runtime.ExperimentalComposeApi @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface DecoyImplementation {
+ method public abstract long id();
+ method public abstract String name();
+ property public abstract long id;
+ property public abstract String name;
+ }
+
+ public final class DecoyKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static Void illegalDecoyCallException(String fName);
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface LiveLiteralFileInfo {
+ method public abstract String file();
+ property public abstract String file;
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface LiveLiteralInfo {
+ method public abstract String key();
+ method public abstract int offset();
+ property public abstract String key;
+ property public abstract int offset;
+ }
+
+ public final class LiveLiteralKt {
+ method @androidx.compose.runtime.InternalComposeApi public static void enableLiveLiterals();
+ method public static boolean isLiveLiteralsEnabled();
+ method @androidx.compose.runtime.ComposeCompilerApi @androidx.compose.runtime.InternalComposeApi public static <T> androidx.compose.runtime.State<T> liveLiteral(String key, T? value);
+ method @androidx.compose.runtime.InternalComposeApi public static void updateLiveLiteralValue(String key, Object? value);
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface StabilityInferred {
+ method public abstract int parameters();
+ property public abstract int parameters;
+ }
+
+ public final class ThreadMapKt {
+ }
+
+}
+
+package androidx.compose.runtime.snapshots {
+
+ public final class ListUtilsKt {
+ }
+
+ public class MutableSnapshot extends androidx.compose.runtime.snapshots.Snapshot {
+ method public androidx.compose.runtime.snapshots.SnapshotApplyResult apply();
+ method public void close$metalava_module();
+ method public java.util.Set<androidx.compose.runtime.snapshots.StateObject>? getModified$metalava_module();
+ method public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? getReadObserver$metalava_module();
+ method public boolean getReadOnly();
+ method public androidx.compose.runtime.snapshots.Snapshot getRoot();
+ method public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? getWriteObserver$metalava_module();
+ method public boolean hasPendingChanges();
+ method public void nestedActivated$metalava_module(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public void nestedDeactivated$metalava_module(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public void notifyObjectsInitialized$metalava_module();
+ method public void recordModified$metalava_module(androidx.compose.runtime.snapshots.StateObject state);
+ method public void setModified(java.util.Set<androidx.compose.runtime.snapshots.StateObject>? p);
+ method public androidx.compose.runtime.snapshots.MutableSnapshot takeNestedMutableSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver, optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver);
+ method public androidx.compose.runtime.snapshots.Snapshot takeNestedSnapshot(kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver);
+ property public java.util.Set<androidx.compose.runtime.snapshots.StateObject>? modified;
+ property public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver;
+ property public boolean readOnly;
+ property public androidx.compose.runtime.snapshots.Snapshot root;
+ property public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver;
+ }
+
+ public fun interface ObserverHandle {
+ method public void dispose();
+ }
+
+ public abstract sealed class Snapshot {
+ method public void dispose();
+ method public final inline <T> T! enter(kotlin.jvm.functions.Function0<? extends T> block);
+ method public int getId();
+ method public abstract boolean getReadOnly();
+ method public abstract androidx.compose.runtime.snapshots.Snapshot getRoot();
+ method public abstract boolean hasPendingChanges();
+ method public abstract androidx.compose.runtime.snapshots.Snapshot takeNestedSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver);
+ property public int id;
+ property public abstract boolean readOnly;
+ property public abstract androidx.compose.runtime.snapshots.Snapshot root;
+ field public static final androidx.compose.runtime.snapshots.Snapshot.Companion Companion;
+ }
+
+ public static final class Snapshot.Companion {
+ method public androidx.compose.runtime.snapshots.Snapshot! getCurrent();
+ method public inline <T> T! global(kotlin.jvm.functions.Function0<? extends T> block);
+ method public void notifyObjectsInitialized();
+ method public <T> T! observe(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver, optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver, kotlin.jvm.functions.Function0<? extends T> block);
+ method @androidx.compose.runtime.InternalComposeApi public int openSnapshotCount();
+ method public androidx.compose.runtime.snapshots.ObserverHandle registerApplyObserver(kotlin.jvm.functions.Function2<? super java.util.Set<?>,? super androidx.compose.runtime.snapshots.Snapshot,kotlin.Unit> observer);
+ method public androidx.compose.runtime.snapshots.ObserverHandle registerGlobalWriteObserver(kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> observer);
+ method public void sendApplyNotifications();
+ method public androidx.compose.runtime.snapshots.MutableSnapshot takeMutableSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver, optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver);
+ method public androidx.compose.runtime.snapshots.Snapshot takeSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver);
+ method public inline <R> R! withMutableSnapshot(kotlin.jvm.functions.Function0<? extends R> block);
+ property public final androidx.compose.runtime.snapshots.Snapshot! current;
+ }
+
+ public final class SnapshotApplyConflictException extends java.lang.Exception {
+ ctor public SnapshotApplyConflictException(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public androidx.compose.runtime.snapshots.Snapshot getSnapshot();
+ property public final androidx.compose.runtime.snapshots.Snapshot snapshot;
+ }
+
+ public abstract sealed class SnapshotApplyResult {
+ method public abstract void check();
+ method public abstract boolean getSucceeded();
+ property public abstract boolean succeeded;
+ }
+
+ public static final class SnapshotApplyResult.Failure extends androidx.compose.runtime.snapshots.SnapshotApplyResult {
+ ctor public SnapshotApplyResult.Failure(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public void check();
+ method public androidx.compose.runtime.snapshots.Snapshot getSnapshot();
+ method public boolean getSucceeded();
+ property public final androidx.compose.runtime.snapshots.Snapshot snapshot;
+ property public boolean succeeded;
+ }
+
+ public static final class SnapshotApplyResult.Success extends androidx.compose.runtime.snapshots.SnapshotApplyResult {
+ method public void check();
+ method public boolean getSucceeded();
+ property public boolean succeeded;
+ field public static final androidx.compose.runtime.snapshots.SnapshotApplyResult.Success INSTANCE;
+ }
+
+ public final class SnapshotIdSetKt {
+ }
+
+ public final class SnapshotKt {
+ method public static <T extends androidx.compose.runtime.snapshots.StateRecord> T readable(T, androidx.compose.runtime.snapshots.StateObject state);
+ method public static <T extends androidx.compose.runtime.snapshots.StateRecord> T readable(T, androidx.compose.runtime.snapshots.StateObject state, androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public static inline <T extends androidx.compose.runtime.snapshots.StateRecord, R> R! withCurrent(T, kotlin.jvm.functions.Function1<? super T,? extends R> block);
+ method public static inline <T extends androidx.compose.runtime.snapshots.StateRecord, R> R! writable(T, androidx.compose.runtime.snapshots.StateObject state, androidx.compose.runtime.snapshots.Snapshot snapshot, kotlin.jvm.functions.Function1<? super T,? extends R> block);
+ method public static inline <T extends androidx.compose.runtime.snapshots.StateRecord, R> R! writable(T, androidx.compose.runtime.snapshots.StateObject state, kotlin.jvm.functions.Function1<? super T,? extends R> block);
+ }
+
+ public interface SnapshotMutableState<T> extends androidx.compose.runtime.MutableState<T> {
+ method public androidx.compose.runtime.SnapshotMutationPolicy<T> getPolicy();
+ property public abstract androidx.compose.runtime.SnapshotMutationPolicy<T> policy;
+ }
+
+ @androidx.compose.runtime.Stable public final class SnapshotStateList<T> implements kotlin.jvm.internal.markers.KMutableList java.util.List<T> androidx.compose.runtime.snapshots.StateObject {
+ ctor public SnapshotStateList();
+ method public boolean add(T? element);
+ method public void add(int index, T? element);
+ method public boolean addAll(int index, java.util.Collection<? extends T> elements);
+ method public boolean addAll(java.util.Collection<? extends T> elements);
+ method public void clear();
+ method public boolean contains(Object? element);
+ method public boolean containsAll(java.util.Collection<?> elements);
+ method public T! get(int index);
+ method public androidx.compose.runtime.snapshots.StateRecord getFirstStateRecord();
+ method public int getSize();
+ method public int indexOf(Object? element);
+ method public boolean isEmpty();
+ method public java.util.Iterator<T> iterator();
+ method public int lastIndexOf(Object? element);
+ method public java.util.ListIterator<T> listIterator();
+ method public java.util.ListIterator<T> listIterator(int index);
+ method public void prependStateRecord(androidx.compose.runtime.snapshots.StateRecord value);
+ method public boolean remove(Object? element);
+ method public boolean removeAll(java.util.Collection<?> elements);
+ method public T! removeAt(int index);
+ method public void removeRange(int fromIndex, int toIndex);
+ method public boolean retainAll(java.util.Collection<?> elements);
+ method public T! set(int index, T? element);
+ method public java.util.List<T> subList(int fromIndex, int toIndex);
+ property public androidx.compose.runtime.snapshots.StateRecord firstStateRecord;
+ property public int size;
+ }
+
+ public final class SnapshotStateListKt {
+ }
+
+ @androidx.compose.runtime.Stable public final class SnapshotStateMap<K, V> implements kotlin.jvm.internal.markers.KMutableMap java.util.Map<K,V> androidx.compose.runtime.snapshots.StateObject {
+ ctor public SnapshotStateMap();
+ method public void clear();
+ method public boolean containsKey(Object? key);
+ method public boolean containsValue(Object? value);
+ method public V? get(Object? key);
+ method public java.util.Set<java.util.Map.Entry<K,V>> getEntries();
+ method public androidx.compose.runtime.snapshots.StateRecord getFirstStateRecord();
+ method public java.util.Set<K> getKeys();
+ method public int getSize();
+ method public java.util.Collection<V> getValues();
+ method public boolean isEmpty();
+ method public void prependStateRecord(androidx.compose.runtime.snapshots.StateRecord value);
+ method public V? put(K? key, V? value);
+ method public void putAll(java.util.Map<? extends K,? extends V> from);
+ method public V? remove(Object? key);
+ property public java.util.Set<java.util.Map.Entry<K,V>> entries;
+ property public androidx.compose.runtime.snapshots.StateRecord firstStateRecord;
+ property public java.util.Set<K> keys;
+ property public int size;
+ property public java.util.Collection<V> values;
+ }
+
+ public final class SnapshotStateMapKt {
+ }
+
+ public final class SnapshotStateObserver {
+ ctor public SnapshotStateObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> onChangedExecutor);
+ method public void clear(Object scope);
+ method public void clear();
+ method public void clearIf(kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Boolean> predicate);
+ method @org.jetbrains.annotations.TestOnly public void notifyChanges(java.util.Set<?> changes, androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public <T> void observeReads(T scope, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onValueChangedForScope, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ method public void start();
+ method public void stop();
+ method public void withNoObservations(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ }
+
+ public interface StateObject {
+ method public androidx.compose.runtime.snapshots.StateRecord getFirstStateRecord();
+ method public default androidx.compose.runtime.snapshots.StateRecord? mergeRecords(androidx.compose.runtime.snapshots.StateRecord previous, androidx.compose.runtime.snapshots.StateRecord current, androidx.compose.runtime.snapshots.StateRecord applied);
+ method public void prependStateRecord(androidx.compose.runtime.snapshots.StateRecord value);
+ property public abstract androidx.compose.runtime.snapshots.StateRecord firstStateRecord;
+ }
+
+ public abstract class StateRecord {
+ ctor public StateRecord();
+ method public abstract void assign(androidx.compose.runtime.snapshots.StateRecord value);
+ method public abstract androidx.compose.runtime.snapshots.StateRecord create();
+ }
+
+}
+
+package androidx.compose.runtime.tooling {
+
+ public interface CompositionData {
+ method public Iterable<androidx.compose.runtime.tooling.CompositionGroup> getCompositionGroups();
+ method public boolean isEmpty();
+ property public abstract Iterable<androidx.compose.runtime.tooling.CompositionGroup> compositionGroups;
+ property public abstract boolean isEmpty;
+ }
+
+ public interface CompositionGroup extends androidx.compose.runtime.tooling.CompositionData {
+ method public Iterable<java.lang.Object> getData();
+ method public Object getKey();
+ method public Object? getNode();
+ method public String? getSourceInfo();
+ property public abstract Iterable<java.lang.Object> data;
+ property public abstract Object key;
+ property public abstract Object? node;
+ property public abstract String? sourceInfo;
+ }
+
+ public final class InspectionTablesKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<java.util.Set<androidx.compose.runtime.tooling.CompositionData>> getLocalInspectionTables();
+ }
+
+}
+
diff --git a/compose/runtime/runtime/api/res-1.0.0-beta10.txt b/compose/runtime/runtime/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/runtime/runtime/api/res-1.0.0-beta10.txt
diff --git a/compose/runtime/runtime/api/restricted_1.0.0-beta10.txt b/compose/runtime/runtime/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..d2a86ac
--- /dev/null
+++ b/compose/runtime/runtime/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,845 @@
+// Signature format: 4.0
+package androidx.compose.runtime {
+
+ public abstract class AbstractApplier<T> implements androidx.compose.runtime.Applier<T> {
+ ctor public AbstractApplier(T? root);
+ method public final void clear();
+ method public void down(T? node);
+ method public T! getCurrent();
+ method public final T! getRoot();
+ method protected final void move(java.util.List<T>, int from, int to, int count);
+ method protected abstract void onClear();
+ method protected final void remove(java.util.List<T>, int index, int count);
+ method protected void setCurrent(T! p);
+ method public void up();
+ property public T! current;
+ property public final T! root;
+ }
+
+ public final class ActualAndroid_androidKt {
+ method @Deprecated public static androidx.compose.runtime.MonotonicFrameClock getDefaultMonotonicFrameClock();
+ }
+
+ public final class ActualJvm_jvmKt {
+ method @kotlin.PublishedApi internal static inline <R> R! synchronized(Object lock, kotlin.jvm.functions.Function0<? extends R> block);
+ }
+
+ public interface Applier<N> {
+ method public void clear();
+ method public void down(N? node);
+ method public N! getCurrent();
+ method public void insertBottomUp(int index, N? instance);
+ method public void insertTopDown(int index, N? instance);
+ method public void move(int from, int to, int count);
+ method public default void onBeginChanges();
+ method public default void onEndChanges();
+ method public void remove(int index, int count);
+ method public void up();
+ property public abstract N! current;
+ }
+
+ public final class BitwiseOperatorsKt {
+ }
+
+ public final class BroadcastFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public BroadcastFrameClock(optional kotlin.jvm.functions.Function0<kotlin.Unit>? onNewAwaiters);
+ method public void cancel(optional java.util.concurrent.CancellationException cancellationException);
+ method public boolean getHasAwaiters();
+ method public void sendFrame(long timeNanos);
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final boolean hasAwaiters;
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface Composable {
+ }
+
+ public final class ComposablesKt {
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update);
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ExplicitGroupsComposable public static inline <T, reified E extends androidx.compose.runtime.Applier<?>> void ComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.SkippableUpdater<T>,? extends kotlin.Unit> skippableUpdate, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ReusableComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update);
+ method @androidx.compose.runtime.Composable public static inline <T extends java.lang.Object, reified E extends androidx.compose.runtime.Applier<?>> void ReusableComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ExplicitGroupsComposable public static inline <T, reified E extends androidx.compose.runtime.Applier<?>> void ReusableComposeNode(kotlin.jvm.functions.Function0<? extends T> factory, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,? extends kotlin.Unit> update, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.SkippableUpdater<T>,? extends kotlin.Unit> skippableUpdate, kotlin.jvm.functions.Function0<? extends kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static inline void ReusableContent(Object? key, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static androidx.compose.runtime.Composer getCurrentComposer();
+ method @androidx.compose.runtime.Composable public static int getCurrentCompositeKeyHash();
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static androidx.compose.runtime.RecomposeScope getCurrentRecomposeScope();
+ method @kotlin.PublishedApi internal static void invalidApplier();
+ method @androidx.compose.runtime.Composable public static inline <T> T! key(Object![]? keys, kotlin.jvm.functions.Function0<? extends T> block);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object? key1, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object? key1, Object? key2, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static inline <T> T! remember(Object![]? keys, kotlin.jvm.functions.Function0<? extends T> calculation);
+ method @androidx.compose.runtime.Composable public static androidx.compose.runtime.CompositionContext rememberCompositionContext();
+ }
+
+ @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ComposeCompilerApi {
+ }
+
+ public interface Composer {
+ method @androidx.compose.runtime.ComposeCompilerApi public <V, T> void apply(V? value, kotlin.jvm.functions.Function2<? super T,? super V,kotlin.Unit> block);
+ method @androidx.compose.runtime.ComposeCompilerApi public boolean changed(Object? value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(boolean value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(char value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(byte value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(short value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(int value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(float value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(long value);
+ method @androidx.compose.runtime.ComposeCompilerApi public default boolean changed(double value);
+ method @androidx.compose.runtime.ComposeCompilerApi public <T> void createNode(kotlin.jvm.functions.Function0<? extends T> factory);
+ method @androidx.compose.runtime.ComposeCompilerApi public void disableReusing();
+ method @androidx.compose.runtime.ComposeCompilerApi public void enableReusing();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endDefaults();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endMovableGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endNode();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endReplaceableGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public androidx.compose.runtime.ScopeUpdateScope? endRestartGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public void endReusableGroup();
+ method public androidx.compose.runtime.Applier<?> getApplier();
+ method @org.jetbrains.annotations.TestOnly public kotlin.coroutines.CoroutineContext getApplyCoroutineContext();
+ method @org.jetbrains.annotations.TestOnly public androidx.compose.runtime.ControlledComposition getComposition();
+ method public androidx.compose.runtime.tooling.CompositionData getCompositionData();
+ method public int getCompoundKeyHash();
+ method public boolean getDefaultsInvalid();
+ method public boolean getInserting();
+ method public androidx.compose.runtime.RecomposeScope? getRecomposeScope();
+ method public boolean getSkipping();
+ method @androidx.compose.runtime.ComposeCompilerApi public Object joinKey(Object? left, Object? right);
+ method @androidx.compose.runtime.ComposeCompilerApi public Object? rememberedValue();
+ method @androidx.compose.runtime.ComposeCompilerApi public void skipCurrentGroup();
+ method @androidx.compose.runtime.ComposeCompilerApi public void skipToGroupEnd();
+ method public void sourceInformation(String sourceInformation);
+ method public void sourceInformationMarkerEnd();
+ method public void sourceInformationMarkerStart(int key, String sourceInformation);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startDefaults();
+ method @androidx.compose.runtime.ComposeCompilerApi public void startMovableGroup(int key, Object? dataKey);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startNode();
+ method @androidx.compose.runtime.ComposeCompilerApi public void startReplaceableGroup(int key);
+ method @androidx.compose.runtime.ComposeCompilerApi public androidx.compose.runtime.Composer startRestartGroup(int key);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startReusableGroup(int key, Object? dataKey);
+ method @androidx.compose.runtime.ComposeCompilerApi public void startReusableNode();
+ method @androidx.compose.runtime.ComposeCompilerApi public void updateRememberedValue(Object? value);
+ method @androidx.compose.runtime.ComposeCompilerApi public void useNode();
+ property public abstract androidx.compose.runtime.Applier<?> applier;
+ property @org.jetbrains.annotations.TestOnly public abstract kotlin.coroutines.CoroutineContext applyCoroutineContext;
+ property @org.jetbrains.annotations.TestOnly public abstract androidx.compose.runtime.ControlledComposition composition;
+ property public abstract androidx.compose.runtime.tooling.CompositionData compositionData;
+ property public abstract int compoundKeyHash;
+ property public abstract boolean defaultsInvalid;
+ property public abstract boolean inserting;
+ property public abstract androidx.compose.runtime.RecomposeScope? recomposeScope;
+ property public abstract boolean skipping;
+ field public static final androidx.compose.runtime.Composer.Companion Companion;
+ }
+
+ public static final class Composer.Companion {
+ method public Object getEmpty();
+ property public final Object Empty;
+ }
+
+ public final class ComposerKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static inline <T> T! cache(androidx.compose.runtime.Composer, boolean invalid, kotlin.jvm.functions.Function0<? extends T> block);
+ method @androidx.compose.runtime.ComposeCompilerApi public static void sourceInformation(androidx.compose.runtime.Composer composer, String sourceInformation);
+ method @androidx.compose.runtime.ComposeCompilerApi public static void sourceInformationMarkerEnd(androidx.compose.runtime.Composer composer);
+ method @androidx.compose.runtime.ComposeCompilerApi public static void sourceInformationMarkerStart(androidx.compose.runtime.Composer composer, int key, String sourceInformation);
+ field @kotlin.PublishedApi internal static final Object compositionLocalMap;
+ field @kotlin.PublishedApi internal static final int compositionLocalMapKey = 202; // 0xca
+ field @kotlin.PublishedApi internal static final Object invocation;
+ field @kotlin.PublishedApi internal static final int invocationKey = 200; // 0xc8
+ field @kotlin.PublishedApi internal static final Object provider;
+ field @kotlin.PublishedApi internal static final int providerKey = 201; // 0xc9
+ field @kotlin.PublishedApi internal static final Object providerMaps;
+ field @kotlin.PublishedApi internal static final int providerMapsKey = 204; // 0xcc
+ field @kotlin.PublishedApi internal static final Object providerValues;
+ field @kotlin.PublishedApi internal static final int providerValuesKey = 203; // 0xcb
+ field @kotlin.PublishedApi internal static final Object reference;
+ field @kotlin.PublishedApi internal static final int referenceKey = 206; // 0xce
+ field @kotlin.PublishedApi internal static final int reuseKey = 207; // 0xcf
+ }
+
+ public interface Composition {
+ method public void dispose();
+ method public boolean getHasInvalidations();
+ method public boolean isDisposed();
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ property public abstract boolean hasInvalidations;
+ property public abstract boolean isDisposed;
+ }
+
+ public abstract class CompositionContext {
+ }
+
+ public final class CompositionContextKt {
+ }
+
+ public final class CompositionKt {
+ method public static androidx.compose.runtime.Composition Composition(androidx.compose.runtime.Applier<?> applier, androidx.compose.runtime.CompositionContext parent);
+ method @org.jetbrains.annotations.TestOnly public static androidx.compose.runtime.ControlledComposition ControlledComposition(androidx.compose.runtime.Applier<?> applier, androidx.compose.runtime.CompositionContext parent);
+ }
+
+ @androidx.compose.runtime.Stable public abstract sealed class CompositionLocal<T> {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final inline T! getCurrent();
+ property @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public final inline T! current;
+ }
+
+ public final class CompositionLocalKt {
+ method @androidx.compose.runtime.Composable public static void CompositionLocalProvider(androidx.compose.runtime.ProvidedValue<?>![] values, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method public static <T> androidx.compose.runtime.ProvidableCompositionLocal<T> compositionLocalOf(optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy, kotlin.jvm.functions.Function0<? extends T> defaultFactory);
+ method public static <T> androidx.compose.runtime.ProvidableCompositionLocal<T> staticCompositionLocalOf(kotlin.jvm.functions.Function0<? extends T> defaultFactory);
+ }
+
+ @kotlin.PublishedApi internal final class CompositionScopedCoroutineScopeCanceller implements androidx.compose.runtime.RememberObserver {
+ ctor public CompositionScopedCoroutineScopeCanceller(kotlinx.coroutines.CoroutineScope coroutineScope);
+ method public kotlinx.coroutines.CoroutineScope getCoroutineScope();
+ method public void onAbandoned();
+ method public void onForgotten();
+ method public void onRemembered();
+ property public final kotlinx.coroutines.CoroutineScope coroutineScope;
+ }
+
+ public interface ControlledComposition extends androidx.compose.runtime.Composition {
+ method public void applyChanges();
+ method public void composeContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method public boolean getHasPendingChanges();
+ method public void invalidateAll();
+ method public boolean isComposing();
+ method public boolean observesAnyOf(java.util.Set<?> values);
+ method public void prepareCompose(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ method public boolean recompose();
+ method public void recordModificationsOf(java.util.Set<?> values);
+ method public void recordReadOf(Object value);
+ method public void recordWriteOf(Object value);
+ property public abstract boolean hasPendingChanges;
+ property public abstract boolean isComposing;
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface DisallowComposableCalls {
+ }
+
+ public interface DisposableEffectResult {
+ method public void dispose();
+ }
+
+ public final class DisposableEffectScope {
+ ctor public DisposableEffectScope();
+ method public inline androidx.compose.runtime.DisposableEffectResult onDispose(kotlin.jvm.functions.Function0<kotlin.Unit> onDisposeEffect);
+ }
+
+ public final class EffectsKt {
+ method @Deprecated @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object? key1, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object? key1, Object? key2, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void DisposableEffect(Object![]? keys, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.DisposableEffectScope,? extends androidx.compose.runtime.DisposableEffectResult> effect);
+ method @Deprecated @androidx.compose.runtime.Composable public static void LaunchedEffect(kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object? key1, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void LaunchedEffect(Object![]? keys, kotlin.jvm.functions.Function2<? super kotlinx.coroutines.CoroutineScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.NonRestartableComposable public static void SideEffect(kotlin.jvm.functions.Function0<kotlin.Unit> effect);
+ method @kotlin.PublishedApi internal static kotlinx.coroutines.CoroutineScope createCompositionCoroutineScope(kotlin.coroutines.CoroutineContext coroutineContext, androidx.compose.runtime.Composer composer);
+ method @androidx.compose.runtime.Composable public static inline kotlinx.coroutines.CoroutineScope rememberCoroutineScope(optional kotlin.jvm.functions.Function0<? extends kotlin.coroutines.CoroutineContext> getContext);
+ }
+
+ public final class ExpectKt {
+ method @kotlin.PublishedApi internal static inline <R> R! synchronized(Object lock, kotlin.jvm.functions.Function0<? extends R> block);
+ }
+
+ @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ExplicitGroupsComposable {
+ }
+
+ @androidx.compose.runtime.StableMarker @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Immutable {
+ }
+
+ public interface MonotonicFrameClock extends kotlin.coroutines.CoroutineContext.Element {
+ method public default kotlin.coroutines.CoroutineContext.Key<?> getKey();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public default kotlin.coroutines.CoroutineContext.Key<?> key;
+ field public static final androidx.compose.runtime.MonotonicFrameClock.Key Key;
+ }
+
+ public static final class MonotonicFrameClock.Key implements kotlin.coroutines.CoroutineContext.Key<androidx.compose.runtime.MonotonicFrameClock> {
+ }
+
+ public final class MonotonicFrameClockKt {
+ method public static androidx.compose.runtime.MonotonicFrameClock getMonotonicFrameClock(kotlin.coroutines.CoroutineContext);
+ method public static suspend inline <R> Object? withFrameMillis(androidx.compose.runtime.MonotonicFrameClock, kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ method public static suspend <R> Object? withFrameMillis(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ method public static suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ @androidx.compose.runtime.Stable public interface MutableState<T> extends androidx.compose.runtime.State<T> {
+ method public operator T! component1();
+ method public operator kotlin.jvm.functions.Function1<T,kotlin.Unit> component2();
+ method public void setValue(T! p);
+ property public abstract T! value;
+ }
+
+ @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface NoLiveLiterals {
+ }
+
+ @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface NonRestartableComposable {
+ }
+
+ public final class PausableMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public PausableMonotonicFrameClock(androidx.compose.runtime.MonotonicFrameClock frameClock);
+ method public boolean isPaused();
+ method public void pause();
+ method public void resume();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final boolean isPaused;
+ }
+
+ public interface ProduceStateScope<T> extends androidx.compose.runtime.MutableState<T> kotlinx.coroutines.CoroutineScope {
+ method public suspend Object? awaitDispose(kotlin.jvm.functions.Function0<kotlin.Unit> onDispose, kotlin.coroutines.Continuation<?> p);
+ }
+
+ @androidx.compose.runtime.Stable public abstract class ProvidableCompositionLocal<T> extends androidx.compose.runtime.CompositionLocal<T> {
+ method public final infix androidx.compose.runtime.ProvidedValue<T> provides(T? value);
+ method public final infix androidx.compose.runtime.ProvidedValue<T> providesDefault(T? value);
+ }
+
+ public final class ProvidedValue<T> {
+ method public boolean getCanOverride();
+ method public androidx.compose.runtime.CompositionLocal<T> getCompositionLocal();
+ method public T! getValue();
+ property public final boolean canOverride;
+ property public final androidx.compose.runtime.CompositionLocal<T> compositionLocal;
+ property public final T! value;
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface ReadOnlyComposable {
+ }
+
+ public interface RecomposeScope {
+ method public void invalidate();
+ }
+
+ public final class RecomposeScopeImplKt {
+ }
+
+ public final class Recomposer extends androidx.compose.runtime.CompositionContext {
+ ctor public Recomposer(kotlin.coroutines.CoroutineContext effectCoroutineContext);
+ method public androidx.compose.runtime.RecomposerInfo asRecomposerInfo();
+ method public suspend Object? awaitIdle(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public void cancel();
+ method public void close();
+ method public long getChangeCount();
+ method public boolean getHasPendingWork();
+ method public kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> getState();
+ method public suspend Object? join(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? runRecomposeAndApplyChanges(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public final long changeCount;
+ property public final boolean hasPendingWork;
+ property public final kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> state;
+ field public static final androidx.compose.runtime.Recomposer.Companion Companion;
+ }
+
+ public static final class Recomposer.Companion {
+ method public kotlinx.coroutines.flow.StateFlow<java.util.Set<androidx.compose.runtime.RecomposerInfo>> getRunningRecomposers();
+ property public final kotlinx.coroutines.flow.StateFlow<java.util.Set<androidx.compose.runtime.RecomposerInfo>> runningRecomposers;
+ }
+
+ public enum Recomposer.State {
+ enum_constant public static final androidx.compose.runtime.Recomposer.State Idle;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State Inactive;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State InactivePendingWork;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State PendingWork;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State ShutDown;
+ enum_constant public static final androidx.compose.runtime.Recomposer.State ShuttingDown;
+ }
+
+ public interface RecomposerInfo {
+ method public long getChangeCount();
+ method public boolean getHasPendingWork();
+ method public kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> getState();
+ property public abstract long changeCount;
+ property public abstract boolean hasPendingWork;
+ property public abstract kotlinx.coroutines.flow.Flow<androidx.compose.runtime.Recomposer.State> state;
+ }
+
+ public final class RecomposerKt {
+ method public static suspend <R> Object? withRunningRecomposer(kotlin.jvm.functions.Function3<? super kotlinx.coroutines.CoroutineScope,? super androidx.compose.runtime.Recomposer,? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ }
+
+ public interface RememberObserver {
+ method public void onAbandoned();
+ method public void onForgotten();
+ method public void onRemembered();
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi public interface ScopeUpdateScope {
+ method public void updateScope(kotlin.jvm.functions.Function2<? super androidx.compose.runtime.Composer,? super java.lang.Integer,kotlin.Unit> block);
+ }
+
+ public final inline class SkippableUpdater<T> {
+ ctor public SkippableUpdater();
+ method public static androidx.compose.runtime.Composer! constructor-impl(androidx.compose.runtime.Composer composer);
+ method public static inline boolean equals-impl(androidx.compose.runtime.Composer! p, Object? p1);
+ method public static boolean equals-impl0(androidx.compose.runtime.Composer p1, androidx.compose.runtime.Composer p2);
+ method public static inline int hashCode-impl(androidx.compose.runtime.Composer! p);
+ method public static inline String! toString-impl(androidx.compose.runtime.Composer! p);
+ method public static inline void update-impl(androidx.compose.runtime.Composer $this, kotlin.jvm.functions.Function1<? super androidx.compose.runtime.Updater<T>,kotlin.Unit> block);
+ }
+
+ public final class SlotTableKt {
+ }
+
+ public interface SnapshotMutationPolicy<T> {
+ method public boolean equivalent(T? a, T? b);
+ method public default T? merge(T? previous, T? current, T? applied);
+ }
+
+ public final class SnapshotStateKt {
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> collectAsState(kotlinx.coroutines.flow.StateFlow<? extends T>, optional kotlin.coroutines.CoroutineContext context);
+ method @androidx.compose.runtime.Composable public static <T extends R, R> androidx.compose.runtime.State<R> collectAsState(kotlinx.coroutines.flow.Flow<? extends T>, R? initial, optional kotlin.coroutines.CoroutineContext context);
+ method public static <T> androidx.compose.runtime.State<T> derivedStateOf(kotlin.jvm.functions.Function0<? extends T> calculation);
+ method public static inline operator <T> T! getValue(androidx.compose.runtime.State<? extends T>, Object? thisObj, kotlin.reflect.KProperty<?> property);
+ method public static <T> androidx.compose.runtime.snapshots.SnapshotStateList<T> mutableStateListOf();
+ method public static <T> androidx.compose.runtime.snapshots.SnapshotStateList<T> mutableStateListOf(T?... elements);
+ method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf();
+ method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> mutableStateMapOf(kotlin.Pair<? extends K,? extends V>... pairs);
+ method public static <T> androidx.compose.runtime.MutableState<T> mutableStateOf(T? value, optional androidx.compose.runtime.SnapshotMutationPolicy<T> policy);
+ method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> neverEqualPolicy();
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object? key1, Object? key2, Object? key3, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> produceState(T? initialValue, Object![]? keys, kotlin.jvm.functions.Function2<? super androidx.compose.runtime.ProduceStateScope<T>,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> producer);
+ method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> referentialEqualityPolicy();
+ method @androidx.compose.runtime.Composable public static <T> androidx.compose.runtime.State<T> rememberUpdatedState(T? newValue);
+ method public static inline operator <T> void setValue(androidx.compose.runtime.MutableState<T>, Object? thisObj, kotlin.reflect.KProperty<?> property, T? value);
+ method public static <T> kotlinx.coroutines.flow.Flow<T> snapshotFlow(kotlin.jvm.functions.Function0<? extends T> block);
+ method public static <T> androidx.compose.runtime.SnapshotMutationPolicy<T> structuralEqualityPolicy();
+ method public static <T> androidx.compose.runtime.snapshots.SnapshotStateList<T> toMutableStateList(java.util.Collection<? extends T>);
+ method public static <K, V> androidx.compose.runtime.snapshots.SnapshotStateMap<K,V> toMutableStateMap(Iterable<? extends kotlin.Pair<? extends K,? extends V>>);
+ }
+
+ @androidx.compose.runtime.StableMarker @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface Stable {
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface StableMarker {
+ }
+
+ @androidx.compose.runtime.Stable public interface State<T> {
+ method public T! getValue();
+ property public abstract T! value;
+ }
+
+ public final class TraceKt {
+ }
+
+ public final inline class Updater<T> {
+ ctor public Updater();
+ method public static androidx.compose.runtime.Composer! constructor-impl(androidx.compose.runtime.Composer composer);
+ method public static inline boolean equals-impl(androidx.compose.runtime.Composer! p, Object? p1);
+ method public static boolean equals-impl0(androidx.compose.runtime.Composer p1, androidx.compose.runtime.Composer p2);
+ method public static inline int hashCode-impl(androidx.compose.runtime.Composer! p);
+ method public static void init-impl(androidx.compose.runtime.Composer $this, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public static void reconcile-impl(androidx.compose.runtime.Composer $this, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public static inline void set-impl(androidx.compose.runtime.Composer $this, int value, kotlin.jvm.functions.Function2<? super T,? super java.lang.Integer,kotlin.Unit> block);
+ method public static <V> void set-impl(androidx.compose.runtime.Composer? $this, V value, kotlin.jvm.functions.Function2<? super T,? super V,kotlin.Unit> block);
+ method public static inline String! toString-impl(androidx.compose.runtime.Composer! p);
+ method public static inline void update-impl(androidx.compose.runtime.Composer $this, int value, kotlin.jvm.functions.Function2<? super T,? super java.lang.Integer,kotlin.Unit> block);
+ method public static <V> void update-impl(androidx.compose.runtime.Composer? $this, V value, kotlin.jvm.functions.Function2<? super T,? super V,kotlin.Unit> block);
+ }
+
+}
+
+package androidx.compose.runtime.collection {
+
+ public final class MutableVector<T> implements java.util.RandomAccess {
+ ctor @kotlin.PublishedApi internal MutableVector(@kotlin.PublishedApi T![] content, int size);
+ method public boolean add(T? element);
+ method public void add(int index, T? element);
+ method public boolean addAll(int index, java.util.List<? extends T> elements);
+ method public boolean addAll(int index, androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public inline boolean addAll(java.util.List<? extends T> elements);
+ method public inline boolean addAll(androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public boolean addAll(T![] elements);
+ method public boolean addAll(int index, java.util.Collection<? extends T> elements);
+ method public boolean addAll(java.util.Collection<? extends T> elements);
+ method public inline boolean any(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public java.util.List<T> asMutableList();
+ method public void clear();
+ method public operator boolean contains(T? element);
+ method public boolean containsAll(java.util.List<? extends T> elements);
+ method public boolean containsAll(java.util.Collection<? extends T> elements);
+ method public boolean containsAll(androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public boolean contentEquals(androidx.compose.runtime.collection.MutableVector<T> other);
+ method public void ensureCapacity(int capacity);
+ method public T! first();
+ method public inline T! first(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline T? firstOrNull();
+ method public inline T? firstOrNull(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline <R> R! fold(R? initial, kotlin.jvm.functions.Function2<? super R,? super T,? extends R> operation);
+ method public inline <R> R! foldIndexed(R? initial, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super R,? super T,? extends R> operation);
+ method public inline <R> R! foldRight(R? initial, kotlin.jvm.functions.Function2<? super T,? super R,? extends R> operation);
+ method public inline <R> R! foldRightIndexed(R? initial, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super T,? super R,? extends R> operation);
+ method public inline void forEach(kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public inline void forEachIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> block);
+ method public inline void forEachReversed(kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+ method public inline void forEachReversedIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> block);
+ method public inline operator T! get(int index);
+ method public inline kotlin.ranges.IntRange getIndices();
+ method public inline int getLastIndex();
+ method public int getSize();
+ method public int indexOf(T? element);
+ method public inline int indexOfFirst(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline int indexOfLast(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public boolean isEmpty();
+ method public boolean isNotEmpty();
+ method public T! last();
+ method public inline T! last(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public int lastIndexOf(T? element);
+ method public inline T? lastOrNull();
+ method public inline T? lastOrNull(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public inline <reified R> R![]! map(kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public inline <reified R> R![]! mapIndexed(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,? extends R> transform);
+ method public inline <reified R> androidx.compose.runtime.collection.MutableVector<R>! mapIndexedNotNull(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,? extends R> transform);
+ method public inline <reified R> androidx.compose.runtime.collection.MutableVector<R>! mapNotNull(kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public inline operator void minusAssign(T? element);
+ method public inline operator void plusAssign(T? element);
+ method public boolean remove(T? element);
+ method public boolean removeAll(java.util.List<? extends T> elements);
+ method public boolean removeAll(androidx.compose.runtime.collection.MutableVector<T> elements);
+ method public boolean removeAll(java.util.Collection<? extends T> elements);
+ method public T! removeAt(int index);
+ method public void removeRange(int start, int end);
+ method public boolean retainAll(java.util.Collection<? extends T> elements);
+ method public inline boolean reversedAny(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public operator T! set(int index, T? element);
+ method public void sortWith(java.util.Comparator<T> comparator);
+ method public inline int sumBy(kotlin.jvm.functions.Function1<? super T,java.lang.Integer> selector);
+ method @kotlin.PublishedApi internal Void throwNoSuchElementException();
+ property public final inline kotlin.ranges.IntRange indices;
+ property public final inline int lastIndex;
+ property public final int size;
+ }
+
+ public final class MutableVectorKt {
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! MutableVector(optional int capacity);
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! MutableVector(int size, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends T> init);
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! mutableVectorOf();
+ method public static inline <reified T> androidx.compose.runtime.collection.MutableVector<T>! mutableVectorOf(T? elements);
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable {
+
+ public final class ExtensionsKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableList {
+
+ public final class UtilsKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableMap {
+
+ public final class PersistentHashMapContentIteratorsKt {
+ }
+
+ public final class TrieNodeKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.implementations.immutableSet {
+
+ public final class TrieNodeKt {
+ }
+
+}
+
+package androidx.compose.runtime.external.kotlinx.collections.immutable.internal {
+
+ public final class CommonFunctionsKt {
+ }
+
+ public final class ForEachOneBitKt {
+ }
+
+}
+
+package androidx.compose.runtime.internal {
+
+ @androidx.compose.runtime.ComposeCompilerApi @androidx.compose.runtime.Stable public interface ComposableLambda extends kotlin.jvm.functions.Function2<androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function10<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function11<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function13<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function14<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function15<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function16<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function17<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function18<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function19<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function20<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function21<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function3<java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function4<java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function5<java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function6<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function7<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function8<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> kotlin.jvm.functions.Function9<java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,androidx.compose.runtime.Composer,java.lang.Integer,java.lang.Object> {
+ }
+
+ public final class ComposableLambdaKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambda composableLambda(androidx.compose.runtime.Composer composer, int key, boolean tracked, Object block);
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambda composableLambdaInstance(int key, boolean tracked, Object block);
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @androidx.compose.runtime.Stable public interface ComposableLambdaN extends kotlin.jvm.functions.FunctionN<java.lang.Object> {
+ }
+
+ public final class ComposableLambdaN_jvmKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambdaN composableLambdaN(androidx.compose.runtime.Composer composer, int key, boolean tracked, int arity, Object block);
+ method @androidx.compose.runtime.ComposeCompilerApi public static androidx.compose.runtime.internal.ComposableLambdaN composableLambdaNInstance(int key, boolean tracked, int arity, Object block);
+ }
+
+ public final class DecoyKt {
+ method @androidx.compose.runtime.ComposeCompilerApi public static Void illegalDecoyCallException(String fName);
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface LiveLiteralFileInfo {
+ method public abstract String file();
+ property public abstract String file;
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface LiveLiteralInfo {
+ method public abstract String key();
+ method public abstract int offset();
+ property public abstract String key;
+ property public abstract int offset;
+ }
+
+ public final class LiveLiteralKt {
+ method public static boolean isLiveLiteralsEnabled();
+ }
+
+ @androidx.compose.runtime.ComposeCompilerApi @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface StabilityInferred {
+ method public abstract int parameters();
+ property public abstract int parameters;
+ }
+
+ public final class ThreadMapKt {
+ }
+
+}
+
+package androidx.compose.runtime.snapshots {
+
+ public final class ListUtilsKt {
+ }
+
+ public class MutableSnapshot extends androidx.compose.runtime.snapshots.Snapshot {
+ method public androidx.compose.runtime.snapshots.SnapshotApplyResult apply();
+ method public void close$metalava_module();
+ method public java.util.Set<androidx.compose.runtime.snapshots.StateObject>? getModified$metalava_module();
+ method public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? getReadObserver$metalava_module();
+ method public boolean getReadOnly();
+ method public androidx.compose.runtime.snapshots.Snapshot getRoot();
+ method public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? getWriteObserver$metalava_module();
+ method public boolean hasPendingChanges();
+ method public void nestedActivated$metalava_module(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public void nestedDeactivated$metalava_module(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public void notifyObjectsInitialized$metalava_module();
+ method public void recordModified$metalava_module(androidx.compose.runtime.snapshots.StateObject state);
+ method public void setModified(java.util.Set<androidx.compose.runtime.snapshots.StateObject>? p);
+ method public androidx.compose.runtime.snapshots.MutableSnapshot takeNestedMutableSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver, optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver);
+ method public androidx.compose.runtime.snapshots.Snapshot takeNestedSnapshot(kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver);
+ property public java.util.Set<androidx.compose.runtime.snapshots.StateObject>? modified;
+ property public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver;
+ property public boolean readOnly;
+ property public androidx.compose.runtime.snapshots.Snapshot root;
+ property public kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver;
+ }
+
+ public fun interface ObserverHandle {
+ method public void dispose();
+ }
+
+ public abstract sealed class Snapshot {
+ method public void dispose();
+ method public final inline <T> T! enter(kotlin.jvm.functions.Function0<? extends T> block);
+ method public int getId();
+ method public abstract boolean getReadOnly();
+ method public abstract androidx.compose.runtime.snapshots.Snapshot getRoot();
+ method public abstract boolean hasPendingChanges();
+ method @kotlin.PublishedApi internal androidx.compose.runtime.snapshots.Snapshot? makeCurrent();
+ method @kotlin.PublishedApi internal void restoreCurrent(androidx.compose.runtime.snapshots.Snapshot? snapshot);
+ method public abstract androidx.compose.runtime.snapshots.Snapshot takeNestedSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver);
+ property public int id;
+ property public abstract boolean readOnly;
+ property public abstract androidx.compose.runtime.snapshots.Snapshot root;
+ field public static final androidx.compose.runtime.snapshots.Snapshot.Companion Companion;
+ }
+
+ public static final class Snapshot.Companion {
+ method public androidx.compose.runtime.snapshots.Snapshot! getCurrent();
+ method public inline <T> T! global(kotlin.jvm.functions.Function0<? extends T> block);
+ method public void notifyObjectsInitialized();
+ method public <T> T! observe(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver, optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver, kotlin.jvm.functions.Function0<? extends T> block);
+ method public androidx.compose.runtime.snapshots.ObserverHandle registerApplyObserver(kotlin.jvm.functions.Function2<? super java.util.Set<?>,? super androidx.compose.runtime.snapshots.Snapshot,kotlin.Unit> observer);
+ method public androidx.compose.runtime.snapshots.ObserverHandle registerGlobalWriteObserver(kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> observer);
+ method @kotlin.PublishedApi internal androidx.compose.runtime.snapshots.Snapshot? removeCurrent();
+ method @kotlin.PublishedApi internal void restoreCurrent(androidx.compose.runtime.snapshots.Snapshot? previous);
+ method public void sendApplyNotifications();
+ method public androidx.compose.runtime.snapshots.MutableSnapshot takeMutableSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver, optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? writeObserver);
+ method public androidx.compose.runtime.snapshots.Snapshot takeSnapshot(optional kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit>? readObserver);
+ method public inline <R> R! withMutableSnapshot(kotlin.jvm.functions.Function0<? extends R> block);
+ property public final androidx.compose.runtime.snapshots.Snapshot! current;
+ }
+
+ public final class SnapshotApplyConflictException extends java.lang.Exception {
+ ctor public SnapshotApplyConflictException(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public androidx.compose.runtime.snapshots.Snapshot getSnapshot();
+ property public final androidx.compose.runtime.snapshots.Snapshot snapshot;
+ }
+
+ public abstract sealed class SnapshotApplyResult {
+ method public abstract void check();
+ method public abstract boolean getSucceeded();
+ property public abstract boolean succeeded;
+ }
+
+ public static final class SnapshotApplyResult.Failure extends androidx.compose.runtime.snapshots.SnapshotApplyResult {
+ ctor public SnapshotApplyResult.Failure(androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public void check();
+ method public androidx.compose.runtime.snapshots.Snapshot getSnapshot();
+ method public boolean getSucceeded();
+ property public final androidx.compose.runtime.snapshots.Snapshot snapshot;
+ property public boolean succeeded;
+ }
+
+ public static final class SnapshotApplyResult.Success extends androidx.compose.runtime.snapshots.SnapshotApplyResult {
+ method public void check();
+ method public boolean getSucceeded();
+ property public boolean succeeded;
+ field public static final androidx.compose.runtime.snapshots.SnapshotApplyResult.Success INSTANCE;
+ }
+
+ public final class SnapshotIdSetKt {
+ }
+
+ public final class SnapshotKt {
+ method @kotlin.PublishedApi internal static <T extends androidx.compose.runtime.snapshots.StateRecord> T current(T r, androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method @kotlin.PublishedApi internal static void notifyWrite(androidx.compose.runtime.snapshots.Snapshot snapshot, androidx.compose.runtime.snapshots.StateObject state);
+ method public static <T extends androidx.compose.runtime.snapshots.StateRecord> T readable(T, androidx.compose.runtime.snapshots.StateObject state);
+ method public static <T extends androidx.compose.runtime.snapshots.StateRecord> T readable(T, androidx.compose.runtime.snapshots.StateObject state, androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method @kotlin.PublishedApi internal static inline <T> T! sync(kotlin.jvm.functions.Function0<? extends T> block);
+ method public static inline <T extends androidx.compose.runtime.snapshots.StateRecord, R> R! withCurrent(T, kotlin.jvm.functions.Function1<? super T,? extends R> block);
+ method public static inline <T extends androidx.compose.runtime.snapshots.StateRecord, R> R! writable(T, androidx.compose.runtime.snapshots.StateObject state, androidx.compose.runtime.snapshots.Snapshot snapshot, kotlin.jvm.functions.Function1<? super T,? extends R> block);
+ method public static inline <T extends androidx.compose.runtime.snapshots.StateRecord, R> R! writable(T, androidx.compose.runtime.snapshots.StateObject state, kotlin.jvm.functions.Function1<? super T,? extends R> block);
+ method @kotlin.PublishedApi internal static <T extends androidx.compose.runtime.snapshots.StateRecord> T writableRecord(T, androidx.compose.runtime.snapshots.StateObject state, androidx.compose.runtime.snapshots.Snapshot snapshot);
+ field @kotlin.PublishedApi internal static final Object lock;
+ field @kotlin.PublishedApi internal static final androidx.compose.runtime.snapshots.Snapshot snapshotInitializer;
+ }
+
+ public interface SnapshotMutableState<T> extends androidx.compose.runtime.MutableState<T> {
+ method public androidx.compose.runtime.SnapshotMutationPolicy<T> getPolicy();
+ property public abstract androidx.compose.runtime.SnapshotMutationPolicy<T> policy;
+ }
+
+ @androidx.compose.runtime.Stable public final class SnapshotStateList<T> implements kotlin.jvm.internal.markers.KMutableList java.util.List<T> androidx.compose.runtime.snapshots.StateObject {
+ ctor public SnapshotStateList();
+ method public boolean add(T? element);
+ method public void add(int index, T? element);
+ method public boolean addAll(int index, java.util.Collection<? extends T> elements);
+ method public boolean addAll(java.util.Collection<? extends T> elements);
+ method public void clear();
+ method public boolean contains(Object? element);
+ method public boolean containsAll(java.util.Collection<?> elements);
+ method public T! get(int index);
+ method public androidx.compose.runtime.snapshots.StateRecord getFirstStateRecord();
+ method public int getSize();
+ method public int indexOf(Object? element);
+ method public boolean isEmpty();
+ method public java.util.Iterator<T> iterator();
+ method public int lastIndexOf(Object? element);
+ method public java.util.ListIterator<T> listIterator();
+ method public java.util.ListIterator<T> listIterator(int index);
+ method public void prependStateRecord(androidx.compose.runtime.snapshots.StateRecord value);
+ method public boolean remove(Object? element);
+ method public boolean removeAll(java.util.Collection<?> elements);
+ method public T! removeAt(int index);
+ method public void removeRange(int fromIndex, int toIndex);
+ method public boolean retainAll(java.util.Collection<?> elements);
+ method public T! set(int index, T? element);
+ method public java.util.List<T> subList(int fromIndex, int toIndex);
+ property public androidx.compose.runtime.snapshots.StateRecord firstStateRecord;
+ property public int size;
+ }
+
+ public final class SnapshotStateListKt {
+ }
+
+ @androidx.compose.runtime.Stable public final class SnapshotStateMap<K, V> implements kotlin.jvm.internal.markers.KMutableMap java.util.Map<K,V> androidx.compose.runtime.snapshots.StateObject {
+ ctor public SnapshotStateMap();
+ method public void clear();
+ method public boolean containsKey(Object? key);
+ method public boolean containsValue(Object? value);
+ method public V? get(Object? key);
+ method public java.util.Set<java.util.Map.Entry<K,V>> getEntries();
+ method public androidx.compose.runtime.snapshots.StateRecord getFirstStateRecord();
+ method public java.util.Set<K> getKeys();
+ method public int getSize();
+ method public java.util.Collection<V> getValues();
+ method public boolean isEmpty();
+ method public void prependStateRecord(androidx.compose.runtime.snapshots.StateRecord value);
+ method public V? put(K? key, V? value);
+ method public void putAll(java.util.Map<? extends K,? extends V> from);
+ method public V? remove(Object? key);
+ property public java.util.Set<java.util.Map.Entry<K,V>> entries;
+ property public androidx.compose.runtime.snapshots.StateRecord firstStateRecord;
+ property public java.util.Set<K> keys;
+ property public int size;
+ property public java.util.Collection<V> values;
+ }
+
+ public final class SnapshotStateMapKt {
+ }
+
+ public final class SnapshotStateObserver {
+ ctor public SnapshotStateObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> onChangedExecutor);
+ method public void clear(Object scope);
+ method public void clear();
+ method public void clearIf(kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Boolean> predicate);
+ method @org.jetbrains.annotations.TestOnly public void notifyChanges(java.util.Set<?> changes, androidx.compose.runtime.snapshots.Snapshot snapshot);
+ method public <T> void observeReads(T scope, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onValueChangedForScope, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ method public void start();
+ method public void stop();
+ method public void withNoObservations(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ }
+
+ public interface StateObject {
+ method public androidx.compose.runtime.snapshots.StateRecord getFirstStateRecord();
+ method public default androidx.compose.runtime.snapshots.StateRecord? mergeRecords(androidx.compose.runtime.snapshots.StateRecord previous, androidx.compose.runtime.snapshots.StateRecord current, androidx.compose.runtime.snapshots.StateRecord applied);
+ method public void prependStateRecord(androidx.compose.runtime.snapshots.StateRecord value);
+ property public abstract androidx.compose.runtime.snapshots.StateRecord firstStateRecord;
+ }
+
+ public abstract class StateRecord {
+ ctor public StateRecord();
+ method public abstract void assign(androidx.compose.runtime.snapshots.StateRecord value);
+ method public abstract androidx.compose.runtime.snapshots.StateRecord create();
+ }
+
+}
+
+package androidx.compose.runtime.tooling {
+
+ public interface CompositionData {
+ method public Iterable<androidx.compose.runtime.tooling.CompositionGroup> getCompositionGroups();
+ method public boolean isEmpty();
+ property public abstract Iterable<androidx.compose.runtime.tooling.CompositionGroup> compositionGroups;
+ property public abstract boolean isEmpty;
+ }
+
+ public interface CompositionGroup extends androidx.compose.runtime.tooling.CompositionData {
+ method public Iterable<java.lang.Object> getData();
+ method public Object getKey();
+ method public Object? getNode();
+ method public String? getSourceInfo();
+ property public abstract Iterable<java.lang.Object> data;
+ property public abstract Object key;
+ property public abstract Object? node;
+ property public abstract String? sourceInfo;
+ }
+
+ public final class InspectionTablesKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<java.util.Set<androidx.compose.runtime.tooling.CompositionData>> getLocalInspectionTables();
+ }
+
+}
+
diff --git a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeVersion.kt b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeVersion.kt
index b90cc9a..78b5389 100644
--- a/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeVersion.kt
+++ b/compose/runtime/runtime/src/commonMain/kotlin/androidx/compose/runtime/ComposeVersion.kt
@@ -28,5 +28,5 @@
* IMPORTANT: Whenever updating this value, please make sure to also update `versionTable` and
* `minimumRuntimeVersionInt` in `VersionChecker.kt` of the compiler.
*/
- const val version: Int = 3000
+ const val version: Int = 3100
}
diff --git a/compose/ui/ui-android-stubs/api/1.0.0-beta10.txt b/compose/ui/ui-android-stubs/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..db6e322
--- /dev/null
+++ b/compose/ui/ui-android-stubs/api/1.0.0-beta10.txt
@@ -0,0 +1,73 @@
+// Signature format: 4.0
+package android.view {
+
+ public final class DisplayListCanvas extends android.graphics.Canvas {
+ ctor public DisplayListCanvas();
+ method public void drawRenderNode(android.view.RenderNode);
+ }
+
+ public class RenderNode {
+ method public static android.view.RenderNode create(String?, android.view.View?);
+ method public void destroy();
+ method public void discardDisplayList();
+ method public void end(android.view.DisplayListCanvas);
+ method public float getAlpha();
+ method public float getCameraDistance();
+ method public boolean getClipToOutline();
+ method public float getElevation();
+ method public void getInverseMatrix(android.graphics.Matrix);
+ method public void getMatrix(android.graphics.Matrix);
+ method public float getPivotX();
+ method public float getPivotY();
+ method public float getRotation();
+ method public float getRotationX();
+ method public float getRotationY();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public float getTranslationZ();
+ method public boolean hasIdentityMatrix();
+ method public boolean hasOverlappingRendering();
+ method public boolean hasShadow();
+ method public boolean isAttached();
+ method public boolean isPivotExplicitlySet();
+ method public boolean isValid();
+ method public boolean offsetLeftAndRight(int);
+ method public boolean offsetTopAndBottom(int);
+ method public void output();
+ method public boolean setAlpha(float);
+ method public boolean setAnimationMatrix(android.graphics.Matrix);
+ method public boolean setBottom(int);
+ method public boolean setCameraDistance(float);
+ method public boolean setClipBounds(android.graphics.Rect?);
+ method public boolean setClipToBounds(boolean);
+ method public boolean setClipToOutline(boolean);
+ method public boolean setElevation(float);
+ method public boolean setHasOverlappingRendering(boolean);
+ method public boolean setLayerPaint(android.graphics.Paint?);
+ method public boolean setLayerType(int);
+ method public boolean setLeft(int);
+ method public boolean setLeftTopRightBottom(int, int, int, int);
+ method public boolean setOutline(android.graphics.Outline?);
+ method public boolean setPivotX(float);
+ method public boolean setPivotY(float);
+ method public boolean setProjectBackwards(boolean);
+ method public boolean setProjectionReceiver(boolean);
+ method public boolean setRevealClip(boolean, float, float, float);
+ method public boolean setRight(int);
+ method public boolean setRotation(float);
+ method public boolean setRotationX(float);
+ method public boolean setRotationY(float);
+ method public boolean setScaleX(float);
+ method public boolean setScaleY(float);
+ method public boolean setStaticMatrix(android.graphics.Matrix);
+ method public boolean setTop(int);
+ method public boolean setTranslationX(float);
+ method public boolean setTranslationY(float);
+ method public boolean setTranslationZ(float);
+ method public android.view.DisplayListCanvas start(int, int);
+ }
+
+}
+
diff --git a/compose/ui/ui-android-stubs/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-android-stubs/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..db6e322
--- /dev/null
+++ b/compose/ui/ui-android-stubs/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,73 @@
+// Signature format: 4.0
+package android.view {
+
+ public final class DisplayListCanvas extends android.graphics.Canvas {
+ ctor public DisplayListCanvas();
+ method public void drawRenderNode(android.view.RenderNode);
+ }
+
+ public class RenderNode {
+ method public static android.view.RenderNode create(String?, android.view.View?);
+ method public void destroy();
+ method public void discardDisplayList();
+ method public void end(android.view.DisplayListCanvas);
+ method public float getAlpha();
+ method public float getCameraDistance();
+ method public boolean getClipToOutline();
+ method public float getElevation();
+ method public void getInverseMatrix(android.graphics.Matrix);
+ method public void getMatrix(android.graphics.Matrix);
+ method public float getPivotX();
+ method public float getPivotY();
+ method public float getRotation();
+ method public float getRotationX();
+ method public float getRotationY();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public float getTranslationZ();
+ method public boolean hasIdentityMatrix();
+ method public boolean hasOverlappingRendering();
+ method public boolean hasShadow();
+ method public boolean isAttached();
+ method public boolean isPivotExplicitlySet();
+ method public boolean isValid();
+ method public boolean offsetLeftAndRight(int);
+ method public boolean offsetTopAndBottom(int);
+ method public void output();
+ method public boolean setAlpha(float);
+ method public boolean setAnimationMatrix(android.graphics.Matrix);
+ method public boolean setBottom(int);
+ method public boolean setCameraDistance(float);
+ method public boolean setClipBounds(android.graphics.Rect?);
+ method public boolean setClipToBounds(boolean);
+ method public boolean setClipToOutline(boolean);
+ method public boolean setElevation(float);
+ method public boolean setHasOverlappingRendering(boolean);
+ method public boolean setLayerPaint(android.graphics.Paint?);
+ method public boolean setLayerType(int);
+ method public boolean setLeft(int);
+ method public boolean setLeftTopRightBottom(int, int, int, int);
+ method public boolean setOutline(android.graphics.Outline?);
+ method public boolean setPivotX(float);
+ method public boolean setPivotY(float);
+ method public boolean setProjectBackwards(boolean);
+ method public boolean setProjectionReceiver(boolean);
+ method public boolean setRevealClip(boolean, float, float, float);
+ method public boolean setRight(int);
+ method public boolean setRotation(float);
+ method public boolean setRotationX(float);
+ method public boolean setRotationY(float);
+ method public boolean setScaleX(float);
+ method public boolean setScaleY(float);
+ method public boolean setStaticMatrix(android.graphics.Matrix);
+ method public boolean setTop(int);
+ method public boolean setTranslationX(float);
+ method public boolean setTranslationY(float);
+ method public boolean setTranslationZ(float);
+ method public android.view.DisplayListCanvas start(int, int);
+ }
+
+}
+
diff --git a/compose/ui/ui-android-stubs/api/res-1.0.0-beta10.txt b/compose/ui/ui-android-stubs/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-android-stubs/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-android-stubs/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-android-stubs/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..db6e322
--- /dev/null
+++ b/compose/ui/ui-android-stubs/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,73 @@
+// Signature format: 4.0
+package android.view {
+
+ public final class DisplayListCanvas extends android.graphics.Canvas {
+ ctor public DisplayListCanvas();
+ method public void drawRenderNode(android.view.RenderNode);
+ }
+
+ public class RenderNode {
+ method public static android.view.RenderNode create(String?, android.view.View?);
+ method public void destroy();
+ method public void discardDisplayList();
+ method public void end(android.view.DisplayListCanvas);
+ method public float getAlpha();
+ method public float getCameraDistance();
+ method public boolean getClipToOutline();
+ method public float getElevation();
+ method public void getInverseMatrix(android.graphics.Matrix);
+ method public void getMatrix(android.graphics.Matrix);
+ method public float getPivotX();
+ method public float getPivotY();
+ method public float getRotation();
+ method public float getRotationX();
+ method public float getRotationY();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public float getTranslationZ();
+ method public boolean hasIdentityMatrix();
+ method public boolean hasOverlappingRendering();
+ method public boolean hasShadow();
+ method public boolean isAttached();
+ method public boolean isPivotExplicitlySet();
+ method public boolean isValid();
+ method public boolean offsetLeftAndRight(int);
+ method public boolean offsetTopAndBottom(int);
+ method public void output();
+ method public boolean setAlpha(float);
+ method public boolean setAnimationMatrix(android.graphics.Matrix);
+ method public boolean setBottom(int);
+ method public boolean setCameraDistance(float);
+ method public boolean setClipBounds(android.graphics.Rect?);
+ method public boolean setClipToBounds(boolean);
+ method public boolean setClipToOutline(boolean);
+ method public boolean setElevation(float);
+ method public boolean setHasOverlappingRendering(boolean);
+ method public boolean setLayerPaint(android.graphics.Paint?);
+ method public boolean setLayerType(int);
+ method public boolean setLeft(int);
+ method public boolean setLeftTopRightBottom(int, int, int, int);
+ method public boolean setOutline(android.graphics.Outline?);
+ method public boolean setPivotX(float);
+ method public boolean setPivotY(float);
+ method public boolean setProjectBackwards(boolean);
+ method public boolean setProjectionReceiver(boolean);
+ method public boolean setRevealClip(boolean, float, float, float);
+ method public boolean setRight(int);
+ method public boolean setRotation(float);
+ method public boolean setRotationX(float);
+ method public boolean setRotationY(float);
+ method public boolean setScaleX(float);
+ method public boolean setScaleY(float);
+ method public boolean setStaticMatrix(android.graphics.Matrix);
+ method public boolean setTop(int);
+ method public boolean setTranslationX(float);
+ method public boolean setTranslationY(float);
+ method public boolean setTranslationZ(float);
+ method public android.view.DisplayListCanvas start(int, int);
+ }
+
+}
+
diff --git a/compose/ui/ui-geometry/api/1.0.0-beta10.txt b/compose/ui/ui-geometry/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..60e5f28
--- /dev/null
+++ b/compose/ui/ui-geometry/api/1.0.0-beta10.txt
@@ -0,0 +1,280 @@
+// Signature format: 4.0
+package androidx.compose.ui.geometry {
+
+ @androidx.compose.runtime.Immutable public final inline class CornerRadius {
+ ctor public CornerRadius();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-kKHJgLs(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Stable public static operator long div-kKHJgLs(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-impl(long $this);
+ method public static float getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long minus-wNNjKcU(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long plus-wNNjKcU(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long times-kKHJgLs(long $this, float operand);
+ method public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long unaryMinus-kKHJgLs(long $this);
+ field public static final androidx.compose.ui.geometry.CornerRadius.Companion Companion;
+ }
+
+ public static final class CornerRadius.Companion {
+ method public long getZero-kKHJgLs();
+ property public final long Zero;
+ }
+
+ public final class CornerRadiusKt {
+ method @androidx.compose.runtime.Stable public static long CornerRadius(float x, optional float y);
+ method @androidx.compose.runtime.Stable public static long lerp-LCIZJP8(long start, long stop, float fraction);
+ }
+
+ public final class GeometryUtilsKt {
+ }
+
+ public final class MutableRect {
+ ctor public MutableRect(float left, float top, float right, float bottom);
+ method public boolean contains-k-4lQ0M(long offset);
+ method public float getBottom();
+ method public inline float getHeight();
+ method public float getLeft();
+ method public float getRight();
+ method public long getSize-NH-jbRc();
+ method public float getTop();
+ method public inline float getWidth();
+ method @androidx.compose.runtime.Stable public void intersect(float left, float top, float right, float bottom);
+ method public boolean isEmpty();
+ method public void set(float left, float top, float right, float bottom);
+ method public void setBottom(float p);
+ method public void setLeft(float p);
+ method public void setRight(float p);
+ method public void setTop(float p);
+ property public final float bottom;
+ property public final inline float height;
+ property public final boolean isEmpty;
+ property public final float left;
+ property public final float right;
+ property public final long size;
+ property public final float top;
+ property public final inline float width;
+ }
+
+ public final class MutableRectKt {
+ method public static androidx.compose.ui.geometry.Rect toRect(androidx.compose.ui.geometry.MutableRect);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Offset {
+ ctor public Offset();
+ method @androidx.compose.runtime.Stable public static operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component2-impl(long $this);
+ method public static long copy-F1C5BW0(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Stable public static operator long div-F1C5BW0(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method @androidx.compose.runtime.Stable public static float getDistance-impl(long $this);
+ method @androidx.compose.runtime.Stable public static float getDistanceSquared-impl(long $this);
+ method public static float getX-impl(long $this);
+ method public static float getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static boolean isValid-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long minus-k-4lQ0M(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long plus-k-4lQ0M(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long rem-F1C5BW0(long $this, float operand);
+ method @androidx.compose.runtime.Stable public static operator long times-F1C5BW0(long $this, float operand);
+ method public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long unaryMinus-F1C5BW0(long $this);
+ field public static final androidx.compose.ui.geometry.Offset.Companion Companion;
+ }
+
+ public static final class Offset.Companion {
+ method public long getInfinite-F1C5BW0();
+ method public long getUnspecified-F1C5BW0();
+ method public long getZero-F1C5BW0();
+ property public final long Infinite;
+ property public final long Unspecified;
+ property public final long Zero;
+ }
+
+ public final class OffsetKt {
+ method @androidx.compose.runtime.Stable public static long Offset(float x, float y);
+ method public static boolean isFinite-k-4lQ0M(long);
+ method public static boolean isSpecified-k-4lQ0M(long);
+ method public static boolean isUnspecified-k-4lQ0M(long);
+ method @androidx.compose.runtime.Stable public static long lerp-tX6QBWo(long start, long stop, float fraction);
+ method public static inline long takeOrElse-Yy5JL0A(long, kotlin.jvm.functions.Function0<androidx.compose.ui.geometry.Offset> block);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Rect {
+ ctor public Rect(@androidx.compose.runtime.Stable float left, @androidx.compose.runtime.Stable float top, @androidx.compose.runtime.Stable float right, @androidx.compose.runtime.Stable float bottom);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public boolean contains-k-4lQ0M(long offset);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.geometry.Rect copy(float left, float top, float right, float bottom);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect deflate(float delta);
+ method public float getBottom();
+ method public long getBottomCenter-F1C5BW0();
+ method public long getBottomLeft-F1C5BW0();
+ method public long getBottomRight-F1C5BW0();
+ method public long getCenter-F1C5BW0();
+ method public long getCenterLeft-F1C5BW0();
+ method public long getCenterRight-F1C5BW0();
+ method public float getHeight();
+ method public float getLeft();
+ method public float getMaxDimension();
+ method public float getMinDimension();
+ method public float getRight();
+ method public long getSize-NH-jbRc();
+ method public float getTop();
+ method public long getTopCenter-F1C5BW0();
+ method public long getTopLeft-F1C5BW0();
+ method public long getTopRight-F1C5BW0();
+ method public float getWidth();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect inflate(float delta);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect intersect(androidx.compose.ui.geometry.Rect other);
+ method public boolean isEmpty();
+ method public boolean isFinite();
+ method public boolean isInfinite();
+ method public boolean overlaps(androidx.compose.ui.geometry.Rect other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect translate(float translateX, float translateY);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect translate-k-4lQ0M(long offset);
+ property public final float bottom;
+ property public final long bottomCenter;
+ property public final long bottomLeft;
+ property public final long bottomRight;
+ property public final long center;
+ property public final long centerLeft;
+ property public final long centerRight;
+ property public final float height;
+ property public final boolean isEmpty;
+ property public final boolean isFinite;
+ property public final boolean isInfinite;
+ property public final float left;
+ property public final float maxDimension;
+ property public final float minDimension;
+ property public final float right;
+ property public final long size;
+ property public final float top;
+ property public final long topCenter;
+ property public final long topLeft;
+ property public final long topRight;
+ property public final float width;
+ field public static final androidx.compose.ui.geometry.Rect.Companion Companion;
+ }
+
+ public static final class Rect.Companion {
+ method public androidx.compose.ui.geometry.Rect getZero();
+ property public final androidx.compose.ui.geometry.Rect Zero;
+ }
+
+ public final class RectKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect Rect-FZVz7gs(long topLeft, long bottomRight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect Rect-MQFEXWE(long center, float radius);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect Rect-MrV732k(long offset, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect lerp(androidx.compose.ui.geometry.Rect start, androidx.compose.ui.geometry.Rect stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class RoundRect {
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public long component5-kKHJgLs();
+ method public long component6-kKHJgLs();
+ method public long component7-kKHJgLs();
+ method public long component8-kKHJgLs();
+ method public boolean contains-k-4lQ0M(long point);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.geometry.RoundRect copy-snQPIwc(float left, float top, float right, float bottom, long topLeftCornerRadius, long topRightCornerRadius, long bottomRightCornerRadius, long bottomLeftCornerRadius);
+ method public float getBottom();
+ method public long getBottomLeftCornerRadius-kKHJgLs();
+ method public long getBottomRightCornerRadius-kKHJgLs();
+ method public float getHeight();
+ method public float getLeft();
+ method public float getRight();
+ method public float getTop();
+ method public long getTopLeftCornerRadius-kKHJgLs();
+ method public long getTopRightCornerRadius-kKHJgLs();
+ method public float getWidth();
+ method public static androidx.compose.ui.geometry.RoundRect getZero();
+ property public final float bottom;
+ property public final long bottomLeftCornerRadius;
+ property public final long bottomRightCornerRadius;
+ property public final float height;
+ property public final float left;
+ property public final float right;
+ property public final float top;
+ property public final long topLeftCornerRadius;
+ property public final long topRightCornerRadius;
+ property public final float width;
+ field public static final androidx.compose.ui.geometry.RoundRect.Companion Companion;
+ }
+
+ public static final class RoundRect.Companion {
+ method public androidx.compose.ui.geometry.RoundRect getZero();
+ property public final androidx.compose.ui.geometry.RoundRect Zero;
+ }
+
+ public final class RoundRectKt {
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect(float left, float top, float right, float bottom, float radiusX, float radiusY);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect(androidx.compose.ui.geometry.Rect rect, float radiusX, float radiusY);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect--YCCMLI(androidx.compose.ui.geometry.Rect rect, optional long topLeft, optional long topRight, optional long bottomRight, optional long bottomLeft);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect-fCQrIv8(float left, float top, float right, float bottom, long cornerRadius);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect-v2DAv8c(androidx.compose.ui.geometry.Rect rect, long cornerRadius);
+ method public static androidx.compose.ui.geometry.Rect getBoundingRect(androidx.compose.ui.geometry.RoundRect);
+ method public static long getCenter(androidx.compose.ui.geometry.RoundRect);
+ method public static float getMaxDimension(androidx.compose.ui.geometry.RoundRect);
+ method public static float getMinDimension(androidx.compose.ui.geometry.RoundRect);
+ method public static androidx.compose.ui.geometry.Rect getSafeInnerRect(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isCircle(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isEllipse(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isEmpty(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isFinite(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isRect(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isSimple(androidx.compose.ui.geometry.RoundRect);
+ method public static androidx.compose.ui.geometry.RoundRect lerp(androidx.compose.ui.geometry.RoundRect start, androidx.compose.ui.geometry.RoundRect stop, float fraction);
+ method public static androidx.compose.ui.geometry.RoundRect translate-cBI5anY(androidx.compose.ui.geometry.RoundRect, long offset);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Size {
+ ctor public Size();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-NH-jbRc(long $this, optional float width, optional float height);
+ method @androidx.compose.runtime.Stable public static operator long div-NH-jbRc(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getHeight-impl(long $this);
+ method public static float getMaxDimension-impl(long $this);
+ method public static float getMinDimension-impl(long $this);
+ method public static float getWidth-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static boolean isEmpty-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long times-NH-jbRc(long $this, float operand);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.geometry.Size.Companion Companion;
+ }
+
+ public static final class Size.Companion {
+ method public long getUnspecified-NH-jbRc();
+ method public long getZero-NH-jbRc();
+ property public final long Unspecified;
+ property public final long Zero;
+ }
+
+ public final class SizeKt {
+ method @androidx.compose.runtime.Stable public static long Size(float width, float height);
+ method public static long getCenter-uvyYCjk(long);
+ method public static inline boolean isSpecified-uvyYCjk(long);
+ method public static inline boolean isUnspecified-uvyYCjk(long);
+ method @androidx.compose.runtime.Stable public static long lerp-3tf5JpU(long start, long stop, float fraction);
+ method public static inline long takeOrElse-GR1djXE(long, kotlin.jvm.functions.Function0<androidx.compose.ui.geometry.Size> block);
+ method @androidx.compose.runtime.Stable public static inline operator long times-2DtskRk(float, long size);
+ method @androidx.compose.runtime.Stable public static inline operator long times-B9jgaKk(double, long size);
+ method @androidx.compose.runtime.Stable public static inline operator long times-cEP68aU(int, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect toRect-uvyYCjk(long);
+ }
+
+}
+
diff --git a/compose/ui/ui-geometry/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-geometry/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..60e5f28
--- /dev/null
+++ b/compose/ui/ui-geometry/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,280 @@
+// Signature format: 4.0
+package androidx.compose.ui.geometry {
+
+ @androidx.compose.runtime.Immutable public final inline class CornerRadius {
+ ctor public CornerRadius();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-kKHJgLs(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Stable public static operator long div-kKHJgLs(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-impl(long $this);
+ method public static float getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long minus-wNNjKcU(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long plus-wNNjKcU(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long times-kKHJgLs(long $this, float operand);
+ method public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long unaryMinus-kKHJgLs(long $this);
+ field public static final androidx.compose.ui.geometry.CornerRadius.Companion Companion;
+ }
+
+ public static final class CornerRadius.Companion {
+ method public long getZero-kKHJgLs();
+ property public final long Zero;
+ }
+
+ public final class CornerRadiusKt {
+ method @androidx.compose.runtime.Stable public static long CornerRadius(float x, optional float y);
+ method @androidx.compose.runtime.Stable public static long lerp-LCIZJP8(long start, long stop, float fraction);
+ }
+
+ public final class GeometryUtilsKt {
+ }
+
+ public final class MutableRect {
+ ctor public MutableRect(float left, float top, float right, float bottom);
+ method public boolean contains-k-4lQ0M(long offset);
+ method public float getBottom();
+ method public inline float getHeight();
+ method public float getLeft();
+ method public float getRight();
+ method public long getSize-NH-jbRc();
+ method public float getTop();
+ method public inline float getWidth();
+ method @androidx.compose.runtime.Stable public void intersect(float left, float top, float right, float bottom);
+ method public boolean isEmpty();
+ method public void set(float left, float top, float right, float bottom);
+ method public void setBottom(float p);
+ method public void setLeft(float p);
+ method public void setRight(float p);
+ method public void setTop(float p);
+ property public final float bottom;
+ property public final inline float height;
+ property public final boolean isEmpty;
+ property public final float left;
+ property public final float right;
+ property public final long size;
+ property public final float top;
+ property public final inline float width;
+ }
+
+ public final class MutableRectKt {
+ method public static androidx.compose.ui.geometry.Rect toRect(androidx.compose.ui.geometry.MutableRect);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Offset {
+ ctor public Offset();
+ method @androidx.compose.runtime.Stable public static operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component2-impl(long $this);
+ method public static long copy-F1C5BW0(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Stable public static operator long div-F1C5BW0(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method @androidx.compose.runtime.Stable public static float getDistance-impl(long $this);
+ method @androidx.compose.runtime.Stable public static float getDistanceSquared-impl(long $this);
+ method public static float getX-impl(long $this);
+ method public static float getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static boolean isValid-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long minus-k-4lQ0M(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long plus-k-4lQ0M(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long rem-F1C5BW0(long $this, float operand);
+ method @androidx.compose.runtime.Stable public static operator long times-F1C5BW0(long $this, float operand);
+ method public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long unaryMinus-F1C5BW0(long $this);
+ field public static final androidx.compose.ui.geometry.Offset.Companion Companion;
+ }
+
+ public static final class Offset.Companion {
+ method public long getInfinite-F1C5BW0();
+ method public long getUnspecified-F1C5BW0();
+ method public long getZero-F1C5BW0();
+ property public final long Infinite;
+ property public final long Unspecified;
+ property public final long Zero;
+ }
+
+ public final class OffsetKt {
+ method @androidx.compose.runtime.Stable public static long Offset(float x, float y);
+ method public static boolean isFinite-k-4lQ0M(long);
+ method public static boolean isSpecified-k-4lQ0M(long);
+ method public static boolean isUnspecified-k-4lQ0M(long);
+ method @androidx.compose.runtime.Stable public static long lerp-tX6QBWo(long start, long stop, float fraction);
+ method public static inline long takeOrElse-Yy5JL0A(long, kotlin.jvm.functions.Function0<androidx.compose.ui.geometry.Offset> block);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Rect {
+ ctor public Rect(@androidx.compose.runtime.Stable float left, @androidx.compose.runtime.Stable float top, @androidx.compose.runtime.Stable float right, @androidx.compose.runtime.Stable float bottom);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public boolean contains-k-4lQ0M(long offset);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.geometry.Rect copy(float left, float top, float right, float bottom);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect deflate(float delta);
+ method public float getBottom();
+ method public long getBottomCenter-F1C5BW0();
+ method public long getBottomLeft-F1C5BW0();
+ method public long getBottomRight-F1C5BW0();
+ method public long getCenter-F1C5BW0();
+ method public long getCenterLeft-F1C5BW0();
+ method public long getCenterRight-F1C5BW0();
+ method public float getHeight();
+ method public float getLeft();
+ method public float getMaxDimension();
+ method public float getMinDimension();
+ method public float getRight();
+ method public long getSize-NH-jbRc();
+ method public float getTop();
+ method public long getTopCenter-F1C5BW0();
+ method public long getTopLeft-F1C5BW0();
+ method public long getTopRight-F1C5BW0();
+ method public float getWidth();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect inflate(float delta);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect intersect(androidx.compose.ui.geometry.Rect other);
+ method public boolean isEmpty();
+ method public boolean isFinite();
+ method public boolean isInfinite();
+ method public boolean overlaps(androidx.compose.ui.geometry.Rect other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect translate(float translateX, float translateY);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect translate-k-4lQ0M(long offset);
+ property public final float bottom;
+ property public final long bottomCenter;
+ property public final long bottomLeft;
+ property public final long bottomRight;
+ property public final long center;
+ property public final long centerLeft;
+ property public final long centerRight;
+ property public final float height;
+ property public final boolean isEmpty;
+ property public final boolean isFinite;
+ property public final boolean isInfinite;
+ property public final float left;
+ property public final float maxDimension;
+ property public final float minDimension;
+ property public final float right;
+ property public final long size;
+ property public final float top;
+ property public final long topCenter;
+ property public final long topLeft;
+ property public final long topRight;
+ property public final float width;
+ field public static final androidx.compose.ui.geometry.Rect.Companion Companion;
+ }
+
+ public static final class Rect.Companion {
+ method public androidx.compose.ui.geometry.Rect getZero();
+ property public final androidx.compose.ui.geometry.Rect Zero;
+ }
+
+ public final class RectKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect Rect-FZVz7gs(long topLeft, long bottomRight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect Rect-MQFEXWE(long center, float radius);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect Rect-MrV732k(long offset, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect lerp(androidx.compose.ui.geometry.Rect start, androidx.compose.ui.geometry.Rect stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class RoundRect {
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public long component5-kKHJgLs();
+ method public long component6-kKHJgLs();
+ method public long component7-kKHJgLs();
+ method public long component8-kKHJgLs();
+ method public boolean contains-k-4lQ0M(long point);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.geometry.RoundRect copy-snQPIwc(float left, float top, float right, float bottom, long topLeftCornerRadius, long topRightCornerRadius, long bottomRightCornerRadius, long bottomLeftCornerRadius);
+ method public float getBottom();
+ method public long getBottomLeftCornerRadius-kKHJgLs();
+ method public long getBottomRightCornerRadius-kKHJgLs();
+ method public float getHeight();
+ method public float getLeft();
+ method public float getRight();
+ method public float getTop();
+ method public long getTopLeftCornerRadius-kKHJgLs();
+ method public long getTopRightCornerRadius-kKHJgLs();
+ method public float getWidth();
+ method public static androidx.compose.ui.geometry.RoundRect getZero();
+ property public final float bottom;
+ property public final long bottomLeftCornerRadius;
+ property public final long bottomRightCornerRadius;
+ property public final float height;
+ property public final float left;
+ property public final float right;
+ property public final float top;
+ property public final long topLeftCornerRadius;
+ property public final long topRightCornerRadius;
+ property public final float width;
+ field public static final androidx.compose.ui.geometry.RoundRect.Companion Companion;
+ }
+
+ public static final class RoundRect.Companion {
+ method public androidx.compose.ui.geometry.RoundRect getZero();
+ property public final androidx.compose.ui.geometry.RoundRect Zero;
+ }
+
+ public final class RoundRectKt {
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect(float left, float top, float right, float bottom, float radiusX, float radiusY);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect(androidx.compose.ui.geometry.Rect rect, float radiusX, float radiusY);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect--YCCMLI(androidx.compose.ui.geometry.Rect rect, optional long topLeft, optional long topRight, optional long bottomRight, optional long bottomLeft);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect-fCQrIv8(float left, float top, float right, float bottom, long cornerRadius);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect-v2DAv8c(androidx.compose.ui.geometry.Rect rect, long cornerRadius);
+ method public static androidx.compose.ui.geometry.Rect getBoundingRect(androidx.compose.ui.geometry.RoundRect);
+ method public static long getCenter(androidx.compose.ui.geometry.RoundRect);
+ method public static float getMaxDimension(androidx.compose.ui.geometry.RoundRect);
+ method public static float getMinDimension(androidx.compose.ui.geometry.RoundRect);
+ method public static androidx.compose.ui.geometry.Rect getSafeInnerRect(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isCircle(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isEllipse(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isEmpty(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isFinite(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isRect(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isSimple(androidx.compose.ui.geometry.RoundRect);
+ method public static androidx.compose.ui.geometry.RoundRect lerp(androidx.compose.ui.geometry.RoundRect start, androidx.compose.ui.geometry.RoundRect stop, float fraction);
+ method public static androidx.compose.ui.geometry.RoundRect translate-cBI5anY(androidx.compose.ui.geometry.RoundRect, long offset);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Size {
+ ctor public Size();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-NH-jbRc(long $this, optional float width, optional float height);
+ method @androidx.compose.runtime.Stable public static operator long div-NH-jbRc(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getHeight-impl(long $this);
+ method public static float getMaxDimension-impl(long $this);
+ method public static float getMinDimension-impl(long $this);
+ method public static float getWidth-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static boolean isEmpty-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long times-NH-jbRc(long $this, float operand);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.geometry.Size.Companion Companion;
+ }
+
+ public static final class Size.Companion {
+ method public long getUnspecified-NH-jbRc();
+ method public long getZero-NH-jbRc();
+ property public final long Unspecified;
+ property public final long Zero;
+ }
+
+ public final class SizeKt {
+ method @androidx.compose.runtime.Stable public static long Size(float width, float height);
+ method public static long getCenter-uvyYCjk(long);
+ method public static inline boolean isSpecified-uvyYCjk(long);
+ method public static inline boolean isUnspecified-uvyYCjk(long);
+ method @androidx.compose.runtime.Stable public static long lerp-3tf5JpU(long start, long stop, float fraction);
+ method public static inline long takeOrElse-GR1djXE(long, kotlin.jvm.functions.Function0<androidx.compose.ui.geometry.Size> block);
+ method @androidx.compose.runtime.Stable public static inline operator long times-2DtskRk(float, long size);
+ method @androidx.compose.runtime.Stable public static inline operator long times-B9jgaKk(double, long size);
+ method @androidx.compose.runtime.Stable public static inline operator long times-cEP68aU(int, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect toRect-uvyYCjk(long);
+ }
+
+}
+
diff --git a/compose/ui/ui-geometry/api/res-1.0.0-beta10.txt b/compose/ui/ui-geometry/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-geometry/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-geometry/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-geometry/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..60e5f28
--- /dev/null
+++ b/compose/ui/ui-geometry/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,280 @@
+// Signature format: 4.0
+package androidx.compose.ui.geometry {
+
+ @androidx.compose.runtime.Immutable public final inline class CornerRadius {
+ ctor public CornerRadius();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-kKHJgLs(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Stable public static operator long div-kKHJgLs(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-impl(long $this);
+ method public static float getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long minus-wNNjKcU(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long plus-wNNjKcU(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long times-kKHJgLs(long $this, float operand);
+ method public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long unaryMinus-kKHJgLs(long $this);
+ field public static final androidx.compose.ui.geometry.CornerRadius.Companion Companion;
+ }
+
+ public static final class CornerRadius.Companion {
+ method public long getZero-kKHJgLs();
+ property public final long Zero;
+ }
+
+ public final class CornerRadiusKt {
+ method @androidx.compose.runtime.Stable public static long CornerRadius(float x, optional float y);
+ method @androidx.compose.runtime.Stable public static long lerp-LCIZJP8(long start, long stop, float fraction);
+ }
+
+ public final class GeometryUtilsKt {
+ }
+
+ public final class MutableRect {
+ ctor public MutableRect(float left, float top, float right, float bottom);
+ method public boolean contains-k-4lQ0M(long offset);
+ method public float getBottom();
+ method public inline float getHeight();
+ method public float getLeft();
+ method public float getRight();
+ method public long getSize-NH-jbRc();
+ method public float getTop();
+ method public inline float getWidth();
+ method @androidx.compose.runtime.Stable public void intersect(float left, float top, float right, float bottom);
+ method public boolean isEmpty();
+ method public void set(float left, float top, float right, float bottom);
+ method public void setBottom(float p);
+ method public void setLeft(float p);
+ method public void setRight(float p);
+ method public void setTop(float p);
+ property public final float bottom;
+ property public final inline float height;
+ property public final boolean isEmpty;
+ property public final float left;
+ property public final float right;
+ property public final long size;
+ property public final float top;
+ property public final inline float width;
+ }
+
+ public final class MutableRectKt {
+ method public static androidx.compose.ui.geometry.Rect toRect(androidx.compose.ui.geometry.MutableRect);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Offset {
+ ctor public Offset();
+ method @androidx.compose.runtime.Stable public static operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component2-impl(long $this);
+ method public static long copy-F1C5BW0(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Stable public static operator long div-F1C5BW0(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method @androidx.compose.runtime.Stable public static float getDistance-impl(long $this);
+ method @androidx.compose.runtime.Stable public static float getDistanceSquared-impl(long $this);
+ method public static float getX-impl(long $this);
+ method public static float getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static boolean isValid-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long minus-k-4lQ0M(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long plus-k-4lQ0M(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long rem-F1C5BW0(long $this, float operand);
+ method @androidx.compose.runtime.Stable public static operator long times-F1C5BW0(long $this, float operand);
+ method public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long unaryMinus-F1C5BW0(long $this);
+ field public static final androidx.compose.ui.geometry.Offset.Companion Companion;
+ }
+
+ public static final class Offset.Companion {
+ method public long getInfinite-F1C5BW0();
+ method public long getUnspecified-F1C5BW0();
+ method public long getZero-F1C5BW0();
+ property public final long Infinite;
+ property public final long Unspecified;
+ property public final long Zero;
+ }
+
+ public final class OffsetKt {
+ method @androidx.compose.runtime.Stable public static long Offset(float x, float y);
+ method public static boolean isFinite-k-4lQ0M(long);
+ method public static boolean isSpecified-k-4lQ0M(long);
+ method public static boolean isUnspecified-k-4lQ0M(long);
+ method @androidx.compose.runtime.Stable public static long lerp-tX6QBWo(long start, long stop, float fraction);
+ method public static inline long takeOrElse-Yy5JL0A(long, kotlin.jvm.functions.Function0<androidx.compose.ui.geometry.Offset> block);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Rect {
+ ctor public Rect(@androidx.compose.runtime.Stable float left, @androidx.compose.runtime.Stable float top, @androidx.compose.runtime.Stable float right, @androidx.compose.runtime.Stable float bottom);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public boolean contains-k-4lQ0M(long offset);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.geometry.Rect copy(float left, float top, float right, float bottom);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect deflate(float delta);
+ method public float getBottom();
+ method public long getBottomCenter-F1C5BW0();
+ method public long getBottomLeft-F1C5BW0();
+ method public long getBottomRight-F1C5BW0();
+ method public long getCenter-F1C5BW0();
+ method public long getCenterLeft-F1C5BW0();
+ method public long getCenterRight-F1C5BW0();
+ method public float getHeight();
+ method public float getLeft();
+ method public float getMaxDimension();
+ method public float getMinDimension();
+ method public float getRight();
+ method public long getSize-NH-jbRc();
+ method public float getTop();
+ method public long getTopCenter-F1C5BW0();
+ method public long getTopLeft-F1C5BW0();
+ method public long getTopRight-F1C5BW0();
+ method public float getWidth();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect inflate(float delta);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect intersect(androidx.compose.ui.geometry.Rect other);
+ method public boolean isEmpty();
+ method public boolean isFinite();
+ method public boolean isInfinite();
+ method public boolean overlaps(androidx.compose.ui.geometry.Rect other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect translate(float translateX, float translateY);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.geometry.Rect translate-k-4lQ0M(long offset);
+ property public final float bottom;
+ property public final long bottomCenter;
+ property public final long bottomLeft;
+ property public final long bottomRight;
+ property public final long center;
+ property public final long centerLeft;
+ property public final long centerRight;
+ property public final float height;
+ property public final boolean isEmpty;
+ property public final boolean isFinite;
+ property public final boolean isInfinite;
+ property public final float left;
+ property public final float maxDimension;
+ property public final float minDimension;
+ property public final float right;
+ property public final long size;
+ property public final float top;
+ property public final long topCenter;
+ property public final long topLeft;
+ property public final long topRight;
+ property public final float width;
+ field public static final androidx.compose.ui.geometry.Rect.Companion Companion;
+ }
+
+ public static final class Rect.Companion {
+ method public androidx.compose.ui.geometry.Rect getZero();
+ property public final androidx.compose.ui.geometry.Rect Zero;
+ }
+
+ public final class RectKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect Rect-FZVz7gs(long topLeft, long bottomRight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect Rect-MQFEXWE(long center, float radius);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect Rect-MrV732k(long offset, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect lerp(androidx.compose.ui.geometry.Rect start, androidx.compose.ui.geometry.Rect stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class RoundRect {
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public long component5-kKHJgLs();
+ method public long component6-kKHJgLs();
+ method public long component7-kKHJgLs();
+ method public long component8-kKHJgLs();
+ method public boolean contains-k-4lQ0M(long point);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.geometry.RoundRect copy-snQPIwc(float left, float top, float right, float bottom, long topLeftCornerRadius, long topRightCornerRadius, long bottomRightCornerRadius, long bottomLeftCornerRadius);
+ method public float getBottom();
+ method public long getBottomLeftCornerRadius-kKHJgLs();
+ method public long getBottomRightCornerRadius-kKHJgLs();
+ method public float getHeight();
+ method public float getLeft();
+ method public float getRight();
+ method public float getTop();
+ method public long getTopLeftCornerRadius-kKHJgLs();
+ method public long getTopRightCornerRadius-kKHJgLs();
+ method public float getWidth();
+ method public static androidx.compose.ui.geometry.RoundRect getZero();
+ property public final float bottom;
+ property public final long bottomLeftCornerRadius;
+ property public final long bottomRightCornerRadius;
+ property public final float height;
+ property public final float left;
+ property public final float right;
+ property public final float top;
+ property public final long topLeftCornerRadius;
+ property public final long topRightCornerRadius;
+ property public final float width;
+ field public static final androidx.compose.ui.geometry.RoundRect.Companion Companion;
+ }
+
+ public static final class RoundRect.Companion {
+ method public androidx.compose.ui.geometry.RoundRect getZero();
+ property public final androidx.compose.ui.geometry.RoundRect Zero;
+ }
+
+ public final class RoundRectKt {
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect(float left, float top, float right, float bottom, float radiusX, float radiusY);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect(androidx.compose.ui.geometry.Rect rect, float radiusX, float radiusY);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect--YCCMLI(androidx.compose.ui.geometry.Rect rect, optional long topLeft, optional long topRight, optional long bottomRight, optional long bottomLeft);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect-fCQrIv8(float left, float top, float right, float bottom, long cornerRadius);
+ method public static androidx.compose.ui.geometry.RoundRect RoundRect-v2DAv8c(androidx.compose.ui.geometry.Rect rect, long cornerRadius);
+ method public static androidx.compose.ui.geometry.Rect getBoundingRect(androidx.compose.ui.geometry.RoundRect);
+ method public static long getCenter(androidx.compose.ui.geometry.RoundRect);
+ method public static float getMaxDimension(androidx.compose.ui.geometry.RoundRect);
+ method public static float getMinDimension(androidx.compose.ui.geometry.RoundRect);
+ method public static androidx.compose.ui.geometry.Rect getSafeInnerRect(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isCircle(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isEllipse(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isEmpty(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isFinite(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isRect(androidx.compose.ui.geometry.RoundRect);
+ method public static boolean isSimple(androidx.compose.ui.geometry.RoundRect);
+ method public static androidx.compose.ui.geometry.RoundRect lerp(androidx.compose.ui.geometry.RoundRect start, androidx.compose.ui.geometry.RoundRect stop, float fraction);
+ method public static androidx.compose.ui.geometry.RoundRect translate-cBI5anY(androidx.compose.ui.geometry.RoundRect, long offset);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Size {
+ ctor public Size();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-NH-jbRc(long $this, optional float width, optional float height);
+ method @androidx.compose.runtime.Stable public static operator long div-NH-jbRc(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getHeight-impl(long $this);
+ method public static float getMaxDimension-impl(long $this);
+ method public static float getMinDimension-impl(long $this);
+ method public static float getWidth-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static boolean isEmpty-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long times-NH-jbRc(long $this, float operand);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.geometry.Size.Companion Companion;
+ }
+
+ public static final class Size.Companion {
+ method public long getUnspecified-NH-jbRc();
+ method public long getZero-NH-jbRc();
+ property public final long Unspecified;
+ property public final long Zero;
+ }
+
+ public final class SizeKt {
+ method @androidx.compose.runtime.Stable public static long Size(float width, float height);
+ method public static long getCenter-uvyYCjk(long);
+ method public static inline boolean isSpecified-uvyYCjk(long);
+ method public static inline boolean isUnspecified-uvyYCjk(long);
+ method @androidx.compose.runtime.Stable public static long lerp-3tf5JpU(long start, long stop, float fraction);
+ method public static inline long takeOrElse-GR1djXE(long, kotlin.jvm.functions.Function0<androidx.compose.ui.geometry.Size> block);
+ method @androidx.compose.runtime.Stable public static inline operator long times-2DtskRk(float, long size);
+ method @androidx.compose.runtime.Stable public static inline operator long times-B9jgaKk(double, long size);
+ method @androidx.compose.runtime.Stable public static inline operator long times-cEP68aU(int, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.geometry.Rect toRect-uvyYCjk(long);
+ }
+
+}
+
diff --git a/compose/ui/ui-graphics-lint/build.gradle b/compose/ui/ui-graphics-lint/build.gradle
index 60bcdd1..c379c4b 100644
--- a/compose/ui/ui-graphics-lint/build.gradle
+++ b/compose/ui/ui-graphics-lint/build.gradle
@@ -26,11 +26,12 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly libs.androidLintMinComposeApi
compileOnly(libs.kotlinStdlib)
bundleInside(project(":compose:lint:common"))
+ testImplementation(project(":compose:lint:common-test"))
testImplementation(libs.kotlinStdlib)
testImplementation(libs.androidLint)
testImplementation(libs.androidLintTests)
diff --git a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt
index 2e83a58..16a8216 100644
--- a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt
+++ b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/ColorDetector.kt
@@ -50,7 +50,7 @@
val argument = node.valueArguments.first()
// Ignore non-literal expressions
if (argument !is KotlinULiteralExpression) return
- val argumentText = argument.sourcePsi?.text ?: return
+ val argumentText = argument.sourcePsi.text ?: return
val hexPrefix = "0x"
val hexIndex = argumentText.indexOf(hexPrefix, ignoreCase = true)
// Ignore if this isn't a hex value
diff --git a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/UiGraphicsIssueRegistry.kt b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/UiGraphicsIssueRegistry.kt
index 4d7355d..6b90727 100644
--- a/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/UiGraphicsIssueRegistry.kt
+++ b/compose/ui/ui-graphics-lint/src/main/java/androidx/compose/ui/graphics/lint/UiGraphicsIssueRegistry.kt
@@ -17,6 +17,7 @@
package androidx.compose.ui.graphics.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -30,4 +31,9 @@
ColorDetector.MissingColorAlphaChannel,
ColorDetector.InvalidColorHexValue
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.ui.graphics",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ApiLintVersionsTest.kt b/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ApiLintVersionsTest.kt
index ebfed874..e3f2599 100644
--- a/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ApiLintVersionsTest.kt
+++ b/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = UiGraphicsIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ColorDetectorTest.kt b/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ColorDetectorTest.kt
index e9068c3..c12d4b1 100644
--- a/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ColorDetectorTest.kt
+++ b/compose/ui/ui-graphics-lint/src/test/java/androidx/compose/ui/graphics/lint/ColorDetectorTest.kt
@@ -18,7 +18,7 @@
package androidx.compose.ui.graphics.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -61,7 +61,7 @@
val color4 = Color(0x00_00_00L)
"""
),
- kotlin(Stubs.Color)
+ Stubs.Color
)
.run()
.expect(
@@ -124,7 +124,7 @@
val color3 = Color(0x00_0_0_0L)
"""
),
- kotlin(Stubs.Color)
+ Stubs.Color
)
.run()
.expect(
@@ -176,7 +176,7 @@
val color14 = Color(Random.nextLong())
"""
),
- kotlin(Stubs.Color)
+ Stubs.Color
)
.run()
.expectClean()
diff --git a/compose/ui/ui-graphics/api/1.0.0-beta10.txt b/compose/ui/ui-graphics/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..587aad3
--- /dev/null
+++ b/compose/ui/ui-graphics/api/1.0.0-beta10.txt
@@ -0,0 +1,1644 @@
+// Signature format: 4.0
+package androidx.compose.ui.graphics {
+
+ public final class AndroidBlendMode_androidKt {
+ method public static boolean isSupported-s9anfk8(int);
+ }
+
+ public final class AndroidCanvas_androidKt {
+ method public static androidx.compose.ui.graphics.Canvas Canvas(android.graphics.Canvas c);
+ method public static android.graphics.Canvas getNativeCanvas(androidx.compose.ui.graphics.Canvas);
+ }
+
+ public final class AndroidColorFilter_androidKt {
+ method public static android.graphics.ColorFilter asAndroidColorFilter(androidx.compose.ui.graphics.ColorFilter);
+ method public static androidx.compose.ui.graphics.ColorFilter asComposeColorFilter(android.graphics.ColorFilter);
+ }
+
+ public final class AndroidImageBitmap_androidKt {
+ method public static android.graphics.Bitmap asAndroidBitmap(androidx.compose.ui.graphics.ImageBitmap);
+ method public static androidx.compose.ui.graphics.ImageBitmap asImageBitmap(android.graphics.Bitmap);
+ }
+
+ public final class AndroidMatrixConversions_androidKt {
+ method public static void setFrom-7lL006A(float[], android.graphics.Matrix matrix);
+ method public static void setFrom-8AuSnpc(android.graphics.Matrix, float[] matrix);
+ }
+
+ public final class AndroidPaint implements androidx.compose.ui.graphics.Paint {
+ ctor public AndroidPaint();
+ method public android.graphics.Paint asFrameworkPaint();
+ method public float getAlpha();
+ method public int getBlendMode-0nO6VwU();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.graphics.ColorFilter? getColorFilter();
+ method public int getFilterQuality-f-v9h1I();
+ method public androidx.compose.ui.graphics.PathEffect? getPathEffect();
+ method public android.graphics.Shader? getShader();
+ method public int getStrokeCap-KaPHkGw();
+ method public int getStrokeJoin-LxFBmk8();
+ method public float getStrokeMiterLimit();
+ method public float getStrokeWidth();
+ method public int getStyle-TiuSbCo();
+ method public boolean isAntiAlias();
+ method public void setAlpha(float value);
+ method public void setAntiAlias(boolean value);
+ method public void setBlendMode-s9anfk8(int value);
+ method public void setColor-8_81llA(long color);
+ method public void setColorFilter(androidx.compose.ui.graphics.ColorFilter? value);
+ method public void setFilterQuality-vDHp3xo(int value);
+ method public void setPathEffect(androidx.compose.ui.graphics.PathEffect? value);
+ method public void setShader(android.graphics.Shader? value);
+ method public void setStrokeCap-BeK7IIE(int value);
+ method public void setStrokeJoin-Ww9F2mQ(int value);
+ method public void setStrokeMiterLimit(float value);
+ method public void setStrokeWidth(float value);
+ method public void setStyle-k9PVt8s(int value);
+ property public float alpha;
+ property public int blendMode;
+ property public long color;
+ property public androidx.compose.ui.graphics.ColorFilter? colorFilter;
+ property public int filterQuality;
+ property public boolean isAntiAlias;
+ property public androidx.compose.ui.graphics.PathEffect? pathEffect;
+ property public android.graphics.Shader? shader;
+ property public int strokeCap;
+ property public int strokeJoin;
+ property public float strokeMiterLimit;
+ property public float strokeWidth;
+ property public int style;
+ }
+
+ public final class AndroidPaint_androidKt {
+ method public static androidx.compose.ui.graphics.Paint Paint();
+ }
+
+ public final class AndroidPath implements androidx.compose.ui.graphics.Path {
+ ctor public AndroidPath(optional android.graphics.Path internalPath);
+ method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
+ method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
+ method public void addOval(androidx.compose.ui.geometry.Rect oval);
+ method public void addPath-ej0GBII(androidx.compose.ui.graphics.Path path, long offset);
+ method public void addRect(androidx.compose.ui.geometry.Rect rect);
+ method public void addRoundRect(androidx.compose.ui.geometry.RoundRect roundRect);
+ method public void arcTo(androidx.compose.ui.geometry.Rect rect, float startAngleDegrees, float sweepAngleDegrees, boolean forceMoveTo);
+ method public void close();
+ method public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public int getFillType-Rg-k1Os();
+ method public android.graphics.Path getInternalPath();
+ method public boolean isConvex();
+ method public boolean isEmpty();
+ method public void lineTo(float x, float y);
+ method public void moveTo(float x, float y);
+ method public boolean op-xiGExi0(androidx.compose.ui.graphics.Path path1, androidx.compose.ui.graphics.Path path2, int operation);
+ method public void quadraticBezierTo(float x1, float y1, float x2, float y2);
+ method public void relativeCubicTo(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public void relativeLineTo(float dx, float dy);
+ method public void relativeMoveTo(float dx, float dy);
+ method public void relativeQuadraticBezierTo(float dx1, float dy1, float dx2, float dy2);
+ method public void reset();
+ method public void setFillType-oQ8Xj4U(int value);
+ method public void translate-k-4lQ0M(long offset);
+ property public int fillType;
+ property public final android.graphics.Path internalPath;
+ property public boolean isConvex;
+ property public boolean isEmpty;
+ }
+
+ public final class AndroidPathEffect_androidKt {
+ method public static android.graphics.PathEffect asAndroidPathEffect(androidx.compose.ui.graphics.PathEffect);
+ method public static androidx.compose.ui.graphics.PathEffect toComposePathEffect(android.graphics.PathEffect);
+ }
+
+ public final class AndroidPathMeasure implements androidx.compose.ui.graphics.PathMeasure {
+ method public float getLength();
+ method public boolean getSegment(float startDistance, float stopDistance, androidx.compose.ui.graphics.Path destination, boolean startWithMoveTo);
+ method public void setPath(androidx.compose.ui.graphics.Path? path, boolean forceClosed);
+ property public float length;
+ }
+
+ public final class AndroidPathMeasure_androidKt {
+ method public static androidx.compose.ui.graphics.PathMeasure PathMeasure();
+ }
+
+ public final class AndroidPath_androidKt {
+ method public static androidx.compose.ui.graphics.Path Path();
+ method public static inline android.graphics.Path asAndroidPath(androidx.compose.ui.graphics.Path);
+ method public static androidx.compose.ui.graphics.Path asComposePath(android.graphics.Path);
+ }
+
+ public final class AndroidShader_androidKt {
+ }
+
+ public final class AndroidTileMode_androidKt {
+ method public static android.graphics.Shader.TileMode toAndroidTileMode-0vamqd0(int);
+ }
+
+ public final class AndroidVertexMode_androidKt {
+ method public static android.graphics.Canvas.VertexMode toAndroidVertexMode-JOOmi9M(int);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class BlendMode {
+ ctor public BlendMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.BlendMode.Companion Companion;
+ }
+
+ public static final class BlendMode.Companion {
+ method public int getClear-0nO6VwU();
+ method public int getColor-0nO6VwU();
+ method public int getColorBurn-0nO6VwU();
+ method public int getColorDodge-0nO6VwU();
+ method public int getDarken-0nO6VwU();
+ method public int getDifference-0nO6VwU();
+ method public int getDst-0nO6VwU();
+ method public int getDstAtop-0nO6VwU();
+ method public int getDstIn-0nO6VwU();
+ method public int getDstOut-0nO6VwU();
+ method public int getDstOver-0nO6VwU();
+ method public int getExclusion-0nO6VwU();
+ method public int getHardlight-0nO6VwU();
+ method public int getHue-0nO6VwU();
+ method public int getLighten-0nO6VwU();
+ method public int getLuminosity-0nO6VwU();
+ method public int getModulate-0nO6VwU();
+ method public int getMultiply-0nO6VwU();
+ method public int getOverlay-0nO6VwU();
+ method public int getPlus-0nO6VwU();
+ method public int getSaturation-0nO6VwU();
+ method public int getScreen-0nO6VwU();
+ method public int getSoftlight-0nO6VwU();
+ method public int getSrc-0nO6VwU();
+ method public int getSrcAtop-0nO6VwU();
+ method public int getSrcIn-0nO6VwU();
+ method public int getSrcOut-0nO6VwU();
+ method public int getSrcOver-0nO6VwU();
+ method public int getXor-0nO6VwU();
+ property public final int Clear;
+ property public final int Color;
+ property public final int ColorBurn;
+ property public final int ColorDodge;
+ property public final int Darken;
+ property public final int Difference;
+ property public final int Dst;
+ property public final int DstAtop;
+ property public final int DstIn;
+ property public final int DstOut;
+ property public final int DstOver;
+ property public final int Exclusion;
+ property public final int Hardlight;
+ property public final int Hue;
+ property public final int Lighten;
+ property public final int Luminosity;
+ property public final int Modulate;
+ property public final int Multiply;
+ property public final int Overlay;
+ property public final int Plus;
+ property public final int Saturation;
+ property public final int Screen;
+ property public final int Softlight;
+ property public final int Src;
+ property public final int SrcAtop;
+ property public final int SrcIn;
+ property public final int SrcOut;
+ property public final int SrcOver;
+ property public final int Xor;
+ }
+
+ @androidx.compose.runtime.Immutable public abstract sealed class Brush {
+ method public abstract void applyTo-TJof4Gw(long size, androidx.compose.ui.graphics.Paint p, float alpha);
+ field public static final androidx.compose.ui.graphics.Brush.Companion Companion;
+ }
+
+ public static final class Brush.Companion {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush horizontalGradient-CcUA5qQ(java.util.List<androidx.compose.ui.graphics.Color> colors, optional float startX, optional float endX, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush horizontalGradient-NvQjRjk(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional float startX, optional float endX, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush linearGradient-7_sGemo(java.util.List<androidx.compose.ui.graphics.Color> colors, optional long start, optional long end, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush linearGradient-K4jYFb0(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional long start, optional long end, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush radialGradient-YU3LRu0(java.util.List<androidx.compose.ui.graphics.Color> colors, optional long center, optional float radius, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush radialGradient-g04MWJE(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional long center, optional float radius, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush sweepGradient-PvDSl28(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional long center);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush sweepGradient-acbAMd8(java.util.List<androidx.compose.ui.graphics.Color> colors, optional long center);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush verticalGradient-CcUA5qQ(java.util.List<androidx.compose.ui.graphics.Color> colors, optional float startY, optional float endY, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush verticalGradient-NvQjRjk(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional float startY, optional float endY, optional int tileMode);
+ }
+
+ public final class BrushKt {
+ method public static androidx.compose.ui.graphics.ShaderBrush ShaderBrush(android.graphics.Shader shader);
+ }
+
+ public interface Canvas {
+ method public void clipPath-fquoRGU(androidx.compose.ui.graphics.Path path, optional int clipOp);
+ method public default void clipRect-MsRSx38(androidx.compose.ui.geometry.Rect rect, optional int clipOp);
+ method public void clipRect-wxHPq4g(float left, float top, float right, float bottom, optional int clipOp);
+ method public void concat-58bKbWc(float[] matrix);
+ method public void disableZ();
+ method public default void drawArc(androidx.compose.ui.geometry.Rect rect, float startAngle, float sweepAngle, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public void drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public default void drawArcRad(androidx.compose.ui.geometry.Rect rect, float startAngleRad, float sweepAngleRad, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public void drawCircle-tVKstsI(long center, float radius, androidx.compose.ui.graphics.Paint paint);
+ method public void drawImage-uwcbMjI(androidx.compose.ui.graphics.ImageBitmap image, long topLeftOffset, androidx.compose.ui.graphics.Paint paint);
+ method public void drawImageRect-bgE79EM(androidx.compose.ui.graphics.ImageBitmap image, optional long srcOffset, optional long srcSize, optional long dstOffset, optional long dstSize, androidx.compose.ui.graphics.Paint paint);
+ method public void drawLine-bYPfCD8(long p1, long p2, androidx.compose.ui.graphics.Paint paint);
+ method public default void drawOval(androidx.compose.ui.geometry.Rect rect, androidx.compose.ui.graphics.Paint paint);
+ method public void drawOval(float left, float top, float right, float bottom, androidx.compose.ui.graphics.Paint paint);
+ method public void drawPath(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Paint paint);
+ method public void drawPoints-iVdqbVo(int pointMode, java.util.List<androidx.compose.ui.geometry.Offset> points, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRawPoints-59E74cI(int pointMode, float[] points, androidx.compose.ui.graphics.Paint paint);
+ method public default void drawRect(androidx.compose.ui.geometry.Rect rect, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRect(float left, float top, float right, float bottom, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRoundRect(float left, float top, float right, float bottom, float radiusX, float radiusY, androidx.compose.ui.graphics.Paint paint);
+ method public void drawVertices-nA16xIE(androidx.compose.ui.graphics.Vertices vertices, int blendMode, androidx.compose.ui.graphics.Paint paint);
+ method public void enableZ();
+ method public void restore();
+ method public void rotate(float degrees);
+ method public void save();
+ method public void saveLayer(androidx.compose.ui.geometry.Rect bounds, androidx.compose.ui.graphics.Paint paint);
+ method public void scale(float sx, optional float sy);
+ method public void skew(float sx, float sy);
+ method public default void skewRad(float sxRad, float syRad);
+ method public void translate(float dx, float dy);
+ }
+
+ public final class CanvasHolder {
+ ctor public CanvasHolder();
+ method public inline void drawInto(android.graphics.Canvas targetCanvas, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Canvas,kotlin.Unit> block);
+ }
+
+ public final class CanvasKt {
+ method public static androidx.compose.ui.graphics.Canvas Canvas(androidx.compose.ui.graphics.ImageBitmap image);
+ method public static void rotate(androidx.compose.ui.graphics.Canvas, float degrees, float pivotX, float pivotY);
+ method public static void rotateRad(androidx.compose.ui.graphics.Canvas, float radians, optional float pivotX, optional float pivotY);
+ method public static void scale(androidx.compose.ui.graphics.Canvas, float sx, optional float sy, float pivotX, float pivotY);
+ method public static inline void withSave(androidx.compose.ui.graphics.Canvas, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ method public static inline void withSaveLayer(androidx.compose.ui.graphics.Canvas, androidx.compose.ui.geometry.Rect bounds, androidx.compose.ui.graphics.Paint paint, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ClipOp {
+ ctor public ClipOp();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.ClipOp.Companion Companion;
+ }
+
+ public static final class ClipOp.Companion {
+ method public int getDifference-rtfAjoo();
+ method public int getIntersect-rtfAjoo();
+ property public final int Difference;
+ property public final int Intersect;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Color {
+ ctor public Color();
+ method @androidx.compose.runtime.Stable public static operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component2-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component3-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component4-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator androidx.compose.ui.graphics.colorspace.ColorSpace component5-impl(long $this);
+ method public static long constructor-impl(long value);
+ method public static long convert-0d7_KjU(long $this, androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace);
+ method @androidx.compose.runtime.Stable public static long copy-0d7_KjU(long $this, optional float alpha, optional float red, optional float green, optional float blue);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getAlpha-impl(long $this);
+ method public static float getBlue-impl(long $this);
+ method public static androidx.compose.ui.graphics.colorspace.ColorSpace getColorSpace-impl(long $this);
+ method public static float getGreen-impl(long $this);
+ method public static float getRed-impl(long $this);
+ method public long getValue-s-VKNKU();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ property public final long value;
+ field public static final androidx.compose.ui.graphics.Color.Companion Companion;
+ }
+
+ public static final class Color.Companion {
+ method public long getBlack-0d7_KjU();
+ method public long getBlue-0d7_KjU();
+ method public long getCyan-0d7_KjU();
+ method public long getDarkGray-0d7_KjU();
+ method public long getGray-0d7_KjU();
+ method public long getGreen-0d7_KjU();
+ method public long getLightGray-0d7_KjU();
+ method public long getMagenta-0d7_KjU();
+ method public long getRed-0d7_KjU();
+ method public long getTransparent-0d7_KjU();
+ method public long getUnspecified-0d7_KjU();
+ method public long getWhite-0d7_KjU();
+ method public long getYellow-0d7_KjU();
+ property public final long Black;
+ property public final long Blue;
+ property public final long Cyan;
+ property public final long DarkGray;
+ property public final long Gray;
+ property public final long Green;
+ property public final long LightGray;
+ property public final long Magenta;
+ property public final long Red;
+ property public final long Transparent;
+ property public final long Unspecified;
+ property public final long White;
+ property public final long Yellow;
+ }
+
+ @androidx.compose.runtime.Immutable public final class ColorFilter {
+ field public static final androidx.compose.ui.graphics.ColorFilter.Companion Companion;
+ }
+
+ public static final class ColorFilter.Companion {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.ColorFilter colorMatrix-jHG-Opc(float[] colorMatrix);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.ColorFilter lighting-6xK2E-Q(long multiply, long add);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.ColorFilter tint-aamYUWA(long color, optional int blendMode);
+ }
+
+ public final class ColorKt {
+ method @androidx.compose.runtime.Stable public static long Color(float red, float green, float blue, optional float alpha, optional androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace);
+ method @androidx.compose.runtime.Stable public static long Color(int color);
+ method @androidx.compose.runtime.Stable public static long Color(long color);
+ method @androidx.compose.runtime.Stable public static long Color(int red, int green, int blue, optional int alpha);
+ method @androidx.compose.runtime.Stable public static long compositeOver-6xK2E-Q(long, long background);
+ method public static inline boolean isSpecified-8_81llA(long);
+ method public static inline boolean isUnspecified-8_81llA(long);
+ method @androidx.compose.runtime.Stable public static long lerp-m18UwgE(long start, long stop, float fraction);
+ method @androidx.compose.runtime.Stable public static float luminance-8_81llA(long);
+ method public static inline long takeOrElse-iYUlWp8(long, kotlin.jvm.functions.Function0<androidx.compose.ui.graphics.Color> block);
+ method @androidx.compose.runtime.Stable public static int toArgb-8_81llA(long);
+ }
+
+ public final inline class ColorMatrix {
+ ctor public ColorMatrix();
+ method public static float[]! constructor-impl(optional float[] values);
+ method public static void convertRgbToYuv-impl(float[]! $this);
+ method public static void convertYuvToRgb-impl(float[]! $this);
+ method public static inline boolean equals-impl(float[]! p, Object? p1);
+ method public static boolean equals-impl0(float[] p1, float[] p2);
+ method public static inline operator float get-impl(float[] $this, int row, int column);
+ method public float[] getValues();
+ method public static inline int hashCode-impl(float[]! p);
+ method public static void reset-impl(float[]! $this);
+ method public static inline operator void set-impl(float[] $this, int row, int column, float v);
+ method public static void set-jHG-Opc(float[] $this, float[] src);
+ method public static void setToRotateBlue-impl(float[] $this, float degrees);
+ method public static void setToRotateGreen-impl(float[] $this, float degrees);
+ method public static void setToRotateRed-impl(float[] $this, float degrees);
+ method public static void setToSaturation-impl(float[] $this, float sat);
+ method public static void setToScale-impl(float[] $this, float redScale, float greenScale, float blueScale, float alphaScale);
+ method public static operator void timesAssign-jHG-Opc(float[] $this, float[] colorMatrix);
+ method public static inline String! toString-impl(float[]! p);
+ property public final float[] values;
+ }
+
+ public final class DegreesKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class FilterQuality {
+ ctor public FilterQuality();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public int getValue();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ property public final int value;
+ field public static final androidx.compose.ui.graphics.FilterQuality.Companion Companion;
+ }
+
+ public static final class FilterQuality.Companion {
+ method public int getHigh-f-v9h1I();
+ method public int getLow-f-v9h1I();
+ method public int getMedium-f-v9h1I();
+ method public int getNone-f-v9h1I();
+ property public final int High;
+ property public final int Low;
+ property public final int Medium;
+ property public final int None;
+ }
+
+ public final class Float16Kt {
+ }
+
+ public interface ImageBitmap {
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace getColorSpace();
+ method public int getConfig-_sVssgQ();
+ method public boolean getHasAlpha();
+ method public int getHeight();
+ method public int getWidth();
+ method public void prepareToDraw();
+ method public void readPixels(int[] buffer, optional int startX, optional int startY, optional int width, optional int height, optional int bufferOffset, optional int stride);
+ property public abstract androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace;
+ property public abstract int config;
+ property public abstract boolean hasAlpha;
+ property public abstract int height;
+ property public abstract int width;
+ field public static final androidx.compose.ui.graphics.ImageBitmap.Companion Companion;
+ }
+
+ public static final class ImageBitmap.Companion {
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ImageBitmapConfig {
+ ctor public ImageBitmapConfig();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public int getValue();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ property public final int value;
+ field public static final androidx.compose.ui.graphics.ImageBitmapConfig.Companion Companion;
+ }
+
+ public static final class ImageBitmapConfig.Companion {
+ method public int getAlpha8-_sVssgQ();
+ method public int getArgb8888-_sVssgQ();
+ method public int getF16-_sVssgQ();
+ method public int getGpu-_sVssgQ();
+ method public int getRgb565-_sVssgQ();
+ property public final int Alpha8;
+ property public final int Argb8888;
+ property public final int F16;
+ property public final int Gpu;
+ property public final int Rgb565;
+ }
+
+ public final class ImageBitmapKt {
+ method public static androidx.compose.ui.graphics.ImageBitmap ImageBitmap-E8BOdIU(int width, int height, optional int config, optional boolean hasAlpha, optional androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace);
+ method public static androidx.compose.ui.graphics.PixelMap toPixelMap(androidx.compose.ui.graphics.ImageBitmap, optional int startX, optional int startY, optional int width, optional int height, optional int[] buffer, optional int bufferOffset, optional int stride);
+ }
+
+ @androidx.compose.runtime.Immutable public final class LinearGradient extends androidx.compose.ui.graphics.ShaderBrush {
+ method public android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ public final inline class Matrix {
+ ctor public Matrix();
+ method public static float[]! constructor-impl(optional float[] values);
+ method public static inline boolean equals-impl(float[]! p, Object? p1);
+ method public static boolean equals-impl0(float[] p1, float[] p2);
+ method public static inline operator float get-impl(float[] $this, int row, int column);
+ method public float[] getValues();
+ method public static inline int hashCode-impl(float[]! p);
+ method public static void invert-impl(float[]! $this);
+ method public static androidx.compose.ui.geometry.Rect map-impl(float[] $this, androidx.compose.ui.geometry.Rect rect);
+ method public static void map-impl(float[] $this, androidx.compose.ui.geometry.MutableRect rect);
+ method public static long map-k-4lQ0M(float[] $this, long point);
+ method public static void reset-impl(float[]! $this);
+ method public static void rotateX-impl(float[] $this, float degrees);
+ method public static void rotateY-impl(float[] $this, float degrees);
+ method public static void rotateZ-impl(float[] $this, float degrees);
+ method public static void scale-impl(float[] $this, optional float x, optional float y, optional float z);
+ method public static inline operator void set-impl(float[] $this, int row, int column, float v);
+ method public static void setFrom-58bKbWc(float[] $this, float[] matrix);
+ method public static operator void timesAssign-58bKbWc(float[] $this, float[] m);
+ method public static String toString-impl(float[]! $this);
+ method public static void translate-impl(float[] $this, optional float x, optional float y, optional float z);
+ property public final float[] values;
+ field public static final androidx.compose.ui.graphics.Matrix.Companion Companion;
+ field public static final int Perspective0 = 3; // 0x3
+ field public static final int Perspective1 = 7; // 0x7
+ field public static final int Perspective2 = 15; // 0xf
+ field public static final int ScaleX = 0; // 0x0
+ field public static final int ScaleY = 5; // 0x5
+ field public static final int ScaleZ = 10; // 0xa
+ field public static final int SkewX = 4; // 0x4
+ field public static final int SkewY = 1; // 0x1
+ field public static final int TranslateX = 12; // 0xc
+ field public static final int TranslateY = 13; // 0xd
+ field public static final int TranslateZ = 14; // 0xe
+ }
+
+ public static final class Matrix.Companion {
+ }
+
+ public final class MatrixKt {
+ method public static boolean isIdentity-58bKbWc(float[]);
+ }
+
+ public abstract sealed class Outline {
+ method public abstract androidx.compose.ui.geometry.Rect getBounds();
+ property public abstract androidx.compose.ui.geometry.Rect bounds;
+ }
+
+ public static final class Outline.Generic extends androidx.compose.ui.graphics.Outline {
+ ctor public Outline.Generic(androidx.compose.ui.graphics.Path path);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public androidx.compose.ui.graphics.Path getPath();
+ property public androidx.compose.ui.geometry.Rect bounds;
+ property public final androidx.compose.ui.graphics.Path path;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class Outline.Rectangle extends androidx.compose.ui.graphics.Outline {
+ ctor public Outline.Rectangle(androidx.compose.ui.geometry.Rect rect);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public androidx.compose.ui.geometry.Rect getRect();
+ property public androidx.compose.ui.geometry.Rect bounds;
+ property public final androidx.compose.ui.geometry.Rect rect;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class Outline.Rounded extends androidx.compose.ui.graphics.Outline {
+ ctor public Outline.Rounded(androidx.compose.ui.geometry.RoundRect roundRect);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public androidx.compose.ui.geometry.RoundRect getRoundRect();
+ property public androidx.compose.ui.geometry.Rect bounds;
+ property public final androidx.compose.ui.geometry.RoundRect roundRect;
+ }
+
+ public final class OutlineKt {
+ method public static void addOutline(androidx.compose.ui.graphics.Path, androidx.compose.ui.graphics.Outline outline);
+ method public static void drawOutline(androidx.compose.ui.graphics.Canvas, androidx.compose.ui.graphics.Outline outline, androidx.compose.ui.graphics.Paint paint);
+ method public static void drawOutline-Ar0j1Zw(androidx.compose.ui.graphics.drawscope.DrawScope, androidx.compose.ui.graphics.Outline outline, androidx.compose.ui.graphics.Brush brush, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public static void drawOutline-mlewCHg(androidx.compose.ui.graphics.drawscope.DrawScope, androidx.compose.ui.graphics.Outline outline, long color, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ }
+
+ public interface Paint {
+ method public android.graphics.Paint asFrameworkPaint();
+ method public float getAlpha();
+ method public int getBlendMode-0nO6VwU();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.graphics.ColorFilter? getColorFilter();
+ method public int getFilterQuality-f-v9h1I();
+ method public androidx.compose.ui.graphics.PathEffect? getPathEffect();
+ method public android.graphics.Shader? getShader();
+ method public int getStrokeCap-KaPHkGw();
+ method public int getStrokeJoin-LxFBmk8();
+ method public float getStrokeMiterLimit();
+ method public float getStrokeWidth();
+ method public int getStyle-TiuSbCo();
+ method public boolean isAntiAlias();
+ method public void setAlpha(float p);
+ method public void setAntiAlias(boolean p);
+ method public void setBlendMode-s9anfk8(int p);
+ method public void setColor-8_81llA(long p);
+ method public void setColorFilter(androidx.compose.ui.graphics.ColorFilter? p);
+ method public void setFilterQuality-vDHp3xo(int p);
+ method public void setPathEffect(androidx.compose.ui.graphics.PathEffect? p);
+ method public void setShader(android.graphics.Shader? p);
+ method public void setStrokeCap-BeK7IIE(int p);
+ method public void setStrokeJoin-Ww9F2mQ(int p);
+ method public void setStrokeMiterLimit(float p);
+ method public void setStrokeWidth(float p);
+ method public void setStyle-k9PVt8s(int p);
+ property public abstract float alpha;
+ property public abstract int blendMode;
+ property public abstract long color;
+ property public abstract androidx.compose.ui.graphics.ColorFilter? colorFilter;
+ property public abstract int filterQuality;
+ property public abstract boolean isAntiAlias;
+ property public abstract androidx.compose.ui.graphics.PathEffect? pathEffect;
+ property public abstract android.graphics.Shader? shader;
+ property public abstract int strokeCap;
+ property public abstract int strokeJoin;
+ property public abstract float strokeMiterLimit;
+ property public abstract float strokeWidth;
+ property public abstract int style;
+ }
+
+ public final class PaintKt {
+ field public static final float DefaultAlpha = 1.0f;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PaintingStyle {
+ ctor public PaintingStyle();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PaintingStyle.Companion Companion;
+ }
+
+ public static final class PaintingStyle.Companion {
+ method public int getFill-TiuSbCo();
+ method public int getStroke-TiuSbCo();
+ property public final int Fill;
+ property public final int Stroke;
+ }
+
+ public interface Path {
+ method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
+ method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
+ method public void addOval(androidx.compose.ui.geometry.Rect oval);
+ method public void addPath-ej0GBII(androidx.compose.ui.graphics.Path path, optional long offset);
+ method public void addRect(androidx.compose.ui.geometry.Rect rect);
+ method public void addRoundRect(androidx.compose.ui.geometry.RoundRect roundRect);
+ method public void arcTo(androidx.compose.ui.geometry.Rect rect, float startAngleDegrees, float sweepAngleDegrees, boolean forceMoveTo);
+ method public default void arcToRad(androidx.compose.ui.geometry.Rect rect, float startAngleRadians, float sweepAngleRadians, boolean forceMoveTo);
+ method public void close();
+ method public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public int getFillType-Rg-k1Os();
+ method public boolean isConvex();
+ method public boolean isEmpty();
+ method public void lineTo(float x, float y);
+ method public void moveTo(float x, float y);
+ method public boolean op-xiGExi0(androidx.compose.ui.graphics.Path path1, androidx.compose.ui.graphics.Path path2, int operation);
+ method public void quadraticBezierTo(float x1, float y1, float x2, float y2);
+ method public void relativeCubicTo(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public void relativeLineTo(float dx, float dy);
+ method public void relativeMoveTo(float dx, float dy);
+ method public void relativeQuadraticBezierTo(float dx1, float dy1, float dx2, float dy2);
+ method public void reset();
+ method public void setFillType-oQ8Xj4U(int p);
+ method public void translate-k-4lQ0M(long offset);
+ property public abstract int fillType;
+ property public abstract boolean isConvex;
+ property public abstract boolean isEmpty;
+ field public static final androidx.compose.ui.graphics.Path.Companion Companion;
+ }
+
+ public static final class Path.Companion {
+ method public androidx.compose.ui.graphics.Path combine-mTgLSnE(int operation, androidx.compose.ui.graphics.Path path1, androidx.compose.ui.graphics.Path path2);
+ }
+
+ public interface PathEffect {
+ field public static final androidx.compose.ui.graphics.PathEffect.Companion Companion;
+ }
+
+ public static final class PathEffect.Companion {
+ method public androidx.compose.ui.graphics.PathEffect chainPathEffect(androidx.compose.ui.graphics.PathEffect outer, androidx.compose.ui.graphics.PathEffect inner);
+ method public androidx.compose.ui.graphics.PathEffect cornerPathEffect(float radius);
+ method public androidx.compose.ui.graphics.PathEffect dashPathEffect(float[] intervals, optional float phase);
+ method public androidx.compose.ui.graphics.PathEffect stampedPathEffect-czNbfQQ(androidx.compose.ui.graphics.Path shape, float advance, float phase, int style);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PathFillType {
+ ctor public PathFillType();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PathFillType.Companion Companion;
+ }
+
+ public static final class PathFillType.Companion {
+ method public int getEvenOdd-Rg-k1Os();
+ method public int getNonZero-Rg-k1Os();
+ property public final int EvenOdd;
+ property public final int NonZero;
+ }
+
+ public interface PathMeasure {
+ method public float getLength();
+ method public boolean getSegment(float startDistance, float stopDistance, androidx.compose.ui.graphics.Path destination, optional boolean startWithMoveTo);
+ method public void setPath(androidx.compose.ui.graphics.Path? path, boolean forceClosed);
+ property public abstract float length;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PathOperation {
+ ctor public PathOperation();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PathOperation.Companion Companion;
+ }
+
+ public static final class PathOperation.Companion {
+ method public int getDifference-b3I0S0c();
+ method public int getIntersect-b3I0S0c();
+ method public int getReverseDifference-b3I0S0c();
+ method public int getUnion-b3I0S0c();
+ method public int getXor-b3I0S0c();
+ property public final int Difference;
+ property public final int Intersect;
+ property public final int ReverseDifference;
+ property public final int Union;
+ property public final int Xor;
+ }
+
+ public final class PathOperationKt {
+ method @Deprecated public static int getDifference(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getIntersect(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getReverseDifference(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getUnion(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getXor(androidx.compose.ui.graphics.PathOperation.Companion);
+ }
+
+ public final class PixelMap {
+ ctor public PixelMap(int[] buffer, int width, int height, int bufferOffset, int stride);
+ method public operator long get-0d7_KjU(int x, int y);
+ method public int[] getBuffer();
+ method public int getBufferOffset();
+ method public int getHeight();
+ method public int getStride();
+ method public int getWidth();
+ property public final int[] buffer;
+ property public final int bufferOffset;
+ property public final int height;
+ property public final int stride;
+ property public final int width;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PointMode {
+ ctor public PointMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PointMode.Companion Companion;
+ }
+
+ public static final class PointMode.Companion {
+ method public int getLines-r_lszbg();
+ method public int getPoints-r_lszbg();
+ method public int getPolygon-r_lszbg();
+ property public final int Lines;
+ property public final int Points;
+ property public final int Polygon;
+ }
+
+ @androidx.compose.runtime.Immutable public final class RadialGradient extends androidx.compose.ui.graphics.ShaderBrush {
+ method public android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ public final class RectHelper_androidKt {
+ method public static android.graphics.Rect toAndroidRect(androidx.compose.ui.geometry.Rect);
+ method public static android.graphics.RectF toAndroidRectF(androidx.compose.ui.geometry.Rect);
+ method public static androidx.compose.ui.geometry.Rect toComposeRect(android.graphics.Rect);
+ }
+
+ public final class RectangleShapeKt {
+ method public static androidx.compose.ui.graphics.Shape getRectangleShape();
+ }
+
+ @androidx.compose.runtime.Immutable public abstract class ShaderBrush extends androidx.compose.ui.graphics.Brush {
+ ctor public ShaderBrush();
+ method public final void applyTo-TJof4Gw(long size, androidx.compose.ui.graphics.Paint p, float alpha);
+ method public abstract android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ public final class ShaderKt {
+ method public static android.graphics.Shader ImageShader-UWo3-ZU(androidx.compose.ui.graphics.ImageBitmap image, optional int tileModeX, optional int tileModeY);
+ method public static android.graphics.Shader LinearGradientShader-GfyHbQM(long from, long to, java.util.List<androidx.compose.ui.graphics.Color> colors, optional java.util.List<java.lang.Float>? colorStops, optional int tileMode);
+ method public static android.graphics.Shader RadialGradientShader-cY6o93o(long center, float radius, java.util.List<androidx.compose.ui.graphics.Color> colors, optional java.util.List<java.lang.Float>? colorStops, optional int tileMode);
+ method public static android.graphics.Shader SweepGradientShader-GpNgDDw(long center, java.util.List<androidx.compose.ui.graphics.Color> colors, optional java.util.List<java.lang.Float>? colorStops);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Shadow {
+ method public androidx.compose.ui.graphics.Shadow copy-vQQzcCI(optional long color, optional long offset, optional float blurRadius);
+ method public float getBlurRadius();
+ method public long getColor-0d7_KjU();
+ method public long getOffset-F1C5BW0();
+ property public final float blurRadius;
+ property public final long color;
+ property public final long offset;
+ field public static final androidx.compose.ui.graphics.Shadow.Companion Companion;
+ }
+
+ public static final class Shadow.Companion {
+ method public androidx.compose.ui.graphics.Shadow getNone();
+ property public final androidx.compose.ui.graphics.Shadow None;
+ }
+
+ public final class ShadowKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.graphics.Shadow lerp(androidx.compose.ui.graphics.Shadow start, androidx.compose.ui.graphics.Shadow stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public interface Shape {
+ method public androidx.compose.ui.graphics.Outline createOutline-9w1PWio(long size, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.unit.Density density);
+ }
+
+ @androidx.compose.runtime.Immutable public final class SolidColor extends androidx.compose.ui.graphics.Brush {
+ method public void applyTo-TJof4Gw(long size, androidx.compose.ui.graphics.Paint p, float alpha);
+ method public long getValue-0d7_KjU();
+ property public final long value;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class StampedPathEffectStyle {
+ ctor public StampedPathEffectStyle();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.StampedPathEffectStyle.Companion Companion;
+ }
+
+ public static final class StampedPathEffectStyle.Companion {
+ method public int getMorph-Ypspkwk();
+ method public int getRotate-Ypspkwk();
+ method public int getTranslate-Ypspkwk();
+ property public final int Morph;
+ property public final int Rotate;
+ property public final int Translate;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class StrokeCap {
+ ctor public StrokeCap();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.StrokeCap.Companion Companion;
+ }
+
+ public static final class StrokeCap.Companion {
+ method public int getButt-KaPHkGw();
+ method public int getRound-KaPHkGw();
+ method public int getSquare-KaPHkGw();
+ property public final int Butt;
+ property public final int Round;
+ property public final int Square;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class StrokeJoin {
+ ctor public StrokeJoin();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.StrokeJoin.Companion Companion;
+ }
+
+ public static final class StrokeJoin.Companion {
+ method public int getBevel-LxFBmk8();
+ method public int getMiter-LxFBmk8();
+ method public int getRound-LxFBmk8();
+ property public final int Bevel;
+ property public final int Miter;
+ property public final int Round;
+ }
+
+ @androidx.compose.runtime.Immutable public final class SweepGradient extends androidx.compose.ui.graphics.ShaderBrush {
+ method public android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TileMode {
+ ctor public TileMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.TileMode.Companion Companion;
+ }
+
+ public static final class TileMode.Companion {
+ method public int getClamp-3opZhB0();
+ method public int getMirror-3opZhB0();
+ method public int getRepeated-3opZhB0();
+ property public final int Clamp;
+ property public final int Mirror;
+ property public final int Repeated;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class VertexMode {
+ ctor public VertexMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.VertexMode.Companion Companion;
+ }
+
+ public static final class VertexMode.Companion {
+ method public int getTriangleFan-c2xauaI();
+ method public int getTriangleStrip-c2xauaI();
+ method public int getTriangles-c2xauaI();
+ property public final int TriangleFan;
+ property public final int TriangleStrip;
+ property public final int Triangles;
+ }
+
+ public final class Vertices {
+ method public int[] getColors();
+ method public short[] getIndices();
+ method public float[] getPositions();
+ method public float[] getTextureCoordinates();
+ method public int getVertexMode-c2xauaI();
+ property public final int[] colors;
+ property public final short[] indices;
+ property public final float[] positions;
+ property public final float[] textureCoordinates;
+ property public final int vertexMode;
+ }
+
+}
+
+package androidx.compose.ui.graphics.colorspace {
+
+ public abstract class Adaptation {
+ field public static final androidx.compose.ui.graphics.colorspace.Adaptation.Companion Companion;
+ }
+
+ public static final class Adaptation.Companion {
+ method public androidx.compose.ui.graphics.colorspace.Adaptation getBradford();
+ method public androidx.compose.ui.graphics.colorspace.Adaptation getCiecat02();
+ method public androidx.compose.ui.graphics.colorspace.Adaptation getVonKries();
+ property public final androidx.compose.ui.graphics.colorspace.Adaptation Bradford;
+ property public final androidx.compose.ui.graphics.colorspace.Adaptation Ciecat02;
+ property public final androidx.compose.ui.graphics.colorspace.Adaptation VonKries;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ColorModel {
+ ctor public ColorModel();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static int getComponentCount-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.graphics.colorspace.ColorModel.Companion Companion;
+ }
+
+ public static final class ColorModel.Companion {
+ method public long getCmyk-xdoWZVw();
+ method public long getLab-xdoWZVw();
+ method public long getRgb-xdoWZVw();
+ method public long getXyz-xdoWZVw();
+ property public final long Cmyk;
+ property public final long Lab;
+ property public final long Rgb;
+ property public final long Xyz;
+ }
+
+ public abstract class ColorSpace {
+ method public final float[] fromXyz(float x, float y, float z);
+ method public abstract float[] fromXyz(float[] v);
+ method public final int getComponentCount();
+ method public abstract float getMaxValue(int component);
+ method public abstract float getMinValue(int component);
+ method public final long getModel-xdoWZVw();
+ method public final String getName();
+ method public boolean isSrgb();
+ method public abstract boolean isWideGamut();
+ method public final float[] toXyz(float r, float g, float b);
+ method public abstract float[] toXyz(float[] v);
+ property public final int componentCount;
+ property public boolean isSrgb;
+ property public abstract boolean isWideGamut;
+ property public final long model;
+ property public final String name;
+ }
+
+ public final class ColorSpaceKt {
+ method public static androidx.compose.ui.graphics.colorspace.ColorSpace adapt(androidx.compose.ui.graphics.colorspace.ColorSpace, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, optional androidx.compose.ui.graphics.colorspace.Adaptation adaptation);
+ method public static androidx.compose.ui.graphics.colorspace.ColorSpace adapt(androidx.compose.ui.graphics.colorspace.ColorSpace, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint);
+ method public static androidx.compose.ui.graphics.colorspace.Connector connect-InwLUsE(androidx.compose.ui.graphics.colorspace.ColorSpace, optional androidx.compose.ui.graphics.colorspace.ColorSpace destination, optional int intent);
+ }
+
+ public final class ColorSpaces {
+ method public androidx.compose.ui.graphics.colorspace.Rgb getAces();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getAcescg();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getAdobeRgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getBt2020();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getBt709();
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace getCieLab();
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace getCieXyz();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getDciP3();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getDisplayP3();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getExtendedSrgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getLinearExtendedSrgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getLinearSrgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getNtsc1953();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getProPhotoRgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getSmpteC();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getSrgb();
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace? match(float[] toXYZD50, androidx.compose.ui.graphics.colorspace.TransferParameters function);
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Aces;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Acescg;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb AdobeRgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Bt2020;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Bt709;
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace CieLab;
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace CieXyz;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb DciP3;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb DisplayP3;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb ExtendedSrgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb LinearExtendedSrgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb LinearSrgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Ntsc1953;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb ProPhotoRgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb SmpteC;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Srgb;
+ field public static final androidx.compose.ui.graphics.colorspace.ColorSpaces INSTANCE;
+ }
+
+ public class Connector {
+ method public final androidx.compose.ui.graphics.colorspace.ColorSpace getDestination();
+ method public final int getRenderIntent-uksYyKA();
+ method public final androidx.compose.ui.graphics.colorspace.ColorSpace getSource();
+ method public final float[] transform(float r, float g, float b);
+ method public float[] transform(float[] v);
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace destination;
+ property public final int renderIntent;
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace source;
+ }
+
+ public final class Illuminant {
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getA();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getB();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getC();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD50();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD55();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD60();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD65();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD75();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getE();
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint A;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint B;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint C;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D50;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D55;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D60;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D65;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D75;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint E;
+ field public static final androidx.compose.ui.graphics.colorspace.Illuminant INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class RenderIntent {
+ ctor public RenderIntent();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.colorspace.RenderIntent.Companion Companion;
+ }
+
+ public static final class RenderIntent.Companion {
+ method public int getAbsolute-uksYyKA();
+ method public int getPerceptual-uksYyKA();
+ method public int getRelative-uksYyKA();
+ method public int getSaturation-uksYyKA();
+ property public final int Absolute;
+ property public final int Perceptual;
+ property public final int Relative;
+ property public final int Saturation;
+ }
+
+ public final class Rgb extends androidx.compose.ui.graphics.colorspace.ColorSpace {
+ ctor public Rgb(String name, float[] toXYZ, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf);
+ ctor public Rgb(String name, float[] primaries, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf, float min, float max);
+ ctor public Rgb(String name, float[] toXYZ, androidx.compose.ui.graphics.colorspace.TransferParameters function);
+ ctor public Rgb(String name, float[] primaries, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, androidx.compose.ui.graphics.colorspace.TransferParameters function);
+ ctor public Rgb(String name, float[] toXYZ, double gamma);
+ ctor public Rgb(String name, float[] primaries, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, double gamma);
+ method public float[] fromLinear(float r, float g, float b);
+ method public float[] fromLinear(float[] v);
+ method public float[] fromXyz(float[] v);
+ method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getEotf();
+ method public float[] getInverseTransform();
+ method public float[] getInverseTransform(float[] inverseTransform);
+ method public float getMaxValue(int component);
+ method public float getMinValue(int component);
+ method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getOetf();
+ method public float[] getPrimaries();
+ method public float[] getPrimaries(float[] primaries);
+ method public androidx.compose.ui.graphics.colorspace.TransferParameters? getTransferParameters();
+ method public float[] getTransform();
+ method public float[] getTransform(float[] transform);
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getWhitePoint();
+ method public boolean isWideGamut();
+ method public float[] toLinear(float r, float g, float b);
+ method public float[] toLinear(float[] v);
+ method public float[] toXyz(float[] v);
+ property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> eotf;
+ property public boolean isSrgb;
+ property public boolean isWideGamut;
+ property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> oetf;
+ property public final androidx.compose.ui.graphics.colorspace.TransferParameters? transferParameters;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint;
+ }
+
+ public final class TransferParameters {
+ ctor public TransferParameters(double gamma, double a, double b, double c, double d, optional double e, optional double f);
+ method public double component1();
+ method public double component2();
+ method public double component3();
+ method public double component4();
+ method public double component5();
+ method public double component6();
+ method public double component7();
+ method public androidx.compose.ui.graphics.colorspace.TransferParameters copy(double gamma, double a, double b, double c, double d, double e, double f);
+ method public double getA();
+ method public double getB();
+ method public double getC();
+ method public double getD();
+ method public double getE();
+ method public double getF();
+ method public double getGamma();
+ property public final double a;
+ property public final double b;
+ property public final double c;
+ property public final double d;
+ property public final double e;
+ property public final double f;
+ property public final double gamma;
+ }
+
+ public final class WhitePoint {
+ ctor public WhitePoint(float x, float y);
+ ctor public WhitePoint(float x, float y, float z);
+ method public float component1();
+ method public float component2();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+}
+
+package androidx.compose.ui.graphics.drawscope {
+
+ public final class CanvasDrawScope implements androidx.compose.ui.graphics.drawscope.DrawScope {
+ ctor public CanvasDrawScope();
+ method public inline void draw-jkGVKLE(androidx.compose.ui.unit.Density density, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.graphics.Canvas canvas, long size, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public void drawArc-BcZ8TnY(long color, float startAngle, float sweepAngle, boolean useCenter, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawArc-C-Io9bM(androidx.compose.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawCircle-NGaRamM(long color, float radius, long center, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawCircle-m-UMHxE(androidx.compose.ui.graphics.Brush brush, float radius, long center, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawImage-JUiai_k(androidx.compose.ui.graphics.ImageBitmap image, long topLeft, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawImage-Yc2aOMw(androidx.compose.ui.graphics.ImageBitmap image, long srcOffset, long srcSize, long dstOffset, long dstSize, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawLine-QXZmVdc(long color, long start, long end, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawLine-UXw4dv4(androidx.compose.ui.graphics.Brush brush, long start, long end, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawOval-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawOval-IdEHoqk(long color, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPath-_TD-E3k(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Brush brush, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPath-tilSWAQ(androidx.compose.ui.graphics.Path path, long color, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPoints-Aqy9O-k(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, long color, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPoints-yD3Jhvg(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, androidx.compose.ui.graphics.Brush brush, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRect-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRect-IdEHoqk(long color, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRoundRect-fNghmuc(long color, long topLeft, long size, long cornerRadius, androidx.compose.ui.graphics.drawscope.DrawStyle style, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRoundRect-sDDzLXA(androidx.compose.ui.graphics.Brush brush, long topLeft, long size, long cornerRadius, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public float getDensity();
+ method public androidx.compose.ui.graphics.drawscope.DrawContext getDrawContext();
+ method public float getFontScale();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ property public float density;
+ property public androidx.compose.ui.graphics.drawscope.DrawContext drawContext;
+ property public float fontScale;
+ property public androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ }
+
+ public final class CanvasDrawScopeKt {
+ }
+
+ public interface ContentDrawScope extends androidx.compose.ui.graphics.drawscope.DrawScope {
+ method public void drawContent();
+ }
+
+ public interface DrawContext {
+ method public androidx.compose.ui.graphics.Canvas getCanvas();
+ method public long getSize-NH-jbRc();
+ method public androidx.compose.ui.graphics.drawscope.DrawTransform getTransform();
+ method public void setSize-uvyYCjk(long p);
+ property public abstract androidx.compose.ui.graphics.Canvas canvas;
+ property public abstract long size;
+ property public abstract androidx.compose.ui.graphics.drawscope.DrawTransform transform;
+ }
+
+ @androidx.compose.ui.graphics.drawscope.DrawScopeMarker public interface DrawScope extends androidx.compose.ui.unit.Density {
+ method public void drawArc-BcZ8TnY(long color, float startAngle, float sweepAngle, boolean useCenter, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawArc-C-Io9bM(androidx.compose.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawCircle-NGaRamM(long color, optional float radius, optional long center, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawCircle-m-UMHxE(androidx.compose.ui.graphics.Brush brush, optional float radius, optional long center, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawImage-JUiai_k(androidx.compose.ui.graphics.ImageBitmap image, optional long topLeft, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawImage-Yc2aOMw(androidx.compose.ui.graphics.ImageBitmap image, optional long srcOffset, optional long srcSize, optional long dstOffset, optional long dstSize, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawLine-QXZmVdc(long color, long start, long end, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawLine-UXw4dv4(androidx.compose.ui.graphics.Brush brush, long start, long end, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawOval-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawOval-IdEHoqk(long color, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPath-_TD-E3k(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Brush brush, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPath-tilSWAQ(androidx.compose.ui.graphics.Path path, long color, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPoints-Aqy9O-k(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, long color, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPoints-yD3Jhvg(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, androidx.compose.ui.graphics.Brush brush, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRect-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRect-IdEHoqk(long color, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRoundRect-fNghmuc(long color, optional long topLeft, optional long size, optional long cornerRadius, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRoundRect-sDDzLXA(androidx.compose.ui.graphics.Brush brush, optional long topLeft, optional long size, optional long cornerRadius, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public default long getCenter-F1C5BW0();
+ method public androidx.compose.ui.graphics.drawscope.DrawContext getDrawContext();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public default long getSize-NH-jbRc();
+ method public long offsetSize(long, long offset);
+ property public default long center;
+ property public abstract androidx.compose.ui.graphics.drawscope.DrawContext drawContext;
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public default long size;
+ field public static final androidx.compose.ui.graphics.drawscope.DrawScope.Companion Companion;
+ }
+
+ public static final class DrawScope.Companion {
+ method public int getDefaultBlendMode-0nO6VwU();
+ property public final int DefaultBlendMode;
+ }
+
+ public final class DrawScopeKt {
+ method public static inline void clipPath--PbAnyU(androidx.compose.ui.graphics.drawscope.DrawScope, androidx.compose.ui.graphics.Path path, optional int clipOp, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void clipRect-2ny_0ws(androidx.compose.ui.graphics.drawscope.DrawScope, optional float left, optional float top, optional float right, optional float bottom, optional int clipOp, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void drawIntoCanvas(androidx.compose.ui.graphics.drawscope.DrawScope, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Canvas,kotlin.Unit> block);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawScope, float inset, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawScope, optional float horizontal, optional float vertical, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void rotate-FvlOZkk(androidx.compose.ui.graphics.drawscope.DrawScope, float degrees, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void rotateRad-FvlOZkk(androidx.compose.ui.graphics.drawscope.DrawScope, float radians, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void scale-FvlOZkk(androidx.compose.ui.graphics.drawscope.DrawScope, float scale, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void scale-LCqtnZ0(androidx.compose.ui.graphics.drawscope.DrawScope, float scaleX, float scaleY, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void translate(androidx.compose.ui.graphics.drawscope.DrawScope, optional float left, optional float top, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void withTransform(androidx.compose.ui.graphics.drawscope.DrawScope, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawTransform,kotlin.Unit> transformBlock, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> drawBlock);
+ }
+
+ @kotlin.DslMarker public @interface DrawScopeMarker {
+ }
+
+ public abstract sealed class DrawStyle {
+ }
+
+ @androidx.compose.ui.graphics.drawscope.DrawScopeMarker public interface DrawTransform {
+ method public void clipPath-fquoRGU(androidx.compose.ui.graphics.Path path, optional int clipOp);
+ method public void clipRect-wxHPq4g(optional float left, optional float top, optional float right, optional float bottom, optional int clipOp);
+ method public default long getCenter-F1C5BW0();
+ method public long getSize-NH-jbRc();
+ method public void inset(float left, float top, float right, float bottom);
+ method public void rotate-KYFOyyg(float degrees, optional long pivot);
+ method public void scale-QguGWxw(float scaleX, float scaleY, optional long pivot);
+ method public void transform-58bKbWc(float[] matrix);
+ method public void translate(optional float left, optional float top);
+ property public default long center;
+ property public abstract long size;
+ }
+
+ public final class DrawTransformKt {
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawTransform, optional float horizontal, optional float vertical);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawTransform, float inset);
+ method public static inline void rotateRad-kdYHfaE(androidx.compose.ui.graphics.drawscope.DrawTransform, float radians, optional long pivot);
+ method public static inline void scale-kdYHfaE(androidx.compose.ui.graphics.drawscope.DrawTransform, float scale, optional long pivot);
+ }
+
+ public final class Fill extends androidx.compose.ui.graphics.drawscope.DrawStyle {
+ field public static final androidx.compose.ui.graphics.drawscope.Fill INSTANCE;
+ }
+
+ public final class Stroke extends androidx.compose.ui.graphics.drawscope.DrawStyle {
+ method public int getCap-KaPHkGw();
+ method public int getJoin-LxFBmk8();
+ method public float getMiter();
+ method public androidx.compose.ui.graphics.PathEffect? getPathEffect();
+ method public float getWidth();
+ property public final int cap;
+ property public final int join;
+ property public final float miter;
+ property public final androidx.compose.ui.graphics.PathEffect? pathEffect;
+ property public final float width;
+ field public static final androidx.compose.ui.graphics.drawscope.Stroke.Companion Companion;
+ field public static final float DefaultMiter = 4.0f;
+ field public static final float HairlineWidth = 0.0f;
+ }
+
+ public static final class Stroke.Companion {
+ method public int getDefaultCap-KaPHkGw();
+ method public int getDefaultJoin-LxFBmk8();
+ property public final int DefaultCap;
+ property public final int DefaultJoin;
+ }
+
+}
+
+package androidx.compose.ui.graphics.painter {
+
+ public final class BitmapPainter extends androidx.compose.ui.graphics.painter.Painter {
+ method public long getIntrinsicSize-NH-jbRc();
+ method protected void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public long intrinsicSize;
+ }
+
+ public final class ColorPainter extends androidx.compose.ui.graphics.painter.Painter {
+ method public long getColor-0d7_KjU();
+ method public long getIntrinsicSize-NH-jbRc();
+ method protected void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public final long color;
+ property public long intrinsicSize;
+ }
+
+ public abstract class Painter {
+ ctor public Painter();
+ method protected boolean applyAlpha(float alpha);
+ method protected boolean applyColorFilter(androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method protected boolean applyLayoutDirection(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public final void draw-ty3CEPU(androidx.compose.ui.graphics.drawscope.DrawScope, long size, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method public abstract long getIntrinsicSize-NH-jbRc();
+ method protected abstract void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public abstract long intrinsicSize;
+ }
+
+}
+
+package androidx.compose.ui.graphics.vector {
+
+ public final class PathBuilder {
+ ctor public PathBuilder();
+ method public androidx.compose.ui.graphics.vector.PathBuilder arcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float x1, float y1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder arcToRelative(float a, float b, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float dx1, float dy1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder close();
+ method public androidx.compose.ui.graphics.vector.PathBuilder curveTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public androidx.compose.ui.graphics.vector.PathBuilder curveToRelative(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> getNodes();
+ method public androidx.compose.ui.graphics.vector.PathBuilder horizontalLineTo(float x);
+ method public androidx.compose.ui.graphics.vector.PathBuilder horizontalLineToRelative(float dx);
+ method public androidx.compose.ui.graphics.vector.PathBuilder lineTo(float x, float y);
+ method public androidx.compose.ui.graphics.vector.PathBuilder lineToRelative(float dx, float dy);
+ method public androidx.compose.ui.graphics.vector.PathBuilder moveTo(float x, float y);
+ method public androidx.compose.ui.graphics.vector.PathBuilder moveToRelative(float dx, float dy);
+ method public androidx.compose.ui.graphics.vector.PathBuilder quadTo(float x1, float y1, float x2, float y2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder quadToRelative(float dx1, float dy1, float dx2, float dy2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveCurveTo(float x1, float y1, float x2, float y2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveCurveToRelative(float dx1, float dy1, float dx2, float dy2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveQuadTo(float x1, float y1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveQuadToRelative(float dx1, float dy1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder verticalLineTo(float y);
+ method public androidx.compose.ui.graphics.vector.PathBuilder verticalLineToRelative(float dy);
+ }
+
+ @androidx.compose.runtime.Immutable public abstract sealed class PathNode {
+ method public final boolean isCurve();
+ method public final boolean isQuad();
+ property public final boolean isCurve;
+ property public final boolean isQuad;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.ArcTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.ArcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartX, float arcStartY);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public boolean component4();
+ method public boolean component5();
+ method public float component6();
+ method public float component7();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.ArcTo copy(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartX, float arcStartY);
+ method public float getArcStartX();
+ method public float getArcStartY();
+ method public float getHorizontalEllipseRadius();
+ method public float getTheta();
+ method public float getVerticalEllipseRadius();
+ method public boolean isMoreThanHalf();
+ method public boolean isPositiveArc();
+ property public final float arcStartX;
+ property public final float arcStartY;
+ property public final float horizontalEllipseRadius;
+ property public final boolean isMoreThanHalf;
+ property public final boolean isPositiveArc;
+ property public final float theta;
+ property public final float verticalEllipseRadius;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.Close extends androidx.compose.ui.graphics.vector.PathNode {
+ field public static final androidx.compose.ui.graphics.vector.PathNode.Close INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.CurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.CurveTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.CurveTo copy(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public float getX1();
+ method public float getX2();
+ method public float getX3();
+ method public float getY1();
+ method public float getY2();
+ method public float getY3();
+ property public final float x1;
+ property public final float x2;
+ property public final float x3;
+ property public final float y1;
+ property public final float y2;
+ property public final float y3;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.HorizontalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.HorizontalTo(float x);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.HorizontalTo copy(float x);
+ method public float getX();
+ property public final float x;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.LineTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.LineTo(float x, float y);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.LineTo copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.MoveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.MoveTo(float x, float y);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.MoveTo copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.QuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.QuadTo(float x1, float y1, float x2, float y2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.QuadTo copy(float x1, float y1, float x2, float y2);
+ method public float getX1();
+ method public float getX2();
+ method public float getY1();
+ method public float getY2();
+ property public final float x1;
+ property public final float x2;
+ property public final float y1;
+ property public final float y2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.ReflectiveCurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.ReflectiveCurveTo(float x1, float y1, float x2, float y2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.ReflectiveCurveTo copy(float x1, float y1, float x2, float y2);
+ method public float getX1();
+ method public float getX2();
+ method public float getY1();
+ method public float getY2();
+ property public final float x1;
+ property public final float x2;
+ property public final float y1;
+ property public final float y2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.ReflectiveQuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.ReflectiveQuadTo(float x, float y);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.ReflectiveQuadTo copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeArcTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeArcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartDx, float arcStartDy);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public boolean component4();
+ method public boolean component5();
+ method public float component6();
+ method public float component7();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeArcTo copy(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartDx, float arcStartDy);
+ method public float getArcStartDx();
+ method public float getArcStartDy();
+ method public float getHorizontalEllipseRadius();
+ method public float getTheta();
+ method public float getVerticalEllipseRadius();
+ method public boolean isMoreThanHalf();
+ method public boolean isPositiveArc();
+ property public final float arcStartDx;
+ property public final float arcStartDy;
+ property public final float horizontalEllipseRadius;
+ property public final boolean isMoreThanHalf;
+ property public final boolean isPositiveArc;
+ property public final float theta;
+ property public final float verticalEllipseRadius;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeCurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeCurveTo(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeCurveTo copy(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public float getDx1();
+ method public float getDx2();
+ method public float getDx3();
+ method public float getDy1();
+ method public float getDy2();
+ method public float getDy3();
+ property public final float dx1;
+ property public final float dx2;
+ property public final float dx3;
+ property public final float dy1;
+ property public final float dy2;
+ property public final float dy3;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeHorizontalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeHorizontalTo(float dx);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeHorizontalTo copy(float dx);
+ method public float getDx();
+ property public final float dx;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeLineTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeLineTo(float dx, float dy);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeLineTo copy(float dx, float dy);
+ method public float getDx();
+ method public float getDy();
+ property public final float dx;
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeMoveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeMoveTo(float dx, float dy);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeMoveTo copy(float dx, float dy);
+ method public float getDx();
+ method public float getDy();
+ property public final float dx;
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeQuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeQuadTo(float dx1, float dy1, float dx2, float dy2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeQuadTo copy(float dx1, float dy1, float dx2, float dy2);
+ method public float getDx1();
+ method public float getDx2();
+ method public float getDy1();
+ method public float getDy2();
+ property public final float dx1;
+ property public final float dx2;
+ property public final float dy1;
+ property public final float dy2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeReflectiveCurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeReflectiveCurveTo(float dx1, float dy1, float dx2, float dy2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeReflectiveCurveTo copy(float dx1, float dy1, float dx2, float dy2);
+ method public float getDx1();
+ method public float getDx2();
+ method public float getDy1();
+ method public float getDy2();
+ property public final float dx1;
+ property public final float dx2;
+ property public final float dy1;
+ property public final float dy2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeReflectiveQuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeReflectiveQuadTo(float dx, float dy);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeReflectiveQuadTo copy(float dx, float dy);
+ method public float getDx();
+ method public float getDy();
+ property public final float dx;
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeVerticalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeVerticalTo(float dy);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeVerticalTo copy(float dy);
+ method public float getDy();
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.VerticalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.VerticalTo(float y);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.VerticalTo copy(float y);
+ method public float getY();
+ property public final float y;
+ }
+
+ public final class PathNodeKt {
+ }
+
+ public final class PathParser {
+ ctor public PathParser();
+ method public androidx.compose.ui.graphics.vector.PathParser addPathNodes(java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> nodes);
+ method public void clear();
+ method public androidx.compose.ui.graphics.vector.PathParser parsePathString(String pathData);
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> toNodes();
+ method public androidx.compose.ui.graphics.Path toPath(optional androidx.compose.ui.graphics.Path target);
+ }
+
+}
+
diff --git a/compose/ui/ui-graphics/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-graphics/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..39b20cc
--- /dev/null
+++ b/compose/ui/ui-graphics/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,1649 @@
+// Signature format: 4.0
+package androidx.compose.ui.graphics {
+
+ public final class AndroidBlendMode_androidKt {
+ method public static boolean isSupported-s9anfk8(int);
+ }
+
+ public final class AndroidCanvas_androidKt {
+ method public static androidx.compose.ui.graphics.Canvas Canvas(android.graphics.Canvas c);
+ method public static android.graphics.Canvas getNativeCanvas(androidx.compose.ui.graphics.Canvas);
+ }
+
+ public final class AndroidColorFilter_androidKt {
+ method public static android.graphics.ColorFilter asAndroidColorFilter(androidx.compose.ui.graphics.ColorFilter);
+ method public static androidx.compose.ui.graphics.ColorFilter asComposeColorFilter(android.graphics.ColorFilter);
+ }
+
+ public final class AndroidImageBitmap_androidKt {
+ method public static android.graphics.Bitmap asAndroidBitmap(androidx.compose.ui.graphics.ImageBitmap);
+ method public static androidx.compose.ui.graphics.ImageBitmap asImageBitmap(android.graphics.Bitmap);
+ }
+
+ public final class AndroidMatrixConversions_androidKt {
+ method public static void setFrom-7lL006A(float[], android.graphics.Matrix matrix);
+ method public static void setFrom-8AuSnpc(android.graphics.Matrix, float[] matrix);
+ }
+
+ public final class AndroidPaint implements androidx.compose.ui.graphics.Paint {
+ ctor public AndroidPaint();
+ method public android.graphics.Paint asFrameworkPaint();
+ method public float getAlpha();
+ method public int getBlendMode-0nO6VwU();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.graphics.ColorFilter? getColorFilter();
+ method public int getFilterQuality-f-v9h1I();
+ method public androidx.compose.ui.graphics.PathEffect? getPathEffect();
+ method public android.graphics.Shader? getShader();
+ method public int getStrokeCap-KaPHkGw();
+ method public int getStrokeJoin-LxFBmk8();
+ method public float getStrokeMiterLimit();
+ method public float getStrokeWidth();
+ method public int getStyle-TiuSbCo();
+ method public boolean isAntiAlias();
+ method public void setAlpha(float value);
+ method public void setAntiAlias(boolean value);
+ method public void setBlendMode-s9anfk8(int value);
+ method public void setColor-8_81llA(long color);
+ method public void setColorFilter(androidx.compose.ui.graphics.ColorFilter? value);
+ method public void setFilterQuality-vDHp3xo(int value);
+ method public void setPathEffect(androidx.compose.ui.graphics.PathEffect? value);
+ method public void setShader(android.graphics.Shader? value);
+ method public void setStrokeCap-BeK7IIE(int value);
+ method public void setStrokeJoin-Ww9F2mQ(int value);
+ method public void setStrokeMiterLimit(float value);
+ method public void setStrokeWidth(float value);
+ method public void setStyle-k9PVt8s(int value);
+ property public float alpha;
+ property public int blendMode;
+ property public long color;
+ property public androidx.compose.ui.graphics.ColorFilter? colorFilter;
+ property public int filterQuality;
+ property public boolean isAntiAlias;
+ property public androidx.compose.ui.graphics.PathEffect? pathEffect;
+ property public android.graphics.Shader? shader;
+ property public int strokeCap;
+ property public int strokeJoin;
+ property public float strokeMiterLimit;
+ property public float strokeWidth;
+ property public int style;
+ }
+
+ public final class AndroidPaint_androidKt {
+ method public static androidx.compose.ui.graphics.Paint Paint();
+ }
+
+ public final class AndroidPath implements androidx.compose.ui.graphics.Path {
+ ctor public AndroidPath(optional android.graphics.Path internalPath);
+ method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
+ method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
+ method public void addOval(androidx.compose.ui.geometry.Rect oval);
+ method public void addPath-ej0GBII(androidx.compose.ui.graphics.Path path, long offset);
+ method public void addRect(androidx.compose.ui.geometry.Rect rect);
+ method public void addRoundRect(androidx.compose.ui.geometry.RoundRect roundRect);
+ method public void arcTo(androidx.compose.ui.geometry.Rect rect, float startAngleDegrees, float sweepAngleDegrees, boolean forceMoveTo);
+ method public void close();
+ method public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public int getFillType-Rg-k1Os();
+ method public android.graphics.Path getInternalPath();
+ method public boolean isConvex();
+ method public boolean isEmpty();
+ method public void lineTo(float x, float y);
+ method public void moveTo(float x, float y);
+ method public boolean op-xiGExi0(androidx.compose.ui.graphics.Path path1, androidx.compose.ui.graphics.Path path2, int operation);
+ method public void quadraticBezierTo(float x1, float y1, float x2, float y2);
+ method public void relativeCubicTo(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public void relativeLineTo(float dx, float dy);
+ method public void relativeMoveTo(float dx, float dy);
+ method public void relativeQuadraticBezierTo(float dx1, float dy1, float dx2, float dy2);
+ method public void reset();
+ method public void setFillType-oQ8Xj4U(int value);
+ method public void translate-k-4lQ0M(long offset);
+ property public int fillType;
+ property public final android.graphics.Path internalPath;
+ property public boolean isConvex;
+ property public boolean isEmpty;
+ }
+
+ public final class AndroidPathEffect_androidKt {
+ method public static android.graphics.PathEffect asAndroidPathEffect(androidx.compose.ui.graphics.PathEffect);
+ method public static androidx.compose.ui.graphics.PathEffect toComposePathEffect(android.graphics.PathEffect);
+ }
+
+ public final class AndroidPathMeasure implements androidx.compose.ui.graphics.PathMeasure {
+ method public float getLength();
+ method public boolean getSegment(float startDistance, float stopDistance, androidx.compose.ui.graphics.Path destination, boolean startWithMoveTo);
+ method public void setPath(androidx.compose.ui.graphics.Path? path, boolean forceClosed);
+ property public float length;
+ }
+
+ public final class AndroidPathMeasure_androidKt {
+ method public static androidx.compose.ui.graphics.PathMeasure PathMeasure();
+ }
+
+ public final class AndroidPath_androidKt {
+ method public static androidx.compose.ui.graphics.Path Path();
+ method public static inline android.graphics.Path asAndroidPath(androidx.compose.ui.graphics.Path);
+ method public static androidx.compose.ui.graphics.Path asComposePath(android.graphics.Path);
+ }
+
+ public final class AndroidShader_androidKt {
+ }
+
+ public final class AndroidTileMode_androidKt {
+ method public static android.graphics.Shader.TileMode toAndroidTileMode-0vamqd0(int);
+ }
+
+ public final class AndroidVertexMode_androidKt {
+ method public static android.graphics.Canvas.VertexMode toAndroidVertexMode-JOOmi9M(int);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class BlendMode {
+ ctor public BlendMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.BlendMode.Companion Companion;
+ }
+
+ public static final class BlendMode.Companion {
+ method public int getClear-0nO6VwU();
+ method public int getColor-0nO6VwU();
+ method public int getColorBurn-0nO6VwU();
+ method public int getColorDodge-0nO6VwU();
+ method public int getDarken-0nO6VwU();
+ method public int getDifference-0nO6VwU();
+ method public int getDst-0nO6VwU();
+ method public int getDstAtop-0nO6VwU();
+ method public int getDstIn-0nO6VwU();
+ method public int getDstOut-0nO6VwU();
+ method public int getDstOver-0nO6VwU();
+ method public int getExclusion-0nO6VwU();
+ method public int getHardlight-0nO6VwU();
+ method public int getHue-0nO6VwU();
+ method public int getLighten-0nO6VwU();
+ method public int getLuminosity-0nO6VwU();
+ method public int getModulate-0nO6VwU();
+ method public int getMultiply-0nO6VwU();
+ method public int getOverlay-0nO6VwU();
+ method public int getPlus-0nO6VwU();
+ method public int getSaturation-0nO6VwU();
+ method public int getScreen-0nO6VwU();
+ method public int getSoftlight-0nO6VwU();
+ method public int getSrc-0nO6VwU();
+ method public int getSrcAtop-0nO6VwU();
+ method public int getSrcIn-0nO6VwU();
+ method public int getSrcOut-0nO6VwU();
+ method public int getSrcOver-0nO6VwU();
+ method public int getXor-0nO6VwU();
+ property public final int Clear;
+ property public final int Color;
+ property public final int ColorBurn;
+ property public final int ColorDodge;
+ property public final int Darken;
+ property public final int Difference;
+ property public final int Dst;
+ property public final int DstAtop;
+ property public final int DstIn;
+ property public final int DstOut;
+ property public final int DstOver;
+ property public final int Exclusion;
+ property public final int Hardlight;
+ property public final int Hue;
+ property public final int Lighten;
+ property public final int Luminosity;
+ property public final int Modulate;
+ property public final int Multiply;
+ property public final int Overlay;
+ property public final int Plus;
+ property public final int Saturation;
+ property public final int Screen;
+ property public final int Softlight;
+ property public final int Src;
+ property public final int SrcAtop;
+ property public final int SrcIn;
+ property public final int SrcOut;
+ property public final int SrcOver;
+ property public final int Xor;
+ }
+
+ @androidx.compose.runtime.Immutable public abstract sealed class Brush {
+ method public abstract void applyTo-TJof4Gw(long size, androidx.compose.ui.graphics.Paint p, float alpha);
+ field public static final androidx.compose.ui.graphics.Brush.Companion Companion;
+ }
+
+ public static final class Brush.Companion {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush horizontalGradient-CcUA5qQ(java.util.List<androidx.compose.ui.graphics.Color> colors, optional float startX, optional float endX, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush horizontalGradient-NvQjRjk(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional float startX, optional float endX, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush linearGradient-7_sGemo(java.util.List<androidx.compose.ui.graphics.Color> colors, optional long start, optional long end, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush linearGradient-K4jYFb0(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional long start, optional long end, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush radialGradient-YU3LRu0(java.util.List<androidx.compose.ui.graphics.Color> colors, optional long center, optional float radius, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush radialGradient-g04MWJE(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional long center, optional float radius, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush sweepGradient-PvDSl28(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional long center);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush sweepGradient-acbAMd8(java.util.List<androidx.compose.ui.graphics.Color> colors, optional long center);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush verticalGradient-CcUA5qQ(java.util.List<androidx.compose.ui.graphics.Color> colors, optional float startY, optional float endY, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush verticalGradient-NvQjRjk(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional float startY, optional float endY, optional int tileMode);
+ }
+
+ public final class BrushKt {
+ method public static androidx.compose.ui.graphics.ShaderBrush ShaderBrush(android.graphics.Shader shader);
+ }
+
+ public interface Canvas {
+ method public void clipPath-fquoRGU(androidx.compose.ui.graphics.Path path, optional int clipOp);
+ method public default void clipRect-MsRSx38(androidx.compose.ui.geometry.Rect rect, optional int clipOp);
+ method public void clipRect-wxHPq4g(float left, float top, float right, float bottom, optional int clipOp);
+ method public void concat-58bKbWc(float[] matrix);
+ method public void disableZ();
+ method public default void drawArc(androidx.compose.ui.geometry.Rect rect, float startAngle, float sweepAngle, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public void drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public default void drawArcRad(androidx.compose.ui.geometry.Rect rect, float startAngleRad, float sweepAngleRad, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public void drawCircle-tVKstsI(long center, float radius, androidx.compose.ui.graphics.Paint paint);
+ method public void drawImage-uwcbMjI(androidx.compose.ui.graphics.ImageBitmap image, long topLeftOffset, androidx.compose.ui.graphics.Paint paint);
+ method public void drawImageRect-bgE79EM(androidx.compose.ui.graphics.ImageBitmap image, optional long srcOffset, optional long srcSize, optional long dstOffset, optional long dstSize, androidx.compose.ui.graphics.Paint paint);
+ method public void drawLine-bYPfCD8(long p1, long p2, androidx.compose.ui.graphics.Paint paint);
+ method public default void drawOval(androidx.compose.ui.geometry.Rect rect, androidx.compose.ui.graphics.Paint paint);
+ method public void drawOval(float left, float top, float right, float bottom, androidx.compose.ui.graphics.Paint paint);
+ method public void drawPath(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Paint paint);
+ method public void drawPoints-iVdqbVo(int pointMode, java.util.List<androidx.compose.ui.geometry.Offset> points, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRawPoints-59E74cI(int pointMode, float[] points, androidx.compose.ui.graphics.Paint paint);
+ method public default void drawRect(androidx.compose.ui.geometry.Rect rect, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRect(float left, float top, float right, float bottom, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRoundRect(float left, float top, float right, float bottom, float radiusX, float radiusY, androidx.compose.ui.graphics.Paint paint);
+ method public void drawVertices-nA16xIE(androidx.compose.ui.graphics.Vertices vertices, int blendMode, androidx.compose.ui.graphics.Paint paint);
+ method public void enableZ();
+ method public void restore();
+ method public void rotate(float degrees);
+ method public void save();
+ method public void saveLayer(androidx.compose.ui.geometry.Rect bounds, androidx.compose.ui.graphics.Paint paint);
+ method public void scale(float sx, optional float sy);
+ method public void skew(float sx, float sy);
+ method public default void skewRad(float sxRad, float syRad);
+ method public void translate(float dx, float dy);
+ }
+
+ public final class CanvasHolder {
+ ctor public CanvasHolder();
+ method public inline void drawInto(android.graphics.Canvas targetCanvas, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Canvas,kotlin.Unit> block);
+ }
+
+ public final class CanvasKt {
+ method public static androidx.compose.ui.graphics.Canvas Canvas(androidx.compose.ui.graphics.ImageBitmap image);
+ method public static void rotate(androidx.compose.ui.graphics.Canvas, float degrees, float pivotX, float pivotY);
+ method public static void rotateRad(androidx.compose.ui.graphics.Canvas, float radians, optional float pivotX, optional float pivotY);
+ method public static void scale(androidx.compose.ui.graphics.Canvas, float sx, optional float sy, float pivotX, float pivotY);
+ method public static inline void withSave(androidx.compose.ui.graphics.Canvas, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ method public static inline void withSaveLayer(androidx.compose.ui.graphics.Canvas, androidx.compose.ui.geometry.Rect bounds, androidx.compose.ui.graphics.Paint paint, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ClipOp {
+ ctor public ClipOp();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.ClipOp.Companion Companion;
+ }
+
+ public static final class ClipOp.Companion {
+ method public int getDifference-rtfAjoo();
+ method public int getIntersect-rtfAjoo();
+ property public final int Difference;
+ property public final int Intersect;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Color {
+ ctor public Color();
+ method @androidx.compose.runtime.Stable public static operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component2-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component3-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component4-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator androidx.compose.ui.graphics.colorspace.ColorSpace component5-impl(long $this);
+ method public static long constructor-impl(long value);
+ method public static long convert-0d7_KjU(long $this, androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace);
+ method @androidx.compose.runtime.Stable public static long copy-0d7_KjU(long $this, optional float alpha, optional float red, optional float green, optional float blue);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getAlpha-impl(long $this);
+ method public static float getBlue-impl(long $this);
+ method public static androidx.compose.ui.graphics.colorspace.ColorSpace getColorSpace-impl(long $this);
+ method public static float getGreen-impl(long $this);
+ method public static float getRed-impl(long $this);
+ method public long getValue-s-VKNKU();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ property public final long value;
+ field public static final androidx.compose.ui.graphics.Color.Companion Companion;
+ }
+
+ public static final class Color.Companion {
+ method public long getBlack-0d7_KjU();
+ method public long getBlue-0d7_KjU();
+ method public long getCyan-0d7_KjU();
+ method public long getDarkGray-0d7_KjU();
+ method public long getGray-0d7_KjU();
+ method public long getGreen-0d7_KjU();
+ method public long getLightGray-0d7_KjU();
+ method public long getMagenta-0d7_KjU();
+ method public long getRed-0d7_KjU();
+ method public long getTransparent-0d7_KjU();
+ method public long getUnspecified-0d7_KjU();
+ method public long getWhite-0d7_KjU();
+ method public long getYellow-0d7_KjU();
+ method @androidx.compose.ui.graphics.ExperimentalGraphicsApi public long hsl-0d7_KjU(float hue, float saturation, float lightness, optional float alpha, optional androidx.compose.ui.graphics.colorspace.Rgb colorSpace);
+ method @androidx.compose.ui.graphics.ExperimentalGraphicsApi public long hsv-0d7_KjU(float hue, float saturation, float value, optional float alpha, optional androidx.compose.ui.graphics.colorspace.Rgb colorSpace);
+ property public final long Black;
+ property public final long Blue;
+ property public final long Cyan;
+ property public final long DarkGray;
+ property public final long Gray;
+ property public final long Green;
+ property public final long LightGray;
+ property public final long Magenta;
+ property public final long Red;
+ property public final long Transparent;
+ property public final long Unspecified;
+ property public final long White;
+ property public final long Yellow;
+ }
+
+ @androidx.compose.runtime.Immutable public final class ColorFilter {
+ field public static final androidx.compose.ui.graphics.ColorFilter.Companion Companion;
+ }
+
+ public static final class ColorFilter.Companion {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.ColorFilter colorMatrix-jHG-Opc(float[] colorMatrix);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.ColorFilter lighting-6xK2E-Q(long multiply, long add);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.ColorFilter tint-aamYUWA(long color, optional int blendMode);
+ }
+
+ public final class ColorKt {
+ method @androidx.compose.runtime.Stable public static long Color(float red, float green, float blue, optional float alpha, optional androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace);
+ method @androidx.compose.runtime.Stable public static long Color(int color);
+ method @androidx.compose.runtime.Stable public static long Color(long color);
+ method @androidx.compose.runtime.Stable public static long Color(int red, int green, int blue, optional int alpha);
+ method @androidx.compose.runtime.Stable public static long compositeOver-6xK2E-Q(long, long background);
+ method public static inline boolean isSpecified-8_81llA(long);
+ method public static inline boolean isUnspecified-8_81llA(long);
+ method @androidx.compose.runtime.Stable public static long lerp-m18UwgE(long start, long stop, float fraction);
+ method @androidx.compose.runtime.Stable public static float luminance-8_81llA(long);
+ method public static inline long takeOrElse-iYUlWp8(long, kotlin.jvm.functions.Function0<androidx.compose.ui.graphics.Color> block);
+ method @androidx.compose.runtime.Stable public static int toArgb-8_81llA(long);
+ }
+
+ public final inline class ColorMatrix {
+ ctor public ColorMatrix();
+ method public static float[]! constructor-impl(optional float[] values);
+ method public static void convertRgbToYuv-impl(float[]! $this);
+ method public static void convertYuvToRgb-impl(float[]! $this);
+ method public static inline boolean equals-impl(float[]! p, Object? p1);
+ method public static boolean equals-impl0(float[] p1, float[] p2);
+ method public static inline operator float get-impl(float[] $this, int row, int column);
+ method public float[] getValues();
+ method public static inline int hashCode-impl(float[]! p);
+ method public static void reset-impl(float[]! $this);
+ method public static inline operator void set-impl(float[] $this, int row, int column, float v);
+ method public static void set-jHG-Opc(float[] $this, float[] src);
+ method public static void setToRotateBlue-impl(float[] $this, float degrees);
+ method public static void setToRotateGreen-impl(float[] $this, float degrees);
+ method public static void setToRotateRed-impl(float[] $this, float degrees);
+ method public static void setToSaturation-impl(float[] $this, float sat);
+ method public static void setToScale-impl(float[] $this, float redScale, float greenScale, float blueScale, float alphaScale);
+ method public static operator void timesAssign-jHG-Opc(float[] $this, float[] colorMatrix);
+ method public static inline String! toString-impl(float[]! p);
+ property public final float[] values;
+ }
+
+ public final class DegreesKt {
+ }
+
+ @kotlin.RequiresOptIn(message="This API is experimental and is likely to change in the future.") public @interface ExperimentalGraphicsApi {
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class FilterQuality {
+ ctor public FilterQuality();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public int getValue();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ property public final int value;
+ field public static final androidx.compose.ui.graphics.FilterQuality.Companion Companion;
+ }
+
+ public static final class FilterQuality.Companion {
+ method public int getHigh-f-v9h1I();
+ method public int getLow-f-v9h1I();
+ method public int getMedium-f-v9h1I();
+ method public int getNone-f-v9h1I();
+ property public final int High;
+ property public final int Low;
+ property public final int Medium;
+ property public final int None;
+ }
+
+ public final class Float16Kt {
+ }
+
+ public interface ImageBitmap {
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace getColorSpace();
+ method public int getConfig-_sVssgQ();
+ method public boolean getHasAlpha();
+ method public int getHeight();
+ method public int getWidth();
+ method public void prepareToDraw();
+ method public void readPixels(int[] buffer, optional int startX, optional int startY, optional int width, optional int height, optional int bufferOffset, optional int stride);
+ property public abstract androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace;
+ property public abstract int config;
+ property public abstract boolean hasAlpha;
+ property public abstract int height;
+ property public abstract int width;
+ field public static final androidx.compose.ui.graphics.ImageBitmap.Companion Companion;
+ }
+
+ public static final class ImageBitmap.Companion {
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ImageBitmapConfig {
+ ctor public ImageBitmapConfig();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public int getValue();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ property public final int value;
+ field public static final androidx.compose.ui.graphics.ImageBitmapConfig.Companion Companion;
+ }
+
+ public static final class ImageBitmapConfig.Companion {
+ method public int getAlpha8-_sVssgQ();
+ method public int getArgb8888-_sVssgQ();
+ method public int getF16-_sVssgQ();
+ method public int getGpu-_sVssgQ();
+ method public int getRgb565-_sVssgQ();
+ property public final int Alpha8;
+ property public final int Argb8888;
+ property public final int F16;
+ property public final int Gpu;
+ property public final int Rgb565;
+ }
+
+ public final class ImageBitmapKt {
+ method public static androidx.compose.ui.graphics.ImageBitmap ImageBitmap-E8BOdIU(int width, int height, optional int config, optional boolean hasAlpha, optional androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace);
+ method public static androidx.compose.ui.graphics.PixelMap toPixelMap(androidx.compose.ui.graphics.ImageBitmap, optional int startX, optional int startY, optional int width, optional int height, optional int[] buffer, optional int bufferOffset, optional int stride);
+ }
+
+ @androidx.compose.runtime.Immutable public final class LinearGradient extends androidx.compose.ui.graphics.ShaderBrush {
+ method public android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ public final inline class Matrix {
+ ctor public Matrix();
+ method public static float[]! constructor-impl(optional float[] values);
+ method public static inline boolean equals-impl(float[]! p, Object? p1);
+ method public static boolean equals-impl0(float[] p1, float[] p2);
+ method public static inline operator float get-impl(float[] $this, int row, int column);
+ method public float[] getValues();
+ method public static inline int hashCode-impl(float[]! p);
+ method public static void invert-impl(float[]! $this);
+ method public static androidx.compose.ui.geometry.Rect map-impl(float[] $this, androidx.compose.ui.geometry.Rect rect);
+ method public static void map-impl(float[] $this, androidx.compose.ui.geometry.MutableRect rect);
+ method public static long map-k-4lQ0M(float[] $this, long point);
+ method public static void reset-impl(float[]! $this);
+ method public static void rotateX-impl(float[] $this, float degrees);
+ method public static void rotateY-impl(float[] $this, float degrees);
+ method public static void rotateZ-impl(float[] $this, float degrees);
+ method public static void scale-impl(float[] $this, optional float x, optional float y, optional float z);
+ method public static inline operator void set-impl(float[] $this, int row, int column, float v);
+ method public static void setFrom-58bKbWc(float[] $this, float[] matrix);
+ method public static operator void timesAssign-58bKbWc(float[] $this, float[] m);
+ method public static String toString-impl(float[]! $this);
+ method public static void translate-impl(float[] $this, optional float x, optional float y, optional float z);
+ property public final float[] values;
+ field public static final androidx.compose.ui.graphics.Matrix.Companion Companion;
+ field public static final int Perspective0 = 3; // 0x3
+ field public static final int Perspective1 = 7; // 0x7
+ field public static final int Perspective2 = 15; // 0xf
+ field public static final int ScaleX = 0; // 0x0
+ field public static final int ScaleY = 5; // 0x5
+ field public static final int ScaleZ = 10; // 0xa
+ field public static final int SkewX = 4; // 0x4
+ field public static final int SkewY = 1; // 0x1
+ field public static final int TranslateX = 12; // 0xc
+ field public static final int TranslateY = 13; // 0xd
+ field public static final int TranslateZ = 14; // 0xe
+ }
+
+ public static final class Matrix.Companion {
+ }
+
+ public final class MatrixKt {
+ method public static boolean isIdentity-58bKbWc(float[]);
+ }
+
+ public abstract sealed class Outline {
+ method public abstract androidx.compose.ui.geometry.Rect getBounds();
+ property public abstract androidx.compose.ui.geometry.Rect bounds;
+ }
+
+ public static final class Outline.Generic extends androidx.compose.ui.graphics.Outline {
+ ctor public Outline.Generic(androidx.compose.ui.graphics.Path path);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public androidx.compose.ui.graphics.Path getPath();
+ property public androidx.compose.ui.geometry.Rect bounds;
+ property public final androidx.compose.ui.graphics.Path path;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class Outline.Rectangle extends androidx.compose.ui.graphics.Outline {
+ ctor public Outline.Rectangle(androidx.compose.ui.geometry.Rect rect);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public androidx.compose.ui.geometry.Rect getRect();
+ property public androidx.compose.ui.geometry.Rect bounds;
+ property public final androidx.compose.ui.geometry.Rect rect;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class Outline.Rounded extends androidx.compose.ui.graphics.Outline {
+ ctor public Outline.Rounded(androidx.compose.ui.geometry.RoundRect roundRect);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public androidx.compose.ui.geometry.RoundRect getRoundRect();
+ property public androidx.compose.ui.geometry.Rect bounds;
+ property public final androidx.compose.ui.geometry.RoundRect roundRect;
+ }
+
+ public final class OutlineKt {
+ method public static void addOutline(androidx.compose.ui.graphics.Path, androidx.compose.ui.graphics.Outline outline);
+ method public static void drawOutline(androidx.compose.ui.graphics.Canvas, androidx.compose.ui.graphics.Outline outline, androidx.compose.ui.graphics.Paint paint);
+ method public static void drawOutline-Ar0j1Zw(androidx.compose.ui.graphics.drawscope.DrawScope, androidx.compose.ui.graphics.Outline outline, androidx.compose.ui.graphics.Brush brush, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public static void drawOutline-mlewCHg(androidx.compose.ui.graphics.drawscope.DrawScope, androidx.compose.ui.graphics.Outline outline, long color, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ }
+
+ public interface Paint {
+ method public android.graphics.Paint asFrameworkPaint();
+ method public float getAlpha();
+ method public int getBlendMode-0nO6VwU();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.graphics.ColorFilter? getColorFilter();
+ method public int getFilterQuality-f-v9h1I();
+ method public androidx.compose.ui.graphics.PathEffect? getPathEffect();
+ method public android.graphics.Shader? getShader();
+ method public int getStrokeCap-KaPHkGw();
+ method public int getStrokeJoin-LxFBmk8();
+ method public float getStrokeMiterLimit();
+ method public float getStrokeWidth();
+ method public int getStyle-TiuSbCo();
+ method public boolean isAntiAlias();
+ method public void setAlpha(float p);
+ method public void setAntiAlias(boolean p);
+ method public void setBlendMode-s9anfk8(int p);
+ method public void setColor-8_81llA(long p);
+ method public void setColorFilter(androidx.compose.ui.graphics.ColorFilter? p);
+ method public void setFilterQuality-vDHp3xo(int p);
+ method public void setPathEffect(androidx.compose.ui.graphics.PathEffect? p);
+ method public void setShader(android.graphics.Shader? p);
+ method public void setStrokeCap-BeK7IIE(int p);
+ method public void setStrokeJoin-Ww9F2mQ(int p);
+ method public void setStrokeMiterLimit(float p);
+ method public void setStrokeWidth(float p);
+ method public void setStyle-k9PVt8s(int p);
+ property public abstract float alpha;
+ property public abstract int blendMode;
+ property public abstract long color;
+ property public abstract androidx.compose.ui.graphics.ColorFilter? colorFilter;
+ property public abstract int filterQuality;
+ property public abstract boolean isAntiAlias;
+ property public abstract androidx.compose.ui.graphics.PathEffect? pathEffect;
+ property public abstract android.graphics.Shader? shader;
+ property public abstract int strokeCap;
+ property public abstract int strokeJoin;
+ property public abstract float strokeMiterLimit;
+ property public abstract float strokeWidth;
+ property public abstract int style;
+ }
+
+ public final class PaintKt {
+ field public static final float DefaultAlpha = 1.0f;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PaintingStyle {
+ ctor public PaintingStyle();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PaintingStyle.Companion Companion;
+ }
+
+ public static final class PaintingStyle.Companion {
+ method public int getFill-TiuSbCo();
+ method public int getStroke-TiuSbCo();
+ property public final int Fill;
+ property public final int Stroke;
+ }
+
+ public interface Path {
+ method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
+ method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
+ method public void addOval(androidx.compose.ui.geometry.Rect oval);
+ method public void addPath-ej0GBII(androidx.compose.ui.graphics.Path path, optional long offset);
+ method public void addRect(androidx.compose.ui.geometry.Rect rect);
+ method public void addRoundRect(androidx.compose.ui.geometry.RoundRect roundRect);
+ method public void arcTo(androidx.compose.ui.geometry.Rect rect, float startAngleDegrees, float sweepAngleDegrees, boolean forceMoveTo);
+ method public default void arcToRad(androidx.compose.ui.geometry.Rect rect, float startAngleRadians, float sweepAngleRadians, boolean forceMoveTo);
+ method public void close();
+ method public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public int getFillType-Rg-k1Os();
+ method public boolean isConvex();
+ method public boolean isEmpty();
+ method public void lineTo(float x, float y);
+ method public void moveTo(float x, float y);
+ method public boolean op-xiGExi0(androidx.compose.ui.graphics.Path path1, androidx.compose.ui.graphics.Path path2, int operation);
+ method public void quadraticBezierTo(float x1, float y1, float x2, float y2);
+ method public void relativeCubicTo(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public void relativeLineTo(float dx, float dy);
+ method public void relativeMoveTo(float dx, float dy);
+ method public void relativeQuadraticBezierTo(float dx1, float dy1, float dx2, float dy2);
+ method public void reset();
+ method public void setFillType-oQ8Xj4U(int p);
+ method public void translate-k-4lQ0M(long offset);
+ property public abstract int fillType;
+ property public abstract boolean isConvex;
+ property public abstract boolean isEmpty;
+ field public static final androidx.compose.ui.graphics.Path.Companion Companion;
+ }
+
+ public static final class Path.Companion {
+ method public androidx.compose.ui.graphics.Path combine-mTgLSnE(int operation, androidx.compose.ui.graphics.Path path1, androidx.compose.ui.graphics.Path path2);
+ }
+
+ public interface PathEffect {
+ field public static final androidx.compose.ui.graphics.PathEffect.Companion Companion;
+ }
+
+ public static final class PathEffect.Companion {
+ method public androidx.compose.ui.graphics.PathEffect chainPathEffect(androidx.compose.ui.graphics.PathEffect outer, androidx.compose.ui.graphics.PathEffect inner);
+ method public androidx.compose.ui.graphics.PathEffect cornerPathEffect(float radius);
+ method public androidx.compose.ui.graphics.PathEffect dashPathEffect(float[] intervals, optional float phase);
+ method public androidx.compose.ui.graphics.PathEffect stampedPathEffect-czNbfQQ(androidx.compose.ui.graphics.Path shape, float advance, float phase, int style);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PathFillType {
+ ctor public PathFillType();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PathFillType.Companion Companion;
+ }
+
+ public static final class PathFillType.Companion {
+ method public int getEvenOdd-Rg-k1Os();
+ method public int getNonZero-Rg-k1Os();
+ property public final int EvenOdd;
+ property public final int NonZero;
+ }
+
+ public interface PathMeasure {
+ method public float getLength();
+ method public boolean getSegment(float startDistance, float stopDistance, androidx.compose.ui.graphics.Path destination, optional boolean startWithMoveTo);
+ method public void setPath(androidx.compose.ui.graphics.Path? path, boolean forceClosed);
+ property public abstract float length;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PathOperation {
+ ctor public PathOperation();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PathOperation.Companion Companion;
+ }
+
+ public static final class PathOperation.Companion {
+ method public int getDifference-b3I0S0c();
+ method public int getIntersect-b3I0S0c();
+ method public int getReverseDifference-b3I0S0c();
+ method public int getUnion-b3I0S0c();
+ method public int getXor-b3I0S0c();
+ property public final int Difference;
+ property public final int Intersect;
+ property public final int ReverseDifference;
+ property public final int Union;
+ property public final int Xor;
+ }
+
+ public final class PathOperationKt {
+ method @Deprecated public static int getDifference(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getIntersect(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getReverseDifference(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getUnion(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getXor(androidx.compose.ui.graphics.PathOperation.Companion);
+ }
+
+ public final class PixelMap {
+ ctor public PixelMap(int[] buffer, int width, int height, int bufferOffset, int stride);
+ method public operator long get-0d7_KjU(int x, int y);
+ method public int[] getBuffer();
+ method public int getBufferOffset();
+ method public int getHeight();
+ method public int getStride();
+ method public int getWidth();
+ property public final int[] buffer;
+ property public final int bufferOffset;
+ property public final int height;
+ property public final int stride;
+ property public final int width;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PointMode {
+ ctor public PointMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PointMode.Companion Companion;
+ }
+
+ public static final class PointMode.Companion {
+ method public int getLines-r_lszbg();
+ method public int getPoints-r_lszbg();
+ method public int getPolygon-r_lszbg();
+ property public final int Lines;
+ property public final int Points;
+ property public final int Polygon;
+ }
+
+ @androidx.compose.runtime.Immutable public final class RadialGradient extends androidx.compose.ui.graphics.ShaderBrush {
+ method public android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ public final class RectHelper_androidKt {
+ method public static android.graphics.Rect toAndroidRect(androidx.compose.ui.geometry.Rect);
+ method public static android.graphics.RectF toAndroidRectF(androidx.compose.ui.geometry.Rect);
+ method public static androidx.compose.ui.geometry.Rect toComposeRect(android.graphics.Rect);
+ }
+
+ public final class RectangleShapeKt {
+ method public static androidx.compose.ui.graphics.Shape getRectangleShape();
+ }
+
+ @androidx.compose.runtime.Immutable public abstract class ShaderBrush extends androidx.compose.ui.graphics.Brush {
+ ctor public ShaderBrush();
+ method public final void applyTo-TJof4Gw(long size, androidx.compose.ui.graphics.Paint p, float alpha);
+ method public abstract android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ public final class ShaderKt {
+ method public static android.graphics.Shader ImageShader-UWo3-ZU(androidx.compose.ui.graphics.ImageBitmap image, optional int tileModeX, optional int tileModeY);
+ method public static android.graphics.Shader LinearGradientShader-GfyHbQM(long from, long to, java.util.List<androidx.compose.ui.graphics.Color> colors, optional java.util.List<java.lang.Float>? colorStops, optional int tileMode);
+ method public static android.graphics.Shader RadialGradientShader-cY6o93o(long center, float radius, java.util.List<androidx.compose.ui.graphics.Color> colors, optional java.util.List<java.lang.Float>? colorStops, optional int tileMode);
+ method public static android.graphics.Shader SweepGradientShader-GpNgDDw(long center, java.util.List<androidx.compose.ui.graphics.Color> colors, optional java.util.List<java.lang.Float>? colorStops);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Shadow {
+ method public androidx.compose.ui.graphics.Shadow copy-vQQzcCI(optional long color, optional long offset, optional float blurRadius);
+ method public float getBlurRadius();
+ method public long getColor-0d7_KjU();
+ method public long getOffset-F1C5BW0();
+ property public final float blurRadius;
+ property public final long color;
+ property public final long offset;
+ field public static final androidx.compose.ui.graphics.Shadow.Companion Companion;
+ }
+
+ public static final class Shadow.Companion {
+ method public androidx.compose.ui.graphics.Shadow getNone();
+ property public final androidx.compose.ui.graphics.Shadow None;
+ }
+
+ public final class ShadowKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.graphics.Shadow lerp(androidx.compose.ui.graphics.Shadow start, androidx.compose.ui.graphics.Shadow stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public interface Shape {
+ method public androidx.compose.ui.graphics.Outline createOutline-9w1PWio(long size, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.unit.Density density);
+ }
+
+ @androidx.compose.runtime.Immutable public final class SolidColor extends androidx.compose.ui.graphics.Brush {
+ method public void applyTo-TJof4Gw(long size, androidx.compose.ui.graphics.Paint p, float alpha);
+ method public long getValue-0d7_KjU();
+ property public final long value;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class StampedPathEffectStyle {
+ ctor public StampedPathEffectStyle();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.StampedPathEffectStyle.Companion Companion;
+ }
+
+ public static final class StampedPathEffectStyle.Companion {
+ method public int getMorph-Ypspkwk();
+ method public int getRotate-Ypspkwk();
+ method public int getTranslate-Ypspkwk();
+ property public final int Morph;
+ property public final int Rotate;
+ property public final int Translate;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class StrokeCap {
+ ctor public StrokeCap();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.StrokeCap.Companion Companion;
+ }
+
+ public static final class StrokeCap.Companion {
+ method public int getButt-KaPHkGw();
+ method public int getRound-KaPHkGw();
+ method public int getSquare-KaPHkGw();
+ property public final int Butt;
+ property public final int Round;
+ property public final int Square;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class StrokeJoin {
+ ctor public StrokeJoin();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.StrokeJoin.Companion Companion;
+ }
+
+ public static final class StrokeJoin.Companion {
+ method public int getBevel-LxFBmk8();
+ method public int getMiter-LxFBmk8();
+ method public int getRound-LxFBmk8();
+ property public final int Bevel;
+ property public final int Miter;
+ property public final int Round;
+ }
+
+ @androidx.compose.runtime.Immutable public final class SweepGradient extends androidx.compose.ui.graphics.ShaderBrush {
+ method public android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TileMode {
+ ctor public TileMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.TileMode.Companion Companion;
+ }
+
+ public static final class TileMode.Companion {
+ method public int getClamp-3opZhB0();
+ method public int getMirror-3opZhB0();
+ method public int getRepeated-3opZhB0();
+ property public final int Clamp;
+ property public final int Mirror;
+ property public final int Repeated;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class VertexMode {
+ ctor public VertexMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.VertexMode.Companion Companion;
+ }
+
+ public static final class VertexMode.Companion {
+ method public int getTriangleFan-c2xauaI();
+ method public int getTriangleStrip-c2xauaI();
+ method public int getTriangles-c2xauaI();
+ property public final int TriangleFan;
+ property public final int TriangleStrip;
+ property public final int Triangles;
+ }
+
+ public final class Vertices {
+ method public int[] getColors();
+ method public short[] getIndices();
+ method public float[] getPositions();
+ method public float[] getTextureCoordinates();
+ method public int getVertexMode-c2xauaI();
+ property public final int[] colors;
+ property public final short[] indices;
+ property public final float[] positions;
+ property public final float[] textureCoordinates;
+ property public final int vertexMode;
+ }
+
+}
+
+package androidx.compose.ui.graphics.colorspace {
+
+ public abstract class Adaptation {
+ field public static final androidx.compose.ui.graphics.colorspace.Adaptation.Companion Companion;
+ }
+
+ public static final class Adaptation.Companion {
+ method public androidx.compose.ui.graphics.colorspace.Adaptation getBradford();
+ method public androidx.compose.ui.graphics.colorspace.Adaptation getCiecat02();
+ method public androidx.compose.ui.graphics.colorspace.Adaptation getVonKries();
+ property public final androidx.compose.ui.graphics.colorspace.Adaptation Bradford;
+ property public final androidx.compose.ui.graphics.colorspace.Adaptation Ciecat02;
+ property public final androidx.compose.ui.graphics.colorspace.Adaptation VonKries;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ColorModel {
+ ctor public ColorModel();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static int getComponentCount-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.graphics.colorspace.ColorModel.Companion Companion;
+ }
+
+ public static final class ColorModel.Companion {
+ method public long getCmyk-xdoWZVw();
+ method public long getLab-xdoWZVw();
+ method public long getRgb-xdoWZVw();
+ method public long getXyz-xdoWZVw();
+ property public final long Cmyk;
+ property public final long Lab;
+ property public final long Rgb;
+ property public final long Xyz;
+ }
+
+ public abstract class ColorSpace {
+ method public final float[] fromXyz(float x, float y, float z);
+ method public abstract float[] fromXyz(float[] v);
+ method public final int getComponentCount();
+ method public abstract float getMaxValue(int component);
+ method public abstract float getMinValue(int component);
+ method public final long getModel-xdoWZVw();
+ method public final String getName();
+ method public boolean isSrgb();
+ method public abstract boolean isWideGamut();
+ method public final float[] toXyz(float r, float g, float b);
+ method public abstract float[] toXyz(float[] v);
+ property public final int componentCount;
+ property public boolean isSrgb;
+ property public abstract boolean isWideGamut;
+ property public final long model;
+ property public final String name;
+ }
+
+ public final class ColorSpaceKt {
+ method public static androidx.compose.ui.graphics.colorspace.ColorSpace adapt(androidx.compose.ui.graphics.colorspace.ColorSpace, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, optional androidx.compose.ui.graphics.colorspace.Adaptation adaptation);
+ method public static androidx.compose.ui.graphics.colorspace.ColorSpace adapt(androidx.compose.ui.graphics.colorspace.ColorSpace, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint);
+ method public static androidx.compose.ui.graphics.colorspace.Connector connect-InwLUsE(androidx.compose.ui.graphics.colorspace.ColorSpace, optional androidx.compose.ui.graphics.colorspace.ColorSpace destination, optional int intent);
+ }
+
+ public final class ColorSpaces {
+ method public androidx.compose.ui.graphics.colorspace.Rgb getAces();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getAcescg();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getAdobeRgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getBt2020();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getBt709();
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace getCieLab();
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace getCieXyz();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getDciP3();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getDisplayP3();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getExtendedSrgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getLinearExtendedSrgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getLinearSrgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getNtsc1953();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getProPhotoRgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getSmpteC();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getSrgb();
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace? match(float[] toXYZD50, androidx.compose.ui.graphics.colorspace.TransferParameters function);
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Aces;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Acescg;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb AdobeRgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Bt2020;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Bt709;
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace CieLab;
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace CieXyz;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb DciP3;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb DisplayP3;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb ExtendedSrgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb LinearExtendedSrgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb LinearSrgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Ntsc1953;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb ProPhotoRgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb SmpteC;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Srgb;
+ field public static final androidx.compose.ui.graphics.colorspace.ColorSpaces INSTANCE;
+ }
+
+ public class Connector {
+ method public final androidx.compose.ui.graphics.colorspace.ColorSpace getDestination();
+ method public final int getRenderIntent-uksYyKA();
+ method public final androidx.compose.ui.graphics.colorspace.ColorSpace getSource();
+ method public final float[] transform(float r, float g, float b);
+ method public float[] transform(float[] v);
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace destination;
+ property public final int renderIntent;
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace source;
+ }
+
+ public final class Illuminant {
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getA();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getB();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getC();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD50();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD55();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD60();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD65();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD75();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getE();
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint A;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint B;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint C;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D50;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D55;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D60;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D65;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D75;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint E;
+ field public static final androidx.compose.ui.graphics.colorspace.Illuminant INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class RenderIntent {
+ ctor public RenderIntent();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.colorspace.RenderIntent.Companion Companion;
+ }
+
+ public static final class RenderIntent.Companion {
+ method public int getAbsolute-uksYyKA();
+ method public int getPerceptual-uksYyKA();
+ method public int getRelative-uksYyKA();
+ method public int getSaturation-uksYyKA();
+ property public final int Absolute;
+ property public final int Perceptual;
+ property public final int Relative;
+ property public final int Saturation;
+ }
+
+ public final class Rgb extends androidx.compose.ui.graphics.colorspace.ColorSpace {
+ ctor public Rgb(String name, float[] toXYZ, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf);
+ ctor public Rgb(String name, float[] primaries, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf, float min, float max);
+ ctor public Rgb(String name, float[] toXYZ, androidx.compose.ui.graphics.colorspace.TransferParameters function);
+ ctor public Rgb(String name, float[] primaries, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, androidx.compose.ui.graphics.colorspace.TransferParameters function);
+ ctor public Rgb(String name, float[] toXYZ, double gamma);
+ ctor public Rgb(String name, float[] primaries, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, double gamma);
+ method public float[] fromLinear(float r, float g, float b);
+ method public float[] fromLinear(float[] v);
+ method public float[] fromXyz(float[] v);
+ method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getEotf();
+ method public float[] getInverseTransform();
+ method public float[] getInverseTransform(float[] inverseTransform);
+ method public float getMaxValue(int component);
+ method public float getMinValue(int component);
+ method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getOetf();
+ method public float[] getPrimaries();
+ method public float[] getPrimaries(float[] primaries);
+ method public androidx.compose.ui.graphics.colorspace.TransferParameters? getTransferParameters();
+ method public float[] getTransform();
+ method public float[] getTransform(float[] transform);
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getWhitePoint();
+ method public boolean isWideGamut();
+ method public float[] toLinear(float r, float g, float b);
+ method public float[] toLinear(float[] v);
+ method public float[] toXyz(float[] v);
+ property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> eotf;
+ property public boolean isSrgb;
+ property public boolean isWideGamut;
+ property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> oetf;
+ property public final androidx.compose.ui.graphics.colorspace.TransferParameters? transferParameters;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint;
+ }
+
+ public final class TransferParameters {
+ ctor public TransferParameters(double gamma, double a, double b, double c, double d, optional double e, optional double f);
+ method public double component1();
+ method public double component2();
+ method public double component3();
+ method public double component4();
+ method public double component5();
+ method public double component6();
+ method public double component7();
+ method public androidx.compose.ui.graphics.colorspace.TransferParameters copy(double gamma, double a, double b, double c, double d, double e, double f);
+ method public double getA();
+ method public double getB();
+ method public double getC();
+ method public double getD();
+ method public double getE();
+ method public double getF();
+ method public double getGamma();
+ property public final double a;
+ property public final double b;
+ property public final double c;
+ property public final double d;
+ property public final double e;
+ property public final double f;
+ property public final double gamma;
+ }
+
+ public final class WhitePoint {
+ ctor public WhitePoint(float x, float y);
+ ctor public WhitePoint(float x, float y, float z);
+ method public float component1();
+ method public float component2();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+}
+
+package androidx.compose.ui.graphics.drawscope {
+
+ public final class CanvasDrawScope implements androidx.compose.ui.graphics.drawscope.DrawScope {
+ ctor public CanvasDrawScope();
+ method public inline void draw-jkGVKLE(androidx.compose.ui.unit.Density density, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.graphics.Canvas canvas, long size, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public void drawArc-BcZ8TnY(long color, float startAngle, float sweepAngle, boolean useCenter, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawArc-C-Io9bM(androidx.compose.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawCircle-NGaRamM(long color, float radius, long center, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawCircle-m-UMHxE(androidx.compose.ui.graphics.Brush brush, float radius, long center, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawImage-JUiai_k(androidx.compose.ui.graphics.ImageBitmap image, long topLeft, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawImage-Yc2aOMw(androidx.compose.ui.graphics.ImageBitmap image, long srcOffset, long srcSize, long dstOffset, long dstSize, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawLine-QXZmVdc(long color, long start, long end, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawLine-UXw4dv4(androidx.compose.ui.graphics.Brush brush, long start, long end, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawOval-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawOval-IdEHoqk(long color, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPath-_TD-E3k(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Brush brush, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPath-tilSWAQ(androidx.compose.ui.graphics.Path path, long color, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPoints-Aqy9O-k(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, long color, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPoints-yD3Jhvg(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, androidx.compose.ui.graphics.Brush brush, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRect-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRect-IdEHoqk(long color, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRoundRect-fNghmuc(long color, long topLeft, long size, long cornerRadius, androidx.compose.ui.graphics.drawscope.DrawStyle style, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRoundRect-sDDzLXA(androidx.compose.ui.graphics.Brush brush, long topLeft, long size, long cornerRadius, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public float getDensity();
+ method public androidx.compose.ui.graphics.drawscope.DrawContext getDrawContext();
+ method public float getFontScale();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ property public float density;
+ property public androidx.compose.ui.graphics.drawscope.DrawContext drawContext;
+ property public float fontScale;
+ property public androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ }
+
+ public final class CanvasDrawScopeKt {
+ }
+
+ public interface ContentDrawScope extends androidx.compose.ui.graphics.drawscope.DrawScope {
+ method public void drawContent();
+ }
+
+ public interface DrawContext {
+ method public androidx.compose.ui.graphics.Canvas getCanvas();
+ method public long getSize-NH-jbRc();
+ method public androidx.compose.ui.graphics.drawscope.DrawTransform getTransform();
+ method public void setSize-uvyYCjk(long p);
+ property public abstract androidx.compose.ui.graphics.Canvas canvas;
+ property public abstract long size;
+ property public abstract androidx.compose.ui.graphics.drawscope.DrawTransform transform;
+ }
+
+ @androidx.compose.ui.graphics.drawscope.DrawScopeMarker public interface DrawScope extends androidx.compose.ui.unit.Density {
+ method public void drawArc-BcZ8TnY(long color, float startAngle, float sweepAngle, boolean useCenter, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawArc-C-Io9bM(androidx.compose.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawCircle-NGaRamM(long color, optional float radius, optional long center, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawCircle-m-UMHxE(androidx.compose.ui.graphics.Brush brush, optional float radius, optional long center, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawImage-JUiai_k(androidx.compose.ui.graphics.ImageBitmap image, optional long topLeft, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawImage-Yc2aOMw(androidx.compose.ui.graphics.ImageBitmap image, optional long srcOffset, optional long srcSize, optional long dstOffset, optional long dstSize, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawLine-QXZmVdc(long color, long start, long end, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawLine-UXw4dv4(androidx.compose.ui.graphics.Brush brush, long start, long end, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawOval-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawOval-IdEHoqk(long color, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPath-_TD-E3k(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Brush brush, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPath-tilSWAQ(androidx.compose.ui.graphics.Path path, long color, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPoints-Aqy9O-k(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, long color, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPoints-yD3Jhvg(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, androidx.compose.ui.graphics.Brush brush, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRect-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRect-IdEHoqk(long color, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRoundRect-fNghmuc(long color, optional long topLeft, optional long size, optional long cornerRadius, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRoundRect-sDDzLXA(androidx.compose.ui.graphics.Brush brush, optional long topLeft, optional long size, optional long cornerRadius, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public default long getCenter-F1C5BW0();
+ method public androidx.compose.ui.graphics.drawscope.DrawContext getDrawContext();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public default long getSize-NH-jbRc();
+ method public long offsetSize(long, long offset);
+ property public default long center;
+ property public abstract androidx.compose.ui.graphics.drawscope.DrawContext drawContext;
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public default long size;
+ field public static final androidx.compose.ui.graphics.drawscope.DrawScope.Companion Companion;
+ }
+
+ public static final class DrawScope.Companion {
+ method public int getDefaultBlendMode-0nO6VwU();
+ property public final int DefaultBlendMode;
+ }
+
+ public final class DrawScopeKt {
+ method public static inline void clipPath--PbAnyU(androidx.compose.ui.graphics.drawscope.DrawScope, androidx.compose.ui.graphics.Path path, optional int clipOp, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void clipRect-2ny_0ws(androidx.compose.ui.graphics.drawscope.DrawScope, optional float left, optional float top, optional float right, optional float bottom, optional int clipOp, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void drawIntoCanvas(androidx.compose.ui.graphics.drawscope.DrawScope, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Canvas,kotlin.Unit> block);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawScope, float inset, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawScope, optional float horizontal, optional float vertical, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void rotate-FvlOZkk(androidx.compose.ui.graphics.drawscope.DrawScope, float degrees, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void rotateRad-FvlOZkk(androidx.compose.ui.graphics.drawscope.DrawScope, float radians, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void scale-FvlOZkk(androidx.compose.ui.graphics.drawscope.DrawScope, float scale, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void scale-LCqtnZ0(androidx.compose.ui.graphics.drawscope.DrawScope, float scaleX, float scaleY, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void translate(androidx.compose.ui.graphics.drawscope.DrawScope, optional float left, optional float top, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void withTransform(androidx.compose.ui.graphics.drawscope.DrawScope, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawTransform,kotlin.Unit> transformBlock, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> drawBlock);
+ }
+
+ @kotlin.DslMarker public @interface DrawScopeMarker {
+ }
+
+ public abstract sealed class DrawStyle {
+ }
+
+ @androidx.compose.ui.graphics.drawscope.DrawScopeMarker public interface DrawTransform {
+ method public void clipPath-fquoRGU(androidx.compose.ui.graphics.Path path, optional int clipOp);
+ method public void clipRect-wxHPq4g(optional float left, optional float top, optional float right, optional float bottom, optional int clipOp);
+ method public default long getCenter-F1C5BW0();
+ method public long getSize-NH-jbRc();
+ method public void inset(float left, float top, float right, float bottom);
+ method public void rotate-KYFOyyg(float degrees, optional long pivot);
+ method public void scale-QguGWxw(float scaleX, float scaleY, optional long pivot);
+ method public void transform-58bKbWc(float[] matrix);
+ method public void translate(optional float left, optional float top);
+ property public default long center;
+ property public abstract long size;
+ }
+
+ public final class DrawTransformKt {
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawTransform, optional float horizontal, optional float vertical);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawTransform, float inset);
+ method public static inline void rotateRad-kdYHfaE(androidx.compose.ui.graphics.drawscope.DrawTransform, float radians, optional long pivot);
+ method public static inline void scale-kdYHfaE(androidx.compose.ui.graphics.drawscope.DrawTransform, float scale, optional long pivot);
+ }
+
+ public final class Fill extends androidx.compose.ui.graphics.drawscope.DrawStyle {
+ field public static final androidx.compose.ui.graphics.drawscope.Fill INSTANCE;
+ }
+
+ public final class Stroke extends androidx.compose.ui.graphics.drawscope.DrawStyle {
+ method public int getCap-KaPHkGw();
+ method public int getJoin-LxFBmk8();
+ method public float getMiter();
+ method public androidx.compose.ui.graphics.PathEffect? getPathEffect();
+ method public float getWidth();
+ property public final int cap;
+ property public final int join;
+ property public final float miter;
+ property public final androidx.compose.ui.graphics.PathEffect? pathEffect;
+ property public final float width;
+ field public static final androidx.compose.ui.graphics.drawscope.Stroke.Companion Companion;
+ field public static final float DefaultMiter = 4.0f;
+ field public static final float HairlineWidth = 0.0f;
+ }
+
+ public static final class Stroke.Companion {
+ method public int getDefaultCap-KaPHkGw();
+ method public int getDefaultJoin-LxFBmk8();
+ property public final int DefaultCap;
+ property public final int DefaultJoin;
+ }
+
+}
+
+package androidx.compose.ui.graphics.painter {
+
+ public final class BitmapPainter extends androidx.compose.ui.graphics.painter.Painter {
+ method public long getIntrinsicSize-NH-jbRc();
+ method protected void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public long intrinsicSize;
+ }
+
+ public final class ColorPainter extends androidx.compose.ui.graphics.painter.Painter {
+ method public long getColor-0d7_KjU();
+ method public long getIntrinsicSize-NH-jbRc();
+ method protected void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public final long color;
+ property public long intrinsicSize;
+ }
+
+ public abstract class Painter {
+ ctor public Painter();
+ method protected boolean applyAlpha(float alpha);
+ method protected boolean applyColorFilter(androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method protected boolean applyLayoutDirection(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public final void draw-ty3CEPU(androidx.compose.ui.graphics.drawscope.DrawScope, long size, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method public abstract long getIntrinsicSize-NH-jbRc();
+ method protected abstract void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public abstract long intrinsicSize;
+ }
+
+}
+
+package androidx.compose.ui.graphics.vector {
+
+ public final class PathBuilder {
+ ctor public PathBuilder();
+ method public androidx.compose.ui.graphics.vector.PathBuilder arcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float x1, float y1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder arcToRelative(float a, float b, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float dx1, float dy1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder close();
+ method public androidx.compose.ui.graphics.vector.PathBuilder curveTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public androidx.compose.ui.graphics.vector.PathBuilder curveToRelative(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> getNodes();
+ method public androidx.compose.ui.graphics.vector.PathBuilder horizontalLineTo(float x);
+ method public androidx.compose.ui.graphics.vector.PathBuilder horizontalLineToRelative(float dx);
+ method public androidx.compose.ui.graphics.vector.PathBuilder lineTo(float x, float y);
+ method public androidx.compose.ui.graphics.vector.PathBuilder lineToRelative(float dx, float dy);
+ method public androidx.compose.ui.graphics.vector.PathBuilder moveTo(float x, float y);
+ method public androidx.compose.ui.graphics.vector.PathBuilder moveToRelative(float dx, float dy);
+ method public androidx.compose.ui.graphics.vector.PathBuilder quadTo(float x1, float y1, float x2, float y2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder quadToRelative(float dx1, float dy1, float dx2, float dy2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveCurveTo(float x1, float y1, float x2, float y2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveCurveToRelative(float dx1, float dy1, float dx2, float dy2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveQuadTo(float x1, float y1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveQuadToRelative(float dx1, float dy1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder verticalLineTo(float y);
+ method public androidx.compose.ui.graphics.vector.PathBuilder verticalLineToRelative(float dy);
+ }
+
+ @androidx.compose.runtime.Immutable public abstract sealed class PathNode {
+ method public final boolean isCurve();
+ method public final boolean isQuad();
+ property public final boolean isCurve;
+ property public final boolean isQuad;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.ArcTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.ArcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartX, float arcStartY);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public boolean component4();
+ method public boolean component5();
+ method public float component6();
+ method public float component7();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.ArcTo copy(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartX, float arcStartY);
+ method public float getArcStartX();
+ method public float getArcStartY();
+ method public float getHorizontalEllipseRadius();
+ method public float getTheta();
+ method public float getVerticalEllipseRadius();
+ method public boolean isMoreThanHalf();
+ method public boolean isPositiveArc();
+ property public final float arcStartX;
+ property public final float arcStartY;
+ property public final float horizontalEllipseRadius;
+ property public final boolean isMoreThanHalf;
+ property public final boolean isPositiveArc;
+ property public final float theta;
+ property public final float verticalEllipseRadius;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.Close extends androidx.compose.ui.graphics.vector.PathNode {
+ field public static final androidx.compose.ui.graphics.vector.PathNode.Close INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.CurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.CurveTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.CurveTo copy(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public float getX1();
+ method public float getX2();
+ method public float getX3();
+ method public float getY1();
+ method public float getY2();
+ method public float getY3();
+ property public final float x1;
+ property public final float x2;
+ property public final float x3;
+ property public final float y1;
+ property public final float y2;
+ property public final float y3;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.HorizontalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.HorizontalTo(float x);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.HorizontalTo copy(float x);
+ method public float getX();
+ property public final float x;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.LineTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.LineTo(float x, float y);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.LineTo copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.MoveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.MoveTo(float x, float y);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.MoveTo copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.QuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.QuadTo(float x1, float y1, float x2, float y2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.QuadTo copy(float x1, float y1, float x2, float y2);
+ method public float getX1();
+ method public float getX2();
+ method public float getY1();
+ method public float getY2();
+ property public final float x1;
+ property public final float x2;
+ property public final float y1;
+ property public final float y2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.ReflectiveCurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.ReflectiveCurveTo(float x1, float y1, float x2, float y2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.ReflectiveCurveTo copy(float x1, float y1, float x2, float y2);
+ method public float getX1();
+ method public float getX2();
+ method public float getY1();
+ method public float getY2();
+ property public final float x1;
+ property public final float x2;
+ property public final float y1;
+ property public final float y2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.ReflectiveQuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.ReflectiveQuadTo(float x, float y);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.ReflectiveQuadTo copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeArcTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeArcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartDx, float arcStartDy);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public boolean component4();
+ method public boolean component5();
+ method public float component6();
+ method public float component7();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeArcTo copy(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartDx, float arcStartDy);
+ method public float getArcStartDx();
+ method public float getArcStartDy();
+ method public float getHorizontalEllipseRadius();
+ method public float getTheta();
+ method public float getVerticalEllipseRadius();
+ method public boolean isMoreThanHalf();
+ method public boolean isPositiveArc();
+ property public final float arcStartDx;
+ property public final float arcStartDy;
+ property public final float horizontalEllipseRadius;
+ property public final boolean isMoreThanHalf;
+ property public final boolean isPositiveArc;
+ property public final float theta;
+ property public final float verticalEllipseRadius;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeCurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeCurveTo(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeCurveTo copy(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public float getDx1();
+ method public float getDx2();
+ method public float getDx3();
+ method public float getDy1();
+ method public float getDy2();
+ method public float getDy3();
+ property public final float dx1;
+ property public final float dx2;
+ property public final float dx3;
+ property public final float dy1;
+ property public final float dy2;
+ property public final float dy3;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeHorizontalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeHorizontalTo(float dx);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeHorizontalTo copy(float dx);
+ method public float getDx();
+ property public final float dx;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeLineTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeLineTo(float dx, float dy);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeLineTo copy(float dx, float dy);
+ method public float getDx();
+ method public float getDy();
+ property public final float dx;
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeMoveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeMoveTo(float dx, float dy);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeMoveTo copy(float dx, float dy);
+ method public float getDx();
+ method public float getDy();
+ property public final float dx;
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeQuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeQuadTo(float dx1, float dy1, float dx2, float dy2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeQuadTo copy(float dx1, float dy1, float dx2, float dy2);
+ method public float getDx1();
+ method public float getDx2();
+ method public float getDy1();
+ method public float getDy2();
+ property public final float dx1;
+ property public final float dx2;
+ property public final float dy1;
+ property public final float dy2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeReflectiveCurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeReflectiveCurveTo(float dx1, float dy1, float dx2, float dy2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeReflectiveCurveTo copy(float dx1, float dy1, float dx2, float dy2);
+ method public float getDx1();
+ method public float getDx2();
+ method public float getDy1();
+ method public float getDy2();
+ property public final float dx1;
+ property public final float dx2;
+ property public final float dy1;
+ property public final float dy2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeReflectiveQuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeReflectiveQuadTo(float dx, float dy);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeReflectiveQuadTo copy(float dx, float dy);
+ method public float getDx();
+ method public float getDy();
+ property public final float dx;
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeVerticalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeVerticalTo(float dy);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeVerticalTo copy(float dy);
+ method public float getDy();
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.VerticalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.VerticalTo(float y);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.VerticalTo copy(float y);
+ method public float getY();
+ property public final float y;
+ }
+
+ public final class PathNodeKt {
+ }
+
+ public final class PathParser {
+ ctor public PathParser();
+ method public androidx.compose.ui.graphics.vector.PathParser addPathNodes(java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> nodes);
+ method public void clear();
+ method public androidx.compose.ui.graphics.vector.PathParser parsePathString(String pathData);
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> toNodes();
+ method public androidx.compose.ui.graphics.Path toPath(optional androidx.compose.ui.graphics.Path target);
+ }
+
+}
+
diff --git a/compose/ui/ui-graphics/api/public_plus_experimental_current.txt b/compose/ui/ui-graphics/api/public_plus_experimental_current.txt
index 587aad3..39b20cc 100644
--- a/compose/ui/ui-graphics/api/public_plus_experimental_current.txt
+++ b/compose/ui/ui-graphics/api/public_plus_experimental_current.txt
@@ -332,6 +332,8 @@
method public long getUnspecified-0d7_KjU();
method public long getWhite-0d7_KjU();
method public long getYellow-0d7_KjU();
+ method @androidx.compose.ui.graphics.ExperimentalGraphicsApi public long hsl-0d7_KjU(float hue, float saturation, float lightness, optional float alpha, optional androidx.compose.ui.graphics.colorspace.Rgb colorSpace);
+ method @androidx.compose.ui.graphics.ExperimentalGraphicsApi public long hsv-0d7_KjU(float hue, float saturation, float value, optional float alpha, optional androidx.compose.ui.graphics.colorspace.Rgb colorSpace);
property public final long Black;
property public final long Blue;
property public final long Cyan;
@@ -397,6 +399,9 @@
public final class DegreesKt {
}
+ @kotlin.RequiresOptIn(message="This API is experimental and is likely to change in the future.") public @interface ExperimentalGraphicsApi {
+ }
+
@androidx.compose.runtime.Immutable public final inline class FilterQuality {
ctor public FilterQuality();
method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
diff --git a/compose/ui/ui-graphics/api/res-1.0.0-beta10.txt b/compose/ui/ui-graphics/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-graphics/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-graphics/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-graphics/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..8e212eb
--- /dev/null
+++ b/compose/ui/ui-graphics/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,1700 @@
+// Signature format: 4.0
+package androidx.compose.ui.graphics {
+
+ public final class AndroidBlendMode_androidKt {
+ method public static boolean isSupported-s9anfk8(int);
+ }
+
+ @kotlin.PublishedApi internal final class AndroidCanvas implements androidx.compose.ui.graphics.Canvas {
+ ctor public AndroidCanvas();
+ method public void clipPath-fquoRGU(androidx.compose.ui.graphics.Path path, int clipOp);
+ method public void clipRect-wxHPq4g(float left, float top, float right, float bottom, int clipOp);
+ method public void concat-58bKbWc(float[] matrix);
+ method public void disableZ();
+ method public void drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public void drawCircle-tVKstsI(long center, float radius, androidx.compose.ui.graphics.Paint paint);
+ method public void drawImage-uwcbMjI(androidx.compose.ui.graphics.ImageBitmap image, long topLeftOffset, androidx.compose.ui.graphics.Paint paint);
+ method public void drawImageRect-bgE79EM(androidx.compose.ui.graphics.ImageBitmap image, long srcOffset, long srcSize, long dstOffset, long dstSize, androidx.compose.ui.graphics.Paint paint);
+ method public void drawLine-bYPfCD8(long p1, long p2, androidx.compose.ui.graphics.Paint paint);
+ method public void drawOval(float left, float top, float right, float bottom, androidx.compose.ui.graphics.Paint paint);
+ method public void drawPath(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Paint paint);
+ method public void drawPoints-iVdqbVo(int pointMode, java.util.List<androidx.compose.ui.geometry.Offset> points, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRawPoints-59E74cI(int pointMode, float[] points, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRect(float left, float top, float right, float bottom, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRoundRect(float left, float top, float right, float bottom, float radiusX, float radiusY, androidx.compose.ui.graphics.Paint paint);
+ method public void drawVertices-nA16xIE(androidx.compose.ui.graphics.Vertices vertices, int blendMode, androidx.compose.ui.graphics.Paint paint);
+ method public void enableZ();
+ method public void restore();
+ method public void rotate(float degrees);
+ method public void save();
+ method public void saveLayer(androidx.compose.ui.geometry.Rect bounds, androidx.compose.ui.graphics.Paint paint);
+ method public void scale(float sx, float sy);
+ method public void skew(float sx, float sy);
+ method public android.graphics.Region.Op toRegionOp--7u2Bmg(int);
+ method public void translate(float dx, float dy);
+ field @kotlin.PublishedApi internal android.graphics.Canvas internalCanvas;
+ }
+
+ public final class AndroidCanvas_androidKt {
+ method public static androidx.compose.ui.graphics.Canvas Canvas(android.graphics.Canvas c);
+ method public static android.graphics.Canvas getNativeCanvas(androidx.compose.ui.graphics.Canvas);
+ }
+
+ public final class AndroidColorFilter_androidKt {
+ method public static android.graphics.ColorFilter asAndroidColorFilter(androidx.compose.ui.graphics.ColorFilter);
+ method public static androidx.compose.ui.graphics.ColorFilter asComposeColorFilter(android.graphics.ColorFilter);
+ }
+
+ public final class AndroidImageBitmap_androidKt {
+ method public static android.graphics.Bitmap asAndroidBitmap(androidx.compose.ui.graphics.ImageBitmap);
+ method public static androidx.compose.ui.graphics.ImageBitmap asImageBitmap(android.graphics.Bitmap);
+ }
+
+ public final class AndroidMatrixConversions_androidKt {
+ method public static void setFrom-7lL006A(float[], android.graphics.Matrix matrix);
+ method public static void setFrom-8AuSnpc(android.graphics.Matrix, float[] matrix);
+ }
+
+ public final class AndroidPaint implements androidx.compose.ui.graphics.Paint {
+ ctor public AndroidPaint();
+ method public android.graphics.Paint asFrameworkPaint();
+ method public float getAlpha();
+ method public int getBlendMode-0nO6VwU();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.graphics.ColorFilter? getColorFilter();
+ method public int getFilterQuality-f-v9h1I();
+ method public androidx.compose.ui.graphics.PathEffect? getPathEffect();
+ method public android.graphics.Shader? getShader();
+ method public int getStrokeCap-KaPHkGw();
+ method public int getStrokeJoin-LxFBmk8();
+ method public float getStrokeMiterLimit();
+ method public float getStrokeWidth();
+ method public int getStyle-TiuSbCo();
+ method public boolean isAntiAlias();
+ method public void setAlpha(float value);
+ method public void setAntiAlias(boolean value);
+ method public void setBlendMode-s9anfk8(int value);
+ method public void setColor-8_81llA(long color);
+ method public void setColorFilter(androidx.compose.ui.graphics.ColorFilter? value);
+ method public void setFilterQuality-vDHp3xo(int value);
+ method public void setPathEffect(androidx.compose.ui.graphics.PathEffect? value);
+ method public void setShader(android.graphics.Shader? value);
+ method public void setStrokeCap-BeK7IIE(int value);
+ method public void setStrokeJoin-Ww9F2mQ(int value);
+ method public void setStrokeMiterLimit(float value);
+ method public void setStrokeWidth(float value);
+ method public void setStyle-k9PVt8s(int value);
+ property public float alpha;
+ property public int blendMode;
+ property public long color;
+ property public androidx.compose.ui.graphics.ColorFilter? colorFilter;
+ property public int filterQuality;
+ property public boolean isAntiAlias;
+ property public androidx.compose.ui.graphics.PathEffect? pathEffect;
+ property public android.graphics.Shader? shader;
+ property public int strokeCap;
+ property public int strokeJoin;
+ property public float strokeMiterLimit;
+ property public float strokeWidth;
+ property public int style;
+ }
+
+ public final class AndroidPaint_androidKt {
+ method public static androidx.compose.ui.graphics.Paint Paint();
+ }
+
+ public final class AndroidPath implements androidx.compose.ui.graphics.Path {
+ ctor public AndroidPath(optional android.graphics.Path internalPath);
+ method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
+ method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
+ method public void addOval(androidx.compose.ui.geometry.Rect oval);
+ method public void addPath-ej0GBII(androidx.compose.ui.graphics.Path path, long offset);
+ method public void addRect(androidx.compose.ui.geometry.Rect rect);
+ method public void addRoundRect(androidx.compose.ui.geometry.RoundRect roundRect);
+ method public void arcTo(androidx.compose.ui.geometry.Rect rect, float startAngleDegrees, float sweepAngleDegrees, boolean forceMoveTo);
+ method public void close();
+ method public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public int getFillType-Rg-k1Os();
+ method public android.graphics.Path getInternalPath();
+ method public boolean isConvex();
+ method public boolean isEmpty();
+ method public void lineTo(float x, float y);
+ method public void moveTo(float x, float y);
+ method public boolean op-xiGExi0(androidx.compose.ui.graphics.Path path1, androidx.compose.ui.graphics.Path path2, int operation);
+ method public void quadraticBezierTo(float x1, float y1, float x2, float y2);
+ method public void relativeCubicTo(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public void relativeLineTo(float dx, float dy);
+ method public void relativeMoveTo(float dx, float dy);
+ method public void relativeQuadraticBezierTo(float dx1, float dy1, float dx2, float dy2);
+ method public void reset();
+ method public void setFillType-oQ8Xj4U(int value);
+ method public void translate-k-4lQ0M(long offset);
+ property public int fillType;
+ property public final android.graphics.Path internalPath;
+ property public boolean isConvex;
+ property public boolean isEmpty;
+ }
+
+ public final class AndroidPathEffect_androidKt {
+ method public static android.graphics.PathEffect asAndroidPathEffect(androidx.compose.ui.graphics.PathEffect);
+ method public static androidx.compose.ui.graphics.PathEffect toComposePathEffect(android.graphics.PathEffect);
+ }
+
+ public final class AndroidPathMeasure implements androidx.compose.ui.graphics.PathMeasure {
+ method public float getLength();
+ method public boolean getSegment(float startDistance, float stopDistance, androidx.compose.ui.graphics.Path destination, boolean startWithMoveTo);
+ method public void setPath(androidx.compose.ui.graphics.Path? path, boolean forceClosed);
+ property public float length;
+ }
+
+ public final class AndroidPathMeasure_androidKt {
+ method public static androidx.compose.ui.graphics.PathMeasure PathMeasure();
+ }
+
+ public final class AndroidPath_androidKt {
+ method public static androidx.compose.ui.graphics.Path Path();
+ method public static inline android.graphics.Path asAndroidPath(androidx.compose.ui.graphics.Path);
+ method public static androidx.compose.ui.graphics.Path asComposePath(android.graphics.Path);
+ }
+
+ public final class AndroidShader_androidKt {
+ }
+
+ public final class AndroidTileMode_androidKt {
+ method public static android.graphics.Shader.TileMode toAndroidTileMode-0vamqd0(int);
+ }
+
+ public final class AndroidVertexMode_androidKt {
+ method public static android.graphics.Canvas.VertexMode toAndroidVertexMode-JOOmi9M(int);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class BlendMode {
+ ctor public BlendMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.BlendMode.Companion Companion;
+ }
+
+ public static final class BlendMode.Companion {
+ method public int getClear-0nO6VwU();
+ method public int getColor-0nO6VwU();
+ method public int getColorBurn-0nO6VwU();
+ method public int getColorDodge-0nO6VwU();
+ method public int getDarken-0nO6VwU();
+ method public int getDifference-0nO6VwU();
+ method public int getDst-0nO6VwU();
+ method public int getDstAtop-0nO6VwU();
+ method public int getDstIn-0nO6VwU();
+ method public int getDstOut-0nO6VwU();
+ method public int getDstOver-0nO6VwU();
+ method public int getExclusion-0nO6VwU();
+ method public int getHardlight-0nO6VwU();
+ method public int getHue-0nO6VwU();
+ method public int getLighten-0nO6VwU();
+ method public int getLuminosity-0nO6VwU();
+ method public int getModulate-0nO6VwU();
+ method public int getMultiply-0nO6VwU();
+ method public int getOverlay-0nO6VwU();
+ method public int getPlus-0nO6VwU();
+ method public int getSaturation-0nO6VwU();
+ method public int getScreen-0nO6VwU();
+ method public int getSoftlight-0nO6VwU();
+ method public int getSrc-0nO6VwU();
+ method public int getSrcAtop-0nO6VwU();
+ method public int getSrcIn-0nO6VwU();
+ method public int getSrcOut-0nO6VwU();
+ method public int getSrcOver-0nO6VwU();
+ method public int getXor-0nO6VwU();
+ property public final int Clear;
+ property public final int Color;
+ property public final int ColorBurn;
+ property public final int ColorDodge;
+ property public final int Darken;
+ property public final int Difference;
+ property public final int Dst;
+ property public final int DstAtop;
+ property public final int DstIn;
+ property public final int DstOut;
+ property public final int DstOver;
+ property public final int Exclusion;
+ property public final int Hardlight;
+ property public final int Hue;
+ property public final int Lighten;
+ property public final int Luminosity;
+ property public final int Modulate;
+ property public final int Multiply;
+ property public final int Overlay;
+ property public final int Plus;
+ property public final int Saturation;
+ property public final int Screen;
+ property public final int Softlight;
+ property public final int Src;
+ property public final int SrcAtop;
+ property public final int SrcIn;
+ property public final int SrcOut;
+ property public final int SrcOver;
+ property public final int Xor;
+ }
+
+ @androidx.compose.runtime.Immutable public abstract sealed class Brush {
+ method public abstract void applyTo-TJof4Gw(long size, androidx.compose.ui.graphics.Paint p, float alpha);
+ field public static final androidx.compose.ui.graphics.Brush.Companion Companion;
+ }
+
+ public static final class Brush.Companion {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush horizontalGradient-CcUA5qQ(java.util.List<androidx.compose.ui.graphics.Color> colors, optional float startX, optional float endX, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush horizontalGradient-NvQjRjk(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional float startX, optional float endX, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush linearGradient-7_sGemo(java.util.List<androidx.compose.ui.graphics.Color> colors, optional long start, optional long end, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush linearGradient-K4jYFb0(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional long start, optional long end, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush radialGradient-YU3LRu0(java.util.List<androidx.compose.ui.graphics.Color> colors, optional long center, optional float radius, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush radialGradient-g04MWJE(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional long center, optional float radius, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush sweepGradient-PvDSl28(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional long center);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush sweepGradient-acbAMd8(java.util.List<androidx.compose.ui.graphics.Color> colors, optional long center);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush verticalGradient-CcUA5qQ(java.util.List<androidx.compose.ui.graphics.Color> colors, optional float startY, optional float endY, optional int tileMode);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.Brush verticalGradient-NvQjRjk(kotlin.Pair<java.lang.Float,androidx.compose.ui.graphics.Color>![] colorStops, optional float startY, optional float endY, optional int tileMode);
+ }
+
+ public final class BrushKt {
+ method public static androidx.compose.ui.graphics.ShaderBrush ShaderBrush(android.graphics.Shader shader);
+ }
+
+ public interface Canvas {
+ method public void clipPath-fquoRGU(androidx.compose.ui.graphics.Path path, optional int clipOp);
+ method public default void clipRect-MsRSx38(androidx.compose.ui.geometry.Rect rect, optional int clipOp);
+ method public void clipRect-wxHPq4g(float left, float top, float right, float bottom, optional int clipOp);
+ method public void concat-58bKbWc(float[] matrix);
+ method public void disableZ();
+ method public default void drawArc(androidx.compose.ui.geometry.Rect rect, float startAngle, float sweepAngle, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public void drawArc(float left, float top, float right, float bottom, float startAngle, float sweepAngle, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public default void drawArcRad(androidx.compose.ui.geometry.Rect rect, float startAngleRad, float sweepAngleRad, boolean useCenter, androidx.compose.ui.graphics.Paint paint);
+ method public void drawCircle-tVKstsI(long center, float radius, androidx.compose.ui.graphics.Paint paint);
+ method public void drawImage-uwcbMjI(androidx.compose.ui.graphics.ImageBitmap image, long topLeftOffset, androidx.compose.ui.graphics.Paint paint);
+ method public void drawImageRect-bgE79EM(androidx.compose.ui.graphics.ImageBitmap image, optional long srcOffset, optional long srcSize, optional long dstOffset, optional long dstSize, androidx.compose.ui.graphics.Paint paint);
+ method public void drawLine-bYPfCD8(long p1, long p2, androidx.compose.ui.graphics.Paint paint);
+ method public default void drawOval(androidx.compose.ui.geometry.Rect rect, androidx.compose.ui.graphics.Paint paint);
+ method public void drawOval(float left, float top, float right, float bottom, androidx.compose.ui.graphics.Paint paint);
+ method public void drawPath(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Paint paint);
+ method public void drawPoints-iVdqbVo(int pointMode, java.util.List<androidx.compose.ui.geometry.Offset> points, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRawPoints-59E74cI(int pointMode, float[] points, androidx.compose.ui.graphics.Paint paint);
+ method public default void drawRect(androidx.compose.ui.geometry.Rect rect, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRect(float left, float top, float right, float bottom, androidx.compose.ui.graphics.Paint paint);
+ method public void drawRoundRect(float left, float top, float right, float bottom, float radiusX, float radiusY, androidx.compose.ui.graphics.Paint paint);
+ method public void drawVertices-nA16xIE(androidx.compose.ui.graphics.Vertices vertices, int blendMode, androidx.compose.ui.graphics.Paint paint);
+ method public void enableZ();
+ method public void restore();
+ method public void rotate(float degrees);
+ method public void save();
+ method public void saveLayer(androidx.compose.ui.geometry.Rect bounds, androidx.compose.ui.graphics.Paint paint);
+ method public void scale(float sx, optional float sy);
+ method public void skew(float sx, float sy);
+ method public default void skewRad(float sxRad, float syRad);
+ method public void translate(float dx, float dy);
+ }
+
+ public final class CanvasHolder {
+ ctor public CanvasHolder();
+ method public inline void drawInto(android.graphics.Canvas targetCanvas, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Canvas,kotlin.Unit> block);
+ field @kotlin.PublishedApi internal final androidx.compose.ui.graphics.AndroidCanvas androidCanvas;
+ }
+
+ public final class CanvasKt {
+ method public static androidx.compose.ui.graphics.Canvas Canvas(androidx.compose.ui.graphics.ImageBitmap image);
+ method public static void rotate(androidx.compose.ui.graphics.Canvas, float degrees, float pivotX, float pivotY);
+ method public static void rotateRad(androidx.compose.ui.graphics.Canvas, float radians, optional float pivotX, optional float pivotY);
+ method public static void scale(androidx.compose.ui.graphics.Canvas, float sx, optional float sy, float pivotX, float pivotY);
+ method public static inline void withSave(androidx.compose.ui.graphics.Canvas, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ method public static inline void withSaveLayer(androidx.compose.ui.graphics.Canvas, androidx.compose.ui.geometry.Rect bounds, androidx.compose.ui.graphics.Paint paint, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ClipOp {
+ ctor public ClipOp();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.ClipOp.Companion Companion;
+ }
+
+ public static final class ClipOp.Companion {
+ method public int getDifference-rtfAjoo();
+ method public int getIntersect-rtfAjoo();
+ property public final int Difference;
+ property public final int Intersect;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Color {
+ ctor public Color();
+ method @androidx.compose.runtime.Stable public static operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component2-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component3-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component4-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator androidx.compose.ui.graphics.colorspace.ColorSpace component5-impl(long $this);
+ method public static long constructor-impl(long value);
+ method public static long convert-0d7_KjU(long $this, androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace);
+ method @androidx.compose.runtime.Stable public static long copy-0d7_KjU(long $this, optional float alpha, optional float red, optional float green, optional float blue);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getAlpha-impl(long $this);
+ method public static float getBlue-impl(long $this);
+ method public static androidx.compose.ui.graphics.colorspace.ColorSpace getColorSpace-impl(long $this);
+ method public static float getGreen-impl(long $this);
+ method public static float getRed-impl(long $this);
+ method public long getValue-s-VKNKU();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ property public final long value;
+ field public static final androidx.compose.ui.graphics.Color.Companion Companion;
+ }
+
+ public static final class Color.Companion {
+ method public long getBlack-0d7_KjU();
+ method public long getBlue-0d7_KjU();
+ method public long getCyan-0d7_KjU();
+ method public long getDarkGray-0d7_KjU();
+ method public long getGray-0d7_KjU();
+ method public long getGreen-0d7_KjU();
+ method public long getLightGray-0d7_KjU();
+ method public long getMagenta-0d7_KjU();
+ method public long getRed-0d7_KjU();
+ method public long getTransparent-0d7_KjU();
+ method public long getUnspecified-0d7_KjU();
+ method public long getWhite-0d7_KjU();
+ method public long getYellow-0d7_KjU();
+ property public final long Black;
+ property public final long Blue;
+ property public final long Cyan;
+ property public final long DarkGray;
+ property public final long Gray;
+ property public final long Green;
+ property public final long LightGray;
+ property public final long Magenta;
+ property public final long Red;
+ property public final long Transparent;
+ property public final long Unspecified;
+ property public final long White;
+ property public final long Yellow;
+ }
+
+ @androidx.compose.runtime.Immutable public final class ColorFilter {
+ field public static final androidx.compose.ui.graphics.ColorFilter.Companion Companion;
+ }
+
+ public static final class ColorFilter.Companion {
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.ColorFilter colorMatrix-jHG-Opc(float[] colorMatrix);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.ColorFilter lighting-6xK2E-Q(long multiply, long add);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.graphics.ColorFilter tint-aamYUWA(long color, optional int blendMode);
+ }
+
+ public final class ColorKt {
+ method @androidx.compose.runtime.Stable public static long Color(float red, float green, float blue, optional float alpha, optional androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace);
+ method @androidx.compose.runtime.Stable public static long Color(int color);
+ method @androidx.compose.runtime.Stable public static long Color(long color);
+ method @androidx.compose.runtime.Stable public static long Color(int red, int green, int blue, optional int alpha);
+ method @androidx.compose.runtime.Stable public static long compositeOver-6xK2E-Q(long, long background);
+ method public static inline boolean isSpecified-8_81llA(long);
+ method public static inline boolean isUnspecified-8_81llA(long);
+ method @androidx.compose.runtime.Stable public static long lerp-m18UwgE(long start, long stop, float fraction);
+ method @androidx.compose.runtime.Stable public static float luminance-8_81llA(long);
+ method public static inline long takeOrElse-iYUlWp8(long, kotlin.jvm.functions.Function0<androidx.compose.ui.graphics.Color> block);
+ method @androidx.compose.runtime.Stable public static int toArgb-8_81llA(long);
+ }
+
+ public final inline class ColorMatrix {
+ ctor public ColorMatrix();
+ method public static float[]! constructor-impl(optional float[] values);
+ method public static void convertRgbToYuv-impl(float[]! $this);
+ method public static void convertYuvToRgb-impl(float[]! $this);
+ method public static inline boolean equals-impl(float[]! p, Object? p1);
+ method public static boolean equals-impl0(float[] p1, float[] p2);
+ method public static inline operator float get-impl(float[] $this, int row, int column);
+ method public float[] getValues();
+ method public static inline int hashCode-impl(float[]! p);
+ method public static void reset-impl(float[]! $this);
+ method public static inline operator void set-impl(float[] $this, int row, int column, float v);
+ method public static void set-jHG-Opc(float[] $this, float[] src);
+ method public static void setToRotateBlue-impl(float[] $this, float degrees);
+ method public static void setToRotateGreen-impl(float[] $this, float degrees);
+ method public static void setToRotateRed-impl(float[] $this, float degrees);
+ method public static void setToSaturation-impl(float[] $this, float sat);
+ method public static void setToScale-impl(float[] $this, float redScale, float greenScale, float blueScale, float alphaScale);
+ method public static operator void timesAssign-jHG-Opc(float[] $this, float[] colorMatrix);
+ method public static inline String! toString-impl(float[]! p);
+ property public final float[] values;
+ }
+
+ public final class DegreesKt {
+ method @kotlin.PublishedApi internal static float degrees(float radians);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class FilterQuality {
+ ctor public FilterQuality();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public int getValue();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ property public final int value;
+ field public static final androidx.compose.ui.graphics.FilterQuality.Companion Companion;
+ }
+
+ public static final class FilterQuality.Companion {
+ method public int getHigh-f-v9h1I();
+ method public int getLow-f-v9h1I();
+ method public int getMedium-f-v9h1I();
+ method public int getNone-f-v9h1I();
+ property public final int High;
+ property public final int Low;
+ property public final int Medium;
+ property public final int None;
+ }
+
+ public final class Float16Kt {
+ }
+
+ public interface ImageBitmap {
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace getColorSpace();
+ method public int getConfig-_sVssgQ();
+ method public boolean getHasAlpha();
+ method public int getHeight();
+ method public int getWidth();
+ method public void prepareToDraw();
+ method public void readPixels(int[] buffer, optional int startX, optional int startY, optional int width, optional int height, optional int bufferOffset, optional int stride);
+ property public abstract androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace;
+ property public abstract int config;
+ property public abstract boolean hasAlpha;
+ property public abstract int height;
+ property public abstract int width;
+ field public static final androidx.compose.ui.graphics.ImageBitmap.Companion Companion;
+ }
+
+ public static final class ImageBitmap.Companion {
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ImageBitmapConfig {
+ ctor public ImageBitmapConfig();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public int getValue();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ property public final int value;
+ field public static final androidx.compose.ui.graphics.ImageBitmapConfig.Companion Companion;
+ }
+
+ public static final class ImageBitmapConfig.Companion {
+ method public int getAlpha8-_sVssgQ();
+ method public int getArgb8888-_sVssgQ();
+ method public int getF16-_sVssgQ();
+ method public int getGpu-_sVssgQ();
+ method public int getRgb565-_sVssgQ();
+ property public final int Alpha8;
+ property public final int Argb8888;
+ property public final int F16;
+ property public final int Gpu;
+ property public final int Rgb565;
+ }
+
+ public final class ImageBitmapKt {
+ method public static androidx.compose.ui.graphics.ImageBitmap ImageBitmap-E8BOdIU(int width, int height, optional int config, optional boolean hasAlpha, optional androidx.compose.ui.graphics.colorspace.ColorSpace colorSpace);
+ method public static androidx.compose.ui.graphics.PixelMap toPixelMap(androidx.compose.ui.graphics.ImageBitmap, optional int startX, optional int startY, optional int width, optional int height, optional int[] buffer, optional int bufferOffset, optional int stride);
+ }
+
+ @androidx.compose.runtime.Immutable public final class LinearGradient extends androidx.compose.ui.graphics.ShaderBrush {
+ method public android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ public final inline class Matrix {
+ ctor public Matrix();
+ method public static float[]! constructor-impl(optional float[] values);
+ method public static inline boolean equals-impl(float[]! p, Object? p1);
+ method public static boolean equals-impl0(float[] p1, float[] p2);
+ method public static inline operator float get-impl(float[] $this, int row, int column);
+ method public float[] getValues();
+ method public static inline int hashCode-impl(float[]! p);
+ method public static void invert-impl(float[]! $this);
+ method public static androidx.compose.ui.geometry.Rect map-impl(float[] $this, androidx.compose.ui.geometry.Rect rect);
+ method public static void map-impl(float[] $this, androidx.compose.ui.geometry.MutableRect rect);
+ method public static long map-k-4lQ0M(float[] $this, long point);
+ method public static void reset-impl(float[]! $this);
+ method public static void rotateX-impl(float[] $this, float degrees);
+ method public static void rotateY-impl(float[] $this, float degrees);
+ method public static void rotateZ-impl(float[] $this, float degrees);
+ method public static void scale-impl(float[] $this, optional float x, optional float y, optional float z);
+ method public static inline operator void set-impl(float[] $this, int row, int column, float v);
+ method public static void setFrom-58bKbWc(float[] $this, float[] matrix);
+ method public static operator void timesAssign-58bKbWc(float[] $this, float[] m);
+ method public static String toString-impl(float[]! $this);
+ method public static void translate-impl(float[] $this, optional float x, optional float y, optional float z);
+ property public final float[] values;
+ field public static final androidx.compose.ui.graphics.Matrix.Companion Companion;
+ field public static final int Perspective0 = 3; // 0x3
+ field public static final int Perspective1 = 7; // 0x7
+ field public static final int Perspective2 = 15; // 0xf
+ field public static final int ScaleX = 0; // 0x0
+ field public static final int ScaleY = 5; // 0x5
+ field public static final int ScaleZ = 10; // 0xa
+ field public static final int SkewX = 4; // 0x4
+ field public static final int SkewY = 1; // 0x1
+ field public static final int TranslateX = 12; // 0xc
+ field public static final int TranslateY = 13; // 0xd
+ field public static final int TranslateZ = 14; // 0xe
+ }
+
+ public static final class Matrix.Companion {
+ }
+
+ public final class MatrixKt {
+ method public static boolean isIdentity-58bKbWc(float[]);
+ }
+
+ public abstract sealed class Outline {
+ method public abstract androidx.compose.ui.geometry.Rect getBounds();
+ property public abstract androidx.compose.ui.geometry.Rect bounds;
+ }
+
+ public static final class Outline.Generic extends androidx.compose.ui.graphics.Outline {
+ ctor public Outline.Generic(androidx.compose.ui.graphics.Path path);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public androidx.compose.ui.graphics.Path getPath();
+ property public androidx.compose.ui.geometry.Rect bounds;
+ property public final androidx.compose.ui.graphics.Path path;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class Outline.Rectangle extends androidx.compose.ui.graphics.Outline {
+ ctor public Outline.Rectangle(androidx.compose.ui.geometry.Rect rect);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public androidx.compose.ui.geometry.Rect getRect();
+ property public androidx.compose.ui.geometry.Rect bounds;
+ property public final androidx.compose.ui.geometry.Rect rect;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class Outline.Rounded extends androidx.compose.ui.graphics.Outline {
+ ctor public Outline.Rounded(androidx.compose.ui.geometry.RoundRect roundRect);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public androidx.compose.ui.geometry.RoundRect getRoundRect();
+ property public androidx.compose.ui.geometry.Rect bounds;
+ property public final androidx.compose.ui.geometry.RoundRect roundRect;
+ }
+
+ public final class OutlineKt {
+ method public static void addOutline(androidx.compose.ui.graphics.Path, androidx.compose.ui.graphics.Outline outline);
+ method public static void drawOutline(androidx.compose.ui.graphics.Canvas, androidx.compose.ui.graphics.Outline outline, androidx.compose.ui.graphics.Paint paint);
+ method public static void drawOutline-Ar0j1Zw(androidx.compose.ui.graphics.drawscope.DrawScope, androidx.compose.ui.graphics.Outline outline, androidx.compose.ui.graphics.Brush brush, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public static void drawOutline-mlewCHg(androidx.compose.ui.graphics.drawscope.DrawScope, androidx.compose.ui.graphics.Outline outline, long color, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ }
+
+ public interface Paint {
+ method public android.graphics.Paint asFrameworkPaint();
+ method public float getAlpha();
+ method public int getBlendMode-0nO6VwU();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.graphics.ColorFilter? getColorFilter();
+ method public int getFilterQuality-f-v9h1I();
+ method public androidx.compose.ui.graphics.PathEffect? getPathEffect();
+ method public android.graphics.Shader? getShader();
+ method public int getStrokeCap-KaPHkGw();
+ method public int getStrokeJoin-LxFBmk8();
+ method public float getStrokeMiterLimit();
+ method public float getStrokeWidth();
+ method public int getStyle-TiuSbCo();
+ method public boolean isAntiAlias();
+ method public void setAlpha(float p);
+ method public void setAntiAlias(boolean p);
+ method public void setBlendMode-s9anfk8(int p);
+ method public void setColor-8_81llA(long p);
+ method public void setColorFilter(androidx.compose.ui.graphics.ColorFilter? p);
+ method public void setFilterQuality-vDHp3xo(int p);
+ method public void setPathEffect(androidx.compose.ui.graphics.PathEffect? p);
+ method public void setShader(android.graphics.Shader? p);
+ method public void setStrokeCap-BeK7IIE(int p);
+ method public void setStrokeJoin-Ww9F2mQ(int p);
+ method public void setStrokeMiterLimit(float p);
+ method public void setStrokeWidth(float p);
+ method public void setStyle-k9PVt8s(int p);
+ property public abstract float alpha;
+ property public abstract int blendMode;
+ property public abstract long color;
+ property public abstract androidx.compose.ui.graphics.ColorFilter? colorFilter;
+ property public abstract int filterQuality;
+ property public abstract boolean isAntiAlias;
+ property public abstract androidx.compose.ui.graphics.PathEffect? pathEffect;
+ property public abstract android.graphics.Shader? shader;
+ property public abstract int strokeCap;
+ property public abstract int strokeJoin;
+ property public abstract float strokeMiterLimit;
+ property public abstract float strokeWidth;
+ property public abstract int style;
+ }
+
+ public final class PaintKt {
+ field public static final float DefaultAlpha = 1.0f;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PaintingStyle {
+ ctor public PaintingStyle();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PaintingStyle.Companion Companion;
+ }
+
+ public static final class PaintingStyle.Companion {
+ method public int getFill-TiuSbCo();
+ method public int getStroke-TiuSbCo();
+ property public final int Fill;
+ property public final int Stroke;
+ }
+
+ public interface Path {
+ method public void addArc(androidx.compose.ui.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
+ method public void addArcRad(androidx.compose.ui.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
+ method public void addOval(androidx.compose.ui.geometry.Rect oval);
+ method public void addPath-ej0GBII(androidx.compose.ui.graphics.Path path, optional long offset);
+ method public void addRect(androidx.compose.ui.geometry.Rect rect);
+ method public void addRoundRect(androidx.compose.ui.geometry.RoundRect roundRect);
+ method public void arcTo(androidx.compose.ui.geometry.Rect rect, float startAngleDegrees, float sweepAngleDegrees, boolean forceMoveTo);
+ method public default void arcToRad(androidx.compose.ui.geometry.Rect rect, float startAngleRadians, float sweepAngleRadians, boolean forceMoveTo);
+ method public void close();
+ method public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public androidx.compose.ui.geometry.Rect getBounds();
+ method public int getFillType-Rg-k1Os();
+ method public boolean isConvex();
+ method public boolean isEmpty();
+ method public void lineTo(float x, float y);
+ method public void moveTo(float x, float y);
+ method public boolean op-xiGExi0(androidx.compose.ui.graphics.Path path1, androidx.compose.ui.graphics.Path path2, int operation);
+ method public void quadraticBezierTo(float x1, float y1, float x2, float y2);
+ method public void relativeCubicTo(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public void relativeLineTo(float dx, float dy);
+ method public void relativeMoveTo(float dx, float dy);
+ method public void relativeQuadraticBezierTo(float dx1, float dy1, float dx2, float dy2);
+ method public void reset();
+ method public void setFillType-oQ8Xj4U(int p);
+ method public void translate-k-4lQ0M(long offset);
+ property public abstract int fillType;
+ property public abstract boolean isConvex;
+ property public abstract boolean isEmpty;
+ field public static final androidx.compose.ui.graphics.Path.Companion Companion;
+ }
+
+ public static final class Path.Companion {
+ method public androidx.compose.ui.graphics.Path combine-mTgLSnE(int operation, androidx.compose.ui.graphics.Path path1, androidx.compose.ui.graphics.Path path2);
+ }
+
+ public interface PathEffect {
+ field public static final androidx.compose.ui.graphics.PathEffect.Companion Companion;
+ }
+
+ public static final class PathEffect.Companion {
+ method public androidx.compose.ui.graphics.PathEffect chainPathEffect(androidx.compose.ui.graphics.PathEffect outer, androidx.compose.ui.graphics.PathEffect inner);
+ method public androidx.compose.ui.graphics.PathEffect cornerPathEffect(float radius);
+ method public androidx.compose.ui.graphics.PathEffect dashPathEffect(float[] intervals, optional float phase);
+ method public androidx.compose.ui.graphics.PathEffect stampedPathEffect-czNbfQQ(androidx.compose.ui.graphics.Path shape, float advance, float phase, int style);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PathFillType {
+ ctor public PathFillType();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PathFillType.Companion Companion;
+ }
+
+ public static final class PathFillType.Companion {
+ method public int getEvenOdd-Rg-k1Os();
+ method public int getNonZero-Rg-k1Os();
+ property public final int EvenOdd;
+ property public final int NonZero;
+ }
+
+ public interface PathMeasure {
+ method public float getLength();
+ method public boolean getSegment(float startDistance, float stopDistance, androidx.compose.ui.graphics.Path destination, optional boolean startWithMoveTo);
+ method public void setPath(androidx.compose.ui.graphics.Path? path, boolean forceClosed);
+ property public abstract float length;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PathOperation {
+ ctor public PathOperation();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PathOperation.Companion Companion;
+ }
+
+ public static final class PathOperation.Companion {
+ method public int getDifference-b3I0S0c();
+ method public int getIntersect-b3I0S0c();
+ method public int getReverseDifference-b3I0S0c();
+ method public int getUnion-b3I0S0c();
+ method public int getXor-b3I0S0c();
+ property public final int Difference;
+ property public final int Intersect;
+ property public final int ReverseDifference;
+ property public final int Union;
+ property public final int Xor;
+ }
+
+ public final class PathOperationKt {
+ method @Deprecated public static int getDifference(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getIntersect(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getReverseDifference(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getUnion(androidx.compose.ui.graphics.PathOperation.Companion);
+ method @Deprecated public static int getXor(androidx.compose.ui.graphics.PathOperation.Companion);
+ }
+
+ public final class PixelMap {
+ ctor public PixelMap(int[] buffer, int width, int height, int bufferOffset, int stride);
+ method public operator long get-0d7_KjU(int x, int y);
+ method public int[] getBuffer();
+ method public int getBufferOffset();
+ method public int getHeight();
+ method public int getStride();
+ method public int getWidth();
+ property public final int[] buffer;
+ property public final int bufferOffset;
+ property public final int height;
+ property public final int stride;
+ property public final int width;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class PointMode {
+ ctor public PointMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.PointMode.Companion Companion;
+ }
+
+ public static final class PointMode.Companion {
+ method public int getLines-r_lszbg();
+ method public int getPoints-r_lszbg();
+ method public int getPolygon-r_lszbg();
+ property public final int Lines;
+ property public final int Points;
+ property public final int Polygon;
+ }
+
+ @androidx.compose.runtime.Immutable public final class RadialGradient extends androidx.compose.ui.graphics.ShaderBrush {
+ method public android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ public final class RectHelper_androidKt {
+ method public static android.graphics.Rect toAndroidRect(androidx.compose.ui.geometry.Rect);
+ method public static android.graphics.RectF toAndroidRectF(androidx.compose.ui.geometry.Rect);
+ method public static androidx.compose.ui.geometry.Rect toComposeRect(android.graphics.Rect);
+ }
+
+ public final class RectangleShapeKt {
+ method public static androidx.compose.ui.graphics.Shape getRectangleShape();
+ }
+
+ @androidx.compose.runtime.Immutable public abstract class ShaderBrush extends androidx.compose.ui.graphics.Brush {
+ ctor public ShaderBrush();
+ method public final void applyTo-TJof4Gw(long size, androidx.compose.ui.graphics.Paint p, float alpha);
+ method public abstract android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ public final class ShaderKt {
+ method public static android.graphics.Shader ImageShader-UWo3-ZU(androidx.compose.ui.graphics.ImageBitmap image, optional int tileModeX, optional int tileModeY);
+ method public static android.graphics.Shader LinearGradientShader-GfyHbQM(long from, long to, java.util.List<androidx.compose.ui.graphics.Color> colors, optional java.util.List<java.lang.Float>? colorStops, optional int tileMode);
+ method public static android.graphics.Shader RadialGradientShader-cY6o93o(long center, float radius, java.util.List<androidx.compose.ui.graphics.Color> colors, optional java.util.List<java.lang.Float>? colorStops, optional int tileMode);
+ method public static android.graphics.Shader SweepGradientShader-GpNgDDw(long center, java.util.List<androidx.compose.ui.graphics.Color> colors, optional java.util.List<java.lang.Float>? colorStops);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Shadow {
+ method public androidx.compose.ui.graphics.Shadow copy-vQQzcCI(optional long color, optional long offset, optional float blurRadius);
+ method public float getBlurRadius();
+ method public long getColor-0d7_KjU();
+ method public long getOffset-F1C5BW0();
+ property public final float blurRadius;
+ property public final long color;
+ property public final long offset;
+ field public static final androidx.compose.ui.graphics.Shadow.Companion Companion;
+ }
+
+ public static final class Shadow.Companion {
+ method public androidx.compose.ui.graphics.Shadow getNone();
+ property public final androidx.compose.ui.graphics.Shadow None;
+ }
+
+ public final class ShadowKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.graphics.Shadow lerp(androidx.compose.ui.graphics.Shadow start, androidx.compose.ui.graphics.Shadow stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public interface Shape {
+ method public androidx.compose.ui.graphics.Outline createOutline-9w1PWio(long size, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.unit.Density density);
+ }
+
+ @androidx.compose.runtime.Immutable public final class SolidColor extends androidx.compose.ui.graphics.Brush {
+ method public void applyTo-TJof4Gw(long size, androidx.compose.ui.graphics.Paint p, float alpha);
+ method public long getValue-0d7_KjU();
+ property public final long value;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class StampedPathEffectStyle {
+ ctor public StampedPathEffectStyle();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.StampedPathEffectStyle.Companion Companion;
+ }
+
+ public static final class StampedPathEffectStyle.Companion {
+ method public int getMorph-Ypspkwk();
+ method public int getRotate-Ypspkwk();
+ method public int getTranslate-Ypspkwk();
+ property public final int Morph;
+ property public final int Rotate;
+ property public final int Translate;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class StrokeCap {
+ ctor public StrokeCap();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.StrokeCap.Companion Companion;
+ }
+
+ public static final class StrokeCap.Companion {
+ method public int getButt-KaPHkGw();
+ method public int getRound-KaPHkGw();
+ method public int getSquare-KaPHkGw();
+ property public final int Butt;
+ property public final int Round;
+ property public final int Square;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class StrokeJoin {
+ ctor public StrokeJoin();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.StrokeJoin.Companion Companion;
+ }
+
+ public static final class StrokeJoin.Companion {
+ method public int getBevel-LxFBmk8();
+ method public int getMiter-LxFBmk8();
+ method public int getRound-LxFBmk8();
+ property public final int Bevel;
+ property public final int Miter;
+ property public final int Round;
+ }
+
+ @androidx.compose.runtime.Immutable public final class SweepGradient extends androidx.compose.ui.graphics.ShaderBrush {
+ method public android.graphics.Shader createShader-uvyYCjk(long size);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TileMode {
+ ctor public TileMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.TileMode.Companion Companion;
+ }
+
+ public static final class TileMode.Companion {
+ method public int getClamp-3opZhB0();
+ method public int getMirror-3opZhB0();
+ method public int getRepeated-3opZhB0();
+ property public final int Clamp;
+ property public final int Mirror;
+ property public final int Repeated;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class VertexMode {
+ ctor public VertexMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.VertexMode.Companion Companion;
+ }
+
+ public static final class VertexMode.Companion {
+ method public int getTriangleFan-c2xauaI();
+ method public int getTriangleStrip-c2xauaI();
+ method public int getTriangles-c2xauaI();
+ property public final int TriangleFan;
+ property public final int TriangleStrip;
+ property public final int Triangles;
+ }
+
+ public final class Vertices {
+ method public int[] getColors();
+ method public short[] getIndices();
+ method public float[] getPositions();
+ method public float[] getTextureCoordinates();
+ method public int getVertexMode-c2xauaI();
+ property public final int[] colors;
+ property public final short[] indices;
+ property public final float[] positions;
+ property public final float[] textureCoordinates;
+ property public final int vertexMode;
+ }
+
+}
+
+package androidx.compose.ui.graphics.colorspace {
+
+ public abstract class Adaptation {
+ field public static final androidx.compose.ui.graphics.colorspace.Adaptation.Companion Companion;
+ }
+
+ public static final class Adaptation.Companion {
+ method public androidx.compose.ui.graphics.colorspace.Adaptation getBradford();
+ method public androidx.compose.ui.graphics.colorspace.Adaptation getCiecat02();
+ method public androidx.compose.ui.graphics.colorspace.Adaptation getVonKries();
+ property public final androidx.compose.ui.graphics.colorspace.Adaptation Bradford;
+ property public final androidx.compose.ui.graphics.colorspace.Adaptation Ciecat02;
+ property public final androidx.compose.ui.graphics.colorspace.Adaptation VonKries;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ColorModel {
+ ctor public ColorModel();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static int getComponentCount-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.graphics.colorspace.ColorModel.Companion Companion;
+ }
+
+ public static final class ColorModel.Companion {
+ method public long getCmyk-xdoWZVw();
+ method public long getLab-xdoWZVw();
+ method public long getRgb-xdoWZVw();
+ method public long getXyz-xdoWZVw();
+ property public final long Cmyk;
+ property public final long Lab;
+ property public final long Rgb;
+ property public final long Xyz;
+ }
+
+ public abstract class ColorSpace {
+ method public final float[] fromXyz(float x, float y, float z);
+ method public abstract float[] fromXyz(float[] v);
+ method public final int getComponentCount();
+ method public abstract float getMaxValue(int component);
+ method public abstract float getMinValue(int component);
+ method public final long getModel-xdoWZVw();
+ method public final String getName();
+ method public boolean isSrgb();
+ method public abstract boolean isWideGamut();
+ method public final float[] toXyz(float r, float g, float b);
+ method public abstract float[] toXyz(float[] v);
+ property public final int componentCount;
+ property public boolean isSrgb;
+ property public abstract boolean isWideGamut;
+ property public final long model;
+ property public final String name;
+ }
+
+ public final class ColorSpaceKt {
+ method public static androidx.compose.ui.graphics.colorspace.ColorSpace adapt(androidx.compose.ui.graphics.colorspace.ColorSpace, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, optional androidx.compose.ui.graphics.colorspace.Adaptation adaptation);
+ method public static androidx.compose.ui.graphics.colorspace.ColorSpace adapt(androidx.compose.ui.graphics.colorspace.ColorSpace, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint);
+ method public static androidx.compose.ui.graphics.colorspace.Connector connect-InwLUsE(androidx.compose.ui.graphics.colorspace.ColorSpace, optional androidx.compose.ui.graphics.colorspace.ColorSpace destination, optional int intent);
+ }
+
+ public final class ColorSpaces {
+ method public androidx.compose.ui.graphics.colorspace.Rgb getAces();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getAcescg();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getAdobeRgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getBt2020();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getBt709();
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace getCieLab();
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace getCieXyz();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getDciP3();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getDisplayP3();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getExtendedSrgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getLinearExtendedSrgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getLinearSrgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getNtsc1953();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getProPhotoRgb();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getSmpteC();
+ method public androidx.compose.ui.graphics.colorspace.Rgb getSrgb();
+ method public androidx.compose.ui.graphics.colorspace.ColorSpace? match(float[] toXYZD50, androidx.compose.ui.graphics.colorspace.TransferParameters function);
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Aces;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Acescg;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb AdobeRgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Bt2020;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Bt709;
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace CieLab;
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace CieXyz;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb DciP3;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb DisplayP3;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb ExtendedSrgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb LinearExtendedSrgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb LinearSrgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Ntsc1953;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb ProPhotoRgb;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb SmpteC;
+ property public final androidx.compose.ui.graphics.colorspace.Rgb Srgb;
+ field public static final androidx.compose.ui.graphics.colorspace.ColorSpaces INSTANCE;
+ }
+
+ public class Connector {
+ method public final androidx.compose.ui.graphics.colorspace.ColorSpace getDestination();
+ method public final int getRenderIntent-uksYyKA();
+ method public final androidx.compose.ui.graphics.colorspace.ColorSpace getSource();
+ method public final float[] transform(float r, float g, float b);
+ method public float[] transform(float[] v);
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace destination;
+ property public final int renderIntent;
+ property public final androidx.compose.ui.graphics.colorspace.ColorSpace source;
+ }
+
+ public final class Illuminant {
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getA();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getB();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getC();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD50();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD55();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD60();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD65();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getD75();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getE();
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint A;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint B;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint C;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D50;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D55;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D60;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D65;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint D75;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint E;
+ field public static final androidx.compose.ui.graphics.colorspace.Illuminant INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class RenderIntent {
+ ctor public RenderIntent();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.graphics.colorspace.RenderIntent.Companion Companion;
+ }
+
+ public static final class RenderIntent.Companion {
+ method public int getAbsolute-uksYyKA();
+ method public int getPerceptual-uksYyKA();
+ method public int getRelative-uksYyKA();
+ method public int getSaturation-uksYyKA();
+ property public final int Absolute;
+ property public final int Perceptual;
+ property public final int Relative;
+ property public final int Saturation;
+ }
+
+ public final class Rgb extends androidx.compose.ui.graphics.colorspace.ColorSpace {
+ ctor public Rgb(String name, float[] toXYZ, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf);
+ ctor public Rgb(String name, float[] primaries, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf, float min, float max);
+ ctor public Rgb(String name, float[] toXYZ, androidx.compose.ui.graphics.colorspace.TransferParameters function);
+ ctor public Rgb(String name, float[] primaries, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, androidx.compose.ui.graphics.colorspace.TransferParameters function);
+ ctor public Rgb(String name, float[] toXYZ, double gamma);
+ ctor public Rgb(String name, float[] primaries, androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint, double gamma);
+ method public float[] fromLinear(float r, float g, float b);
+ method public float[] fromLinear(float[] v);
+ method public float[] fromXyz(float[] v);
+ method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getEotf();
+ method public float[] getInverseTransform();
+ method public float[] getInverseTransform(float[] inverseTransform);
+ method public float getMaxValue(int component);
+ method public float getMinValue(int component);
+ method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getOetf();
+ method public float[] getPrimaries();
+ method public float[] getPrimaries(float[] primaries);
+ method public androidx.compose.ui.graphics.colorspace.TransferParameters? getTransferParameters();
+ method public float[] getTransform();
+ method public float[] getTransform(float[] transform);
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint getWhitePoint();
+ method public boolean isWideGamut();
+ method public float[] toLinear(float r, float g, float b);
+ method public float[] toLinear(float[] v);
+ method public float[] toXyz(float[] v);
+ property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> eotf;
+ property public boolean isSrgb;
+ property public boolean isWideGamut;
+ property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> oetf;
+ property public final androidx.compose.ui.graphics.colorspace.TransferParameters? transferParameters;
+ property public final androidx.compose.ui.graphics.colorspace.WhitePoint whitePoint;
+ }
+
+ public final class TransferParameters {
+ ctor public TransferParameters(double gamma, double a, double b, double c, double d, optional double e, optional double f);
+ method public double component1();
+ method public double component2();
+ method public double component3();
+ method public double component4();
+ method public double component5();
+ method public double component6();
+ method public double component7();
+ method public androidx.compose.ui.graphics.colorspace.TransferParameters copy(double gamma, double a, double b, double c, double d, double e, double f);
+ method public double getA();
+ method public double getB();
+ method public double getC();
+ method public double getD();
+ method public double getE();
+ method public double getF();
+ method public double getGamma();
+ property public final double a;
+ property public final double b;
+ property public final double c;
+ property public final double d;
+ property public final double e;
+ property public final double f;
+ property public final double gamma;
+ }
+
+ public final class WhitePoint {
+ ctor public WhitePoint(float x, float y);
+ ctor public WhitePoint(float x, float y, float z);
+ method public float component1();
+ method public float component2();
+ method public androidx.compose.ui.graphics.colorspace.WhitePoint copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+}
+
+package androidx.compose.ui.graphics.drawscope {
+
+ public final class CanvasDrawScope implements androidx.compose.ui.graphics.drawscope.DrawScope {
+ ctor public CanvasDrawScope();
+ method public inline void draw-jkGVKLE(androidx.compose.ui.unit.Density density, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.graphics.Canvas canvas, long size, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public void drawArc-BcZ8TnY(long color, float startAngle, float sweepAngle, boolean useCenter, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawArc-C-Io9bM(androidx.compose.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawCircle-NGaRamM(long color, float radius, long center, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawCircle-m-UMHxE(androidx.compose.ui.graphics.Brush brush, float radius, long center, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawImage-JUiai_k(androidx.compose.ui.graphics.ImageBitmap image, long topLeft, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawImage-Yc2aOMw(androidx.compose.ui.graphics.ImageBitmap image, long srcOffset, long srcSize, long dstOffset, long dstSize, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawLine-QXZmVdc(long color, long start, long end, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawLine-UXw4dv4(androidx.compose.ui.graphics.Brush brush, long start, long end, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawOval-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawOval-IdEHoqk(long color, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPath-_TD-E3k(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Brush brush, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPath-tilSWAQ(androidx.compose.ui.graphics.Path path, long color, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPoints-Aqy9O-k(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, long color, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawPoints-yD3Jhvg(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, androidx.compose.ui.graphics.Brush brush, float strokeWidth, int cap, androidx.compose.ui.graphics.PathEffect? pathEffect, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRect-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRect-IdEHoqk(long color, long topLeft, long size, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRoundRect-fNghmuc(long color, long topLeft, long size, long cornerRadius, androidx.compose.ui.graphics.drawscope.DrawStyle style, float alpha, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public void drawRoundRect-sDDzLXA(androidx.compose.ui.graphics.Brush brush, long topLeft, long size, long cornerRadius, float alpha, androidx.compose.ui.graphics.drawscope.DrawStyle style, androidx.compose.ui.graphics.ColorFilter? colorFilter, int blendMode);
+ method public float getDensity();
+ method public androidx.compose.ui.graphics.drawscope.DrawContext getDrawContext();
+ method public float getFontScale();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ property public float density;
+ property public androidx.compose.ui.graphics.drawscope.DrawContext drawContext;
+ property public float fontScale;
+ property public androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ field @kotlin.PublishedApi internal final androidx.compose.ui.graphics.drawscope.CanvasDrawScope.DrawParams drawParams;
+ }
+
+ @kotlin.PublishedApi internal static final class CanvasDrawScope.DrawParams {
+ method public androidx.compose.ui.unit.Density component1();
+ method public androidx.compose.ui.unit.LayoutDirection component2();
+ method public androidx.compose.ui.graphics.Canvas component3();
+ method public long component4-NH-jbRc();
+ method @kotlin.PublishedApi internal androidx.compose.ui.graphics.drawscope.CanvasDrawScope.DrawParams copy-xYU37iA(androidx.compose.ui.unit.Density density, androidx.compose.ui.unit.LayoutDirection layoutDirection, androidx.compose.ui.graphics.Canvas canvas, long size);
+ method @kotlin.PublishedApi internal boolean equals(Object? p);
+ method public androidx.compose.ui.graphics.Canvas getCanvas();
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public long getSize-NH-jbRc();
+ method @kotlin.PublishedApi internal int hashCode();
+ method public void setCanvas(androidx.compose.ui.graphics.Canvas p);
+ method public void setDensity(androidx.compose.ui.unit.Density p);
+ method public void setLayoutDirection(androidx.compose.ui.unit.LayoutDirection p);
+ method public void setSize-uvyYCjk(long p);
+ method @kotlin.PublishedApi internal String toString();
+ property public final androidx.compose.ui.graphics.Canvas canvas;
+ property public final androidx.compose.ui.unit.Density density;
+ property public final androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public final long size;
+ }
+
+ public final class CanvasDrawScopeKt {
+ }
+
+ public interface ContentDrawScope extends androidx.compose.ui.graphics.drawscope.DrawScope {
+ method public void drawContent();
+ }
+
+ public interface DrawContext {
+ method public androidx.compose.ui.graphics.Canvas getCanvas();
+ method public long getSize-NH-jbRc();
+ method public androidx.compose.ui.graphics.drawscope.DrawTransform getTransform();
+ method public void setSize-uvyYCjk(long p);
+ property public abstract androidx.compose.ui.graphics.Canvas canvas;
+ property public abstract long size;
+ property public abstract androidx.compose.ui.graphics.drawscope.DrawTransform transform;
+ }
+
+ @androidx.compose.ui.graphics.drawscope.DrawScopeMarker public interface DrawScope extends androidx.compose.ui.unit.Density {
+ method public void drawArc-BcZ8TnY(long color, float startAngle, float sweepAngle, boolean useCenter, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawArc-C-Io9bM(androidx.compose.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawCircle-NGaRamM(long color, optional float radius, optional long center, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawCircle-m-UMHxE(androidx.compose.ui.graphics.Brush brush, optional float radius, optional long center, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawImage-JUiai_k(androidx.compose.ui.graphics.ImageBitmap image, optional long topLeft, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawImage-Yc2aOMw(androidx.compose.ui.graphics.ImageBitmap image, optional long srcOffset, optional long srcSize, optional long dstOffset, optional long dstSize, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawLine-QXZmVdc(long color, long start, long end, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawLine-UXw4dv4(androidx.compose.ui.graphics.Brush brush, long start, long end, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawOval-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawOval-IdEHoqk(long color, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPath-_TD-E3k(androidx.compose.ui.graphics.Path path, androidx.compose.ui.graphics.Brush brush, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPath-tilSWAQ(androidx.compose.ui.graphics.Path path, long color, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPoints-Aqy9O-k(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, long color, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawPoints-yD3Jhvg(java.util.List<androidx.compose.ui.geometry.Offset> points, int pointMode, androidx.compose.ui.graphics.Brush brush, optional float strokeWidth, optional int cap, optional androidx.compose.ui.graphics.PathEffect? pathEffect, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRect-0a6MmAQ(androidx.compose.ui.graphics.Brush brush, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRect-IdEHoqk(long color, optional long topLeft, optional long size, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRoundRect-fNghmuc(long color, optional long topLeft, optional long size, optional long cornerRadius, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public void drawRoundRect-sDDzLXA(androidx.compose.ui.graphics.Brush brush, optional long topLeft, optional long size, optional long cornerRadius, optional float alpha, optional androidx.compose.ui.graphics.drawscope.DrawStyle style, optional androidx.compose.ui.graphics.ColorFilter? colorFilter, optional int blendMode);
+ method public default long getCenter-F1C5BW0();
+ method public androidx.compose.ui.graphics.drawscope.DrawContext getDrawContext();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public default long getSize-NH-jbRc();
+ method public long offsetSize(long, long offset);
+ property public default long center;
+ property public abstract androidx.compose.ui.graphics.drawscope.DrawContext drawContext;
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public default long size;
+ field public static final androidx.compose.ui.graphics.drawscope.DrawScope.Companion Companion;
+ }
+
+ public static final class DrawScope.Companion {
+ method public int getDefaultBlendMode-0nO6VwU();
+ property public final int DefaultBlendMode;
+ }
+
+ public final class DrawScopeKt {
+ method public static inline void clipPath--PbAnyU(androidx.compose.ui.graphics.drawscope.DrawScope, androidx.compose.ui.graphics.Path path, optional int clipOp, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void clipRect-2ny_0ws(androidx.compose.ui.graphics.drawscope.DrawScope, optional float left, optional float top, optional float right, optional float bottom, optional int clipOp, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void drawIntoCanvas(androidx.compose.ui.graphics.drawscope.DrawScope, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.Canvas,kotlin.Unit> block);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawScope, float inset, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawScope, optional float horizontal, optional float vertical, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void rotate-FvlOZkk(androidx.compose.ui.graphics.drawscope.DrawScope, float degrees, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void rotateRad-FvlOZkk(androidx.compose.ui.graphics.drawscope.DrawScope, float radians, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void scale-FvlOZkk(androidx.compose.ui.graphics.drawscope.DrawScope, float scale, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void scale-LCqtnZ0(androidx.compose.ui.graphics.drawscope.DrawScope, float scaleX, float scaleY, optional long pivot, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void translate(androidx.compose.ui.graphics.drawscope.DrawScope, optional float left, optional float top, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public static inline void withTransform(androidx.compose.ui.graphics.drawscope.DrawScope, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawTransform,kotlin.Unit> transformBlock, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> drawBlock);
+ }
+
+ @kotlin.DslMarker public @interface DrawScopeMarker {
+ }
+
+ public abstract sealed class DrawStyle {
+ }
+
+ @androidx.compose.ui.graphics.drawscope.DrawScopeMarker public interface DrawTransform {
+ method public void clipPath-fquoRGU(androidx.compose.ui.graphics.Path path, optional int clipOp);
+ method public void clipRect-wxHPq4g(optional float left, optional float top, optional float right, optional float bottom, optional int clipOp);
+ method public default long getCenter-F1C5BW0();
+ method public long getSize-NH-jbRc();
+ method public void inset(float left, float top, float right, float bottom);
+ method public void rotate-KYFOyyg(float degrees, optional long pivot);
+ method public void scale-QguGWxw(float scaleX, float scaleY, optional long pivot);
+ method public void transform-58bKbWc(float[] matrix);
+ method public void translate(optional float left, optional float top);
+ property public default long center;
+ property public abstract long size;
+ }
+
+ public final class DrawTransformKt {
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawTransform, optional float horizontal, optional float vertical);
+ method public static inline void inset(androidx.compose.ui.graphics.drawscope.DrawTransform, float inset);
+ method public static inline void rotateRad-kdYHfaE(androidx.compose.ui.graphics.drawscope.DrawTransform, float radians, optional long pivot);
+ method public static inline void scale-kdYHfaE(androidx.compose.ui.graphics.drawscope.DrawTransform, float scale, optional long pivot);
+ }
+
+ public final class Fill extends androidx.compose.ui.graphics.drawscope.DrawStyle {
+ field public static final androidx.compose.ui.graphics.drawscope.Fill INSTANCE;
+ }
+
+ public final class Stroke extends androidx.compose.ui.graphics.drawscope.DrawStyle {
+ method public int getCap-KaPHkGw();
+ method public int getJoin-LxFBmk8();
+ method public float getMiter();
+ method public androidx.compose.ui.graphics.PathEffect? getPathEffect();
+ method public float getWidth();
+ property public final int cap;
+ property public final int join;
+ property public final float miter;
+ property public final androidx.compose.ui.graphics.PathEffect? pathEffect;
+ property public final float width;
+ field public static final androidx.compose.ui.graphics.drawscope.Stroke.Companion Companion;
+ field public static final float DefaultMiter = 4.0f;
+ field public static final float HairlineWidth = 0.0f;
+ }
+
+ public static final class Stroke.Companion {
+ method public int getDefaultCap-KaPHkGw();
+ method public int getDefaultJoin-LxFBmk8();
+ property public final int DefaultCap;
+ property public final int DefaultJoin;
+ }
+
+}
+
+package androidx.compose.ui.graphics.painter {
+
+ public final class BitmapPainter extends androidx.compose.ui.graphics.painter.Painter {
+ method public long getIntrinsicSize-NH-jbRc();
+ method protected void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public long intrinsicSize;
+ }
+
+ public final class ColorPainter extends androidx.compose.ui.graphics.painter.Painter {
+ method public long getColor-0d7_KjU();
+ method public long getIntrinsicSize-NH-jbRc();
+ method protected void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public final long color;
+ property public long intrinsicSize;
+ }
+
+ public abstract class Painter {
+ ctor public Painter();
+ method protected boolean applyAlpha(float alpha);
+ method protected boolean applyColorFilter(androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method protected boolean applyLayoutDirection(androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public final void draw-ty3CEPU(androidx.compose.ui.graphics.drawscope.DrawScope, long size, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ method public abstract long getIntrinsicSize-NH-jbRc();
+ method protected abstract void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public abstract long intrinsicSize;
+ }
+
+}
+
+package androidx.compose.ui.graphics.vector {
+
+ public final class PathBuilder {
+ ctor public PathBuilder();
+ method public androidx.compose.ui.graphics.vector.PathBuilder arcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float x1, float y1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder arcToRelative(float a, float b, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float dx1, float dy1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder close();
+ method public androidx.compose.ui.graphics.vector.PathBuilder curveTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public androidx.compose.ui.graphics.vector.PathBuilder curveToRelative(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> getNodes();
+ method public androidx.compose.ui.graphics.vector.PathBuilder horizontalLineTo(float x);
+ method public androidx.compose.ui.graphics.vector.PathBuilder horizontalLineToRelative(float dx);
+ method public androidx.compose.ui.graphics.vector.PathBuilder lineTo(float x, float y);
+ method public androidx.compose.ui.graphics.vector.PathBuilder lineToRelative(float dx, float dy);
+ method public androidx.compose.ui.graphics.vector.PathBuilder moveTo(float x, float y);
+ method public androidx.compose.ui.graphics.vector.PathBuilder moveToRelative(float dx, float dy);
+ method public androidx.compose.ui.graphics.vector.PathBuilder quadTo(float x1, float y1, float x2, float y2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder quadToRelative(float dx1, float dy1, float dx2, float dy2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveCurveTo(float x1, float y1, float x2, float y2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveCurveToRelative(float dx1, float dy1, float dx2, float dy2);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveQuadTo(float x1, float y1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder reflectiveQuadToRelative(float dx1, float dy1);
+ method public androidx.compose.ui.graphics.vector.PathBuilder verticalLineTo(float y);
+ method public androidx.compose.ui.graphics.vector.PathBuilder verticalLineToRelative(float dy);
+ }
+
+ @androidx.compose.runtime.Immutable public abstract sealed class PathNode {
+ method public final boolean isCurve();
+ method public final boolean isQuad();
+ property public final boolean isCurve;
+ property public final boolean isQuad;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.ArcTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.ArcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartX, float arcStartY);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public boolean component4();
+ method public boolean component5();
+ method public float component6();
+ method public float component7();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.ArcTo copy(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartX, float arcStartY);
+ method public float getArcStartX();
+ method public float getArcStartY();
+ method public float getHorizontalEllipseRadius();
+ method public float getTheta();
+ method public float getVerticalEllipseRadius();
+ method public boolean isMoreThanHalf();
+ method public boolean isPositiveArc();
+ property public final float arcStartX;
+ property public final float arcStartY;
+ property public final float horizontalEllipseRadius;
+ property public final boolean isMoreThanHalf;
+ property public final boolean isPositiveArc;
+ property public final float theta;
+ property public final float verticalEllipseRadius;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.Close extends androidx.compose.ui.graphics.vector.PathNode {
+ field public static final androidx.compose.ui.graphics.vector.PathNode.Close INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.CurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.CurveTo(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.CurveTo copy(float x1, float y1, float x2, float y2, float x3, float y3);
+ method public float getX1();
+ method public float getX2();
+ method public float getX3();
+ method public float getY1();
+ method public float getY2();
+ method public float getY3();
+ property public final float x1;
+ property public final float x2;
+ property public final float x3;
+ property public final float y1;
+ property public final float y2;
+ property public final float y3;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.HorizontalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.HorizontalTo(float x);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.HorizontalTo copy(float x);
+ method public float getX();
+ property public final float x;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.LineTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.LineTo(float x, float y);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.LineTo copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.MoveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.MoveTo(float x, float y);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.MoveTo copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.QuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.QuadTo(float x1, float y1, float x2, float y2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.QuadTo copy(float x1, float y1, float x2, float y2);
+ method public float getX1();
+ method public float getX2();
+ method public float getY1();
+ method public float getY2();
+ property public final float x1;
+ property public final float x2;
+ property public final float y1;
+ property public final float y2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.ReflectiveCurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.ReflectiveCurveTo(float x1, float y1, float x2, float y2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.ReflectiveCurveTo copy(float x1, float y1, float x2, float y2);
+ method public float getX1();
+ method public float getX2();
+ method public float getY1();
+ method public float getY2();
+ property public final float x1;
+ property public final float x2;
+ property public final float y1;
+ property public final float y2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.ReflectiveQuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.ReflectiveQuadTo(float x, float y);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.ReflectiveQuadTo copy(float x, float y);
+ method public float getX();
+ method public float getY();
+ property public final float x;
+ property public final float y;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeArcTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeArcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartDx, float arcStartDy);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public boolean component4();
+ method public boolean component5();
+ method public float component6();
+ method public float component7();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeArcTo copy(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, boolean isMoreThanHalf, boolean isPositiveArc, float arcStartDx, float arcStartDy);
+ method public float getArcStartDx();
+ method public float getArcStartDy();
+ method public float getHorizontalEllipseRadius();
+ method public float getTheta();
+ method public float getVerticalEllipseRadius();
+ method public boolean isMoreThanHalf();
+ method public boolean isPositiveArc();
+ property public final float arcStartDx;
+ property public final float arcStartDy;
+ property public final float horizontalEllipseRadius;
+ property public final boolean isMoreThanHalf;
+ property public final boolean isPositiveArc;
+ property public final float theta;
+ property public final float verticalEllipseRadius;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeCurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeCurveTo(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method public float component5();
+ method public float component6();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeCurveTo copy(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+ method public float getDx1();
+ method public float getDx2();
+ method public float getDx3();
+ method public float getDy1();
+ method public float getDy2();
+ method public float getDy3();
+ property public final float dx1;
+ property public final float dx2;
+ property public final float dx3;
+ property public final float dy1;
+ property public final float dy2;
+ property public final float dy3;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeHorizontalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeHorizontalTo(float dx);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeHorizontalTo copy(float dx);
+ method public float getDx();
+ property public final float dx;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeLineTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeLineTo(float dx, float dy);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeLineTo copy(float dx, float dy);
+ method public float getDx();
+ method public float getDy();
+ property public final float dx;
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeMoveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeMoveTo(float dx, float dy);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeMoveTo copy(float dx, float dy);
+ method public float getDx();
+ method public float getDy();
+ property public final float dx;
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeQuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeQuadTo(float dx1, float dy1, float dx2, float dy2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeQuadTo copy(float dx1, float dy1, float dx2, float dy2);
+ method public float getDx1();
+ method public float getDx2();
+ method public float getDy1();
+ method public float getDy2();
+ property public final float dx1;
+ property public final float dx2;
+ property public final float dy1;
+ property public final float dy2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeReflectiveCurveTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeReflectiveCurveTo(float dx1, float dy1, float dx2, float dy2);
+ method public float component1();
+ method public float component2();
+ method public float component3();
+ method public float component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeReflectiveCurveTo copy(float dx1, float dy1, float dx2, float dy2);
+ method public float getDx1();
+ method public float getDx2();
+ method public float getDy1();
+ method public float getDy2();
+ property public final float dx1;
+ property public final float dx2;
+ property public final float dy1;
+ property public final float dy2;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeReflectiveQuadTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeReflectiveQuadTo(float dx, float dy);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeReflectiveQuadTo copy(float dx, float dy);
+ method public float getDx();
+ method public float getDy();
+ property public final float dx;
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.RelativeVerticalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.RelativeVerticalTo(float dy);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.RelativeVerticalTo copy(float dy);
+ method public float getDy();
+ property public final float dy;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class PathNode.VerticalTo extends androidx.compose.ui.graphics.vector.PathNode {
+ ctor public PathNode.VerticalTo(float y);
+ method public float component1();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.graphics.vector.PathNode.VerticalTo copy(float y);
+ method public float getY();
+ property public final float y;
+ }
+
+ public final class PathNodeKt {
+ }
+
+ public final class PathParser {
+ ctor public PathParser();
+ method public androidx.compose.ui.graphics.vector.PathParser addPathNodes(java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> nodes);
+ method public void clear();
+ method public androidx.compose.ui.graphics.vector.PathParser parsePathString(String pathData);
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> toNodes();
+ method public androidx.compose.ui.graphics.Path toPath(optional androidx.compose.ui.graphics.Path target);
+ }
+
+}
+
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Color.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Color.kt
index 5524df22..c987420 100644
--- a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Color.kt
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/Color.kt
@@ -319,6 +319,72 @@
*/
@Stable
val Unspecified = Color(0f, 0f, 0f, 0f, ColorSpaces.Unspecified)
+
+ /**
+ * Return a [Color] from [hue], [saturation], and [value] (HSV representation).
+ *
+ * @param hue The color value in the range (0..360), where 0 is red, 120 is green, and
+ * 240 is blue
+ * @param saturation The amount of [hue] represented in the color in the range (0..1),
+ * where 0 has no color and 1 is fully saturated.
+ * @param value The strength of the color, where 0 is black.
+ * @param colorSpace The RGB color space used to calculate the Color from the HSV values.
+ */
+ @ExperimentalGraphicsApi
+ fun hsv(
+ hue: Float,
+ saturation: Float,
+ value: Float,
+ alpha: Float = 1f,
+ colorSpace: Rgb = ColorSpaces.Srgb
+ ): Color {
+ require(hue in 0f..360f && saturation in 0f..1f && value in 0f..1f) {
+ "HSV ($hue, $saturation, $value) must be in range (0..360, 0..1, 0..1)"
+ }
+ val red = hsvToRgbComponent(5, hue, saturation, value)
+ val green = hsvToRgbComponent(3, hue, saturation, value)
+ val blue = hsvToRgbComponent(1, hue, saturation, value)
+ return Color(red, green, blue, alpha, colorSpace)
+ }
+
+ private fun hsvToRgbComponent(n: Int, h: Float, s: Float, v: Float): Float {
+ val k = (n.toFloat() + h / 60f) % 6f
+ return v - (v * s * max(0f, minOf(k, 4 - k, 1f)))
+ }
+
+ /**
+ * Return a [Color] from [hue], [saturation], and [lightness] (HSL representation).
+ *
+ * @param hue The color value in the range (0..360), where 0 is red, 120 is green, and
+ * 240 is blue
+ * @param saturation The amount of [hue] represented in the color in the range (0..1),
+ * where 0 has no color and 1 is fully saturated.
+ * @param lightness A range of (0..1) where 0 is black, 0.5 is fully colored, and 1 is
+ * white.
+ * @param colorSpace The RGB color space used to calculate the Color from the HSL values.
+ */
+ @ExperimentalGraphicsApi
+ fun hsl(
+ hue: Float,
+ saturation: Float,
+ lightness: Float,
+ alpha: Float = 1f,
+ colorSpace: Rgb = ColorSpaces.Srgb
+ ): Color {
+ require(hue in 0f..360f && saturation in 0f..1f && lightness in 0f..1f) {
+ "HSL ($hue, $saturation, $lightness) must be in range (0..360, 0..1, 0..1)"
+ }
+ val red = hslToRgbComponent(0, hue, saturation, lightness)
+ val green = hslToRgbComponent(8, hue, saturation, lightness)
+ val blue = hslToRgbComponent(4, hue, saturation, lightness)
+ return Color(red, green, blue, alpha, colorSpace)
+ }
+
+ private fun hslToRgbComponent(n: Int, h: Float, s: Float, l: Float): Float {
+ val k = (n.toFloat() + h / 30f) % 12f
+ val a = s * min(l, 1f - l)
+ return l - a * max(-1f, minOf(k - 3, 9 - k, 1f))
+ }
}
}
diff --git a/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ExperimentalGraphicsApi.kt b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ExperimentalGraphicsApi.kt
new file mode 100644
index 0000000..aa38621
--- /dev/null
+++ b/compose/ui/ui-graphics/src/commonMain/kotlin/androidx/compose/ui/graphics/ExperimentalGraphicsApi.kt
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.ui.graphics
+
+@RequiresOptIn("This API is experimental and is likely to change in the future.")
+annotation class ExperimentalGraphicsApi
\ No newline at end of file
diff --git a/compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/ColorTest.kt b/compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/ColorTest.kt
index eaa0c4f..c87b11c 100644
--- a/compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/ColorTest.kt
+++ b/compose/ui/ui-graphics/src/test/java/androidx/compose/ui/graphics/ColorTest.kt
@@ -285,6 +285,104 @@
assertEquals(0.6f, alpha, epsilon)
}
+ @OptIn(ExperimentalGraphicsApi::class)
+ @Test
+ fun testHsvInSrgb() {
+ assertEquals(Color.Transparent, Color.hsv(0f, 0f, 0f, 0f))
+ assertEquals(Color.Black, Color.hsv(0f, 0f, 0f))
+ assertEquals(Color.Black, Color.hsv(120f, 0f, 0f))
+ assertEquals(Color.Black, Color.hsv(120f, 1f, 0f))
+ assertEquals(Color.White, Color.hsv(0f, 0f, 1f))
+ assertEquals(Color.White, Color.hsv(120f, 0f, 1f))
+ assertEquals(Color.White, Color.hsv(240f, 0f, 1f))
+ val gray = Color(0xFF808080)
+ assertEquals(gray, Color.hsv(0f, 0f, 0.5f))
+ assertEquals(gray, Color.hsv(120f, 0f, 0.5f))
+ assertEquals(gray, Color.hsv(240f, 0f, 0.5f))
+
+ assertEquals(Color.Red, Color.hsv(0f, 1f, 1f))
+ assertEquals(Color.Yellow, Color.hsv(60f, 1f, 1f))
+ assertEquals(Color.Green, Color.hsv(120f, 1f, 1f))
+ assertEquals(Color.Cyan, Color.hsv(180f, 1f, 1f))
+ assertEquals(Color.Blue, Color.hsv(240f, 1f, 1f))
+ assertEquals(Color.Magenta, Color.hsv(300f, 1f, 1f))
+ assertEquals(Color.Red, Color.hsv(360f, 1f, 1f))
+ }
+
+ @OptIn(ExperimentalGraphicsApi::class)
+ @Test
+ fun testHsvInLinearSrgb() {
+ val lrgb = ColorSpaces.LinearSrgb
+ val srgb = ColorSpaces.Srgb
+ assertEquals(Color.Black, Color.hsv(0f, 0f, 0f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.Black, Color.hsv(120f, 0f, 0f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.Black, Color.hsv(120f, 1f, 0f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.White, Color.hsv(0f, 0f, 1f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.White, Color.hsv(120f, 0f, 1f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.White, Color.hsv(240f, 0f, 1f, 1f, lrgb).convert(srgb))
+ val gray = Color(0.5f, 0.5f, 0.5f, 1f, lrgb)
+ assertEquals(gray, Color.hsv(0f, 0f, 0.5f, 1f, lrgb))
+ assertEquals(gray, Color.hsv(120f, 0f, 0.5f, 1f, lrgb))
+ assertEquals(gray, Color.hsv(240f, 0f, 0.5f, 1f, lrgb))
+
+ assertEquals(Color(1f, 0f, 0f, 1f, lrgb), Color.hsv(0f, 1f, 1f, 1f, lrgb))
+ assertEquals(Color(1f, 1f, 0f, 1f, lrgb), Color.hsv(60f, 1f, 1f, 1f, lrgb))
+ assertEquals(Color(0f, 1f, 0f, 1f, lrgb), Color.hsv(120f, 1f, 1f, 1f, lrgb))
+ assertEquals(Color(0f, 1f, 1f, 1f, lrgb), Color.hsv(180f, 1f, 1f, 1f, lrgb))
+ assertEquals(Color(0f, 0f, 1f, 1f, lrgb), Color.hsv(240f, 1f, 1f, 1f, lrgb))
+ assertEquals(Color(1f, 0f, 1f, 1f, lrgb), Color.hsv(300f, 1f, 1f, 1f, lrgb))
+ assertEquals(Color(1f, 0f, 0f, 1f, lrgb), Color.hsv(360f, 1f, 1f, 1f, lrgb))
+ }
+
+ @OptIn(ExperimentalGraphicsApi::class)
+ @Test
+ fun testHslInSrgb() {
+ assertEquals(Color.Transparent, Color.hsl(0f, 0f, 0f, 0f))
+ assertEquals(Color.Black, Color.hsl(0f, 0f, 0f))
+ assertEquals(Color.Black, Color.hsl(120f, 0f, 0f))
+ assertEquals(Color.Black, Color.hsl(120f, 1f, 0f))
+ assertEquals(Color.White, Color.hsl(0f, 0f, 1f))
+ assertEquals(Color.White, Color.hsl(120f, 1f, 1f))
+ assertEquals(Color.White, Color.hsl(240f, 0.5f, 1f))
+ val gray = Color(0xFF808080)
+ assertEquals(gray, Color.hsl(0f, 0f, 0.5f))
+ assertEquals(gray, Color.hsl(120f, 0f, 0.5f))
+ assertEquals(gray, Color.hsl(240f, 0f, 0.5f))
+
+ assertEquals(Color.Red, Color.hsl(0f, 1f, 0.5f))
+ assertEquals(Color.Yellow, Color.hsl(60f, 1f, 0.5f))
+ assertEquals(Color.Green, Color.hsl(120f, 1f, 0.5f))
+ assertEquals(Color.Cyan, Color.hsl(180f, 1f, 0.5f))
+ assertEquals(Color.Blue, Color.hsl(240f, 1f, 0.5f))
+ assertEquals(Color.Magenta, Color.hsl(300f, 1f, 0.5f))
+ assertEquals(Color.Red, Color.hsl(360f, 1f, 0.5f))
+ }
+
+ @OptIn(ExperimentalGraphicsApi::class)
+ @Test
+ fun testHslInLinearSrgb() {
+ val lrgb = ColorSpaces.LinearSrgb
+ val srgb = ColorSpaces.Srgb
+ assertEquals(Color.Black, Color.hsl(0f, 0f, 0f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.Black, Color.hsl(120f, 0f, 0f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.Black, Color.hsl(120f, 1f, 0f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.White, Color.hsl(0f, 0f, 1f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.White, Color.hsl(120f, 0f, 1f, 1f, lrgb).convert(srgb))
+ assertEquals(Color.White, Color.hsl(240f, 0f, 1f, 1f, lrgb).convert(srgb))
+ val gray = Color(0.5f, 0.5f, 0.5f, 1f, lrgb)
+ assertEquals(gray, Color.hsl(0f, 0f, 0.5f, 1f, lrgb))
+ assertEquals(gray, Color.hsl(120f, 0f, 0.5f, 1f, lrgb))
+ assertEquals(gray, Color.hsl(240f, 0f, 0.5f, 1f, lrgb))
+
+ assertEquals(Color(1f, 0f, 0f, 1f, lrgb), Color.hsl(0f, 1f, 0.5f, 1f, lrgb))
+ assertEquals(Color(1f, 1f, 0f, 1f, lrgb), Color.hsl(60f, 1f, 0.5f, 1f, lrgb))
+ assertEquals(Color(0f, 1f, 0f, 1f, lrgb), Color.hsl(120f, 1f, 0.5f, 1f, lrgb))
+ assertEquals(Color(0f, 1f, 1f, 1f, lrgb), Color.hsl(180f, 1f, 0.5f, 1f, lrgb))
+ assertEquals(Color(0f, 0f, 1f, 1f, lrgb), Color.hsl(240f, 1f, 0.5f, 1f, lrgb))
+ assertEquals(Color(1f, 0f, 1f, 1f, lrgb), Color.hsl(300f, 1f, 0.5f, 1f, lrgb))
+ assertEquals(Color(1f, 0f, 0f, 1f, lrgb), Color.hsl(360f, 1f, 0.5f, 1f, lrgb))
+ }
+
companion object {
@OptIn(kotlin.ExperimentalUnsignedTypes::class)
fun Int.toHexString() = "0x${toUInt().toString(16).padStart(8, '0')}"
diff --git a/compose/ui/ui-lint/build.gradle b/compose/ui/ui-lint/build.gradle
index 915153a..04b5445 100644
--- a/compose/ui/ui-lint/build.gradle
+++ b/compose/ui/ui-lint/build.gradle
@@ -26,11 +26,12 @@
BundleInsideHelper.forInsideLintJar(project)
dependencies {
- compileOnly(libs.androidLintMinApi)
+ compileOnly(libs.androidLintMinComposeApi)
compileOnly(libs.kotlinStdlib)
bundleInside(project(":compose:lint:common"))
+ testImplementation(project(":compose:lint:common-test"))
testImplementation(libs.kotlinStdlib)
testImplementation(libs.androidLint)
testImplementation(libs.androidLintTests)
diff --git a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/UiIssueRegistry.kt b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/UiIssueRegistry.kt
index 7988e6a..e812090 100644
--- a/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/UiIssueRegistry.kt
+++ b/compose/ui/ui-lint/src/main/java/androidx/compose/ui/lint/UiIssueRegistry.kt
@@ -17,6 +17,7 @@
package androidx.compose.ui.lint
import com.android.tools.lint.client.api.IssueRegistry
+import com.android.tools.lint.client.api.Vendor
import com.android.tools.lint.detector.api.CURRENT_API
/**
@@ -33,4 +34,9 @@
ModifierDeclarationDetector.ModifierFactoryUnreferencedReceiver,
ModifierParameterDetector.ModifierParameter
)
+ override val vendor = Vendor(
+ vendorName = "Jetpack Compose",
+ identifier = "androidx.compose.ui",
+ feedbackUrl = "https://issuetracker.google.com/issues/new?component=612128"
+ )
}
diff --git a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ApiLintVersionsTest.kt b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ApiLintVersionsTest.kt
index 6a0c7d3..1c0b6e9 100644
--- a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ApiLintVersionsTest.kt
+++ b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ApiLintVersionsTest.kt
@@ -33,10 +33,7 @@
LintClient.clientName = LintClient.CLIENT_UNIT_TESTS
val registry = UiIssueRegistry()
- // we hardcode version registry.api to the version that is used to run tests
assertThat(registry.api).isEqualTo(CURRENT_API)
- // Intentionally fails in IDE, because we use different API version in
- // studio and command line
- assertThat(registry.minApi).isEqualTo(3)
+ assertThat(registry.minApi).isEqualTo(10)
}
}
diff --git a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierDeclarationDetectorTest.kt b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierDeclarationDetectorTest.kt
index 92ac779..7fd93da9 100644
--- a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierDeclarationDetectorTest.kt
+++ b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierDeclarationDetectorTest.kt
@@ -18,7 +18,8 @@
package androidx.compose.ui.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
+import androidx.compose.lint.test.compiledStub
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -44,16 +45,34 @@
)
// Simplified Density.kt stubs
- private val DensityStub = kotlin(
+ private val DensityStub = compiledStub(
+ filename = "Density.kt",
+ filepath = "androidx/compose/ui/unit",
"""
package androidx.compose.ui.unit
interface Density
+ """,
+"""
+ androidx/compose/ui/unit/Density.class:
+ H4sIAAAAAAAAAIVOTUvDQBB9s7FNjV+pH1Bv4g9w2+LNkyBCoCIoeMlpm6yy
+ Tbor3U2pt/4uD9KzP0qcqHdn4M17M/DefH69fwC4xDHhTNly4Uy5koWbvzqv
+ ZWNkY02QN9p6E95iECGdqaWStbIv8n4600WIERH6k8qF2lh5p4MqVVBXBDFf
+ RuxNLXQIVPFqZVo1ZFaOCCebdS8RA5GIlNnzYLMeiyG1xzHhfPLfP5wBQvKn
+ LqrA4tE1i0LfmloTTh8aG8xcPxlvprW+ttYFFYyzvssZ2MJvCRz+YB9HPEds
+ 2eHu5ogyxBl6jNhuIcmwg90c5LGH/RzC48Aj/QaMxaG1RAEAAA==
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcIlnpiXUpSfmVKhl5yfW5BfnKpX
+ mqmXlp8vxOmWn++SWJLoXaLEoMUAAALEmjo+AAAA
"""
)
// Simplified ParentDataModifier.kt / Measurable.kt merged stubs
- private val MeasurableAndParentDataModifierStub = kotlin(
+ private val MeasurableAndParentDataModifierStub = compiledStub(
+ filename = "Measurable.kt",
+ filepath = "androidx/compose/ui/layout",
"""
package androidx.compose.ui.layout
@@ -67,6 +86,54 @@
interface Measurable {
val parentData: Any?
}
+ """,
+"""
+ androidx/compose/ui/layout/ParentDataModifier$DefaultImpls.class:
+ H4sIAAAAAAAAAKVSW08TQRT+pqW01FZKtSii9UKVXoSVxCf7ZECTTdpKxPTF
+ p+nuUKbdnSGzsw3+Kx+JD8Znf5TxbGkQK0GJm+y5f9/MnHO+//jyFcBLOAyv
+ uPKNlv6J4+nwWEfCiaUT8E86ts4+N0LZPW55V/vyUApT2xOHPA6sGx4HURaM
+ oTTiE04ANXTeDUbCs1mkGRbskVAMYb1zLfr2peXn2cbVaYaNjjZDZyTswHCp
+ IocrpS23UpPd07YXB0F7ejkZ5ZBjqI61DaRyRpPQkcoKo3jguMoaAkuPHphn
+ qHhHwhvP0HRlHgoqZNisd+af3r4QOUhIhu1Gv4ACinncwE2GjKa+mBxKDLWr
+ nlJ7E4iQepNFmWHnXyrnBnObwb+89/PA/2t5ARms5lHBHQbnmrOm9v9tniud
+ 2YC6wnKfwBRLhZM0LS9LRIaBjRODVi51IhPrBcPWte6RxQZD4WL7GIpdwaPY
+ 8EEgtseWNmZX+4JhuSOV6MXhQJgPSY6h3NEeD/rcyMSfBdffx8rKULhqIiNJ
+ ode/1pAGP58936nfygquUsLsBjyKBLn5Ax0bT7yVyQFrM4r+H/TYQQoLSD6G
+ JRrOItLYJK9L8RTpSrO8dIrlVnmFZPMbbrVOcfczJVKok8yTLoD2h8AN8lfP
+ QMhhbUpaQQn3iLpJ9iLpLOkW/cXUzDmTaTyfktFUUMNTAm9Nj3iGbdJViq9T
+ zf2PSLt44KJKEg9dPMJjF09+As+nXNieBAAA
+ """,
+ """
+ androidx/compose/ui/layout/Measurable.class:
+ H4sIAAAAAAAAAI1PwU7bQBB9YzuO65Li0AAJvVK1veAEcaInpAopUmirIKFK
+ OW2SJdrE2UXedURv+ZYe+hE9oChHPgoxRkhB7aV7eDPz5s3Om/uHP3cATtAi
+ vBd6nBs1vk1HZn5jrEwLlWbipylceiGFLXIxzGQVREimYiG4pyfpt+FUjlwV
+ PqE2ke67yKV2X4QThMbHT72/hZ8Jhz2TT9KpdMNcKG1TobVxwinD+dciy8ot
+ LKv3ZsZlSvNuJ8b8IXPefOGzXSqhQqAZU7eqrNqcjTuEzmq5FXtNL/aS1TL2
+ Ij+6bq6Wx16b+o3EOwia1KYf69/B+lcYHgSRnwTl4DHhQ++/zmcTIMQ3L86s
+ bbpHM0d41y+0U3PZ1QtlFbNnmwN59NIU+Uieq0wSWs/Sq3+EIdtCgPIRW6wg
+ 5LV7XJWxytHD/hPuosnxlNmIVa8G8LuIu3jNiK0Sal28wfYAZJGgPkDFYsfi
+ rUXDlnn4CLI2KhoDAgAA
+ """,
+ """
+ androidx/compose/ui/layout/ParentDataModifier.class:
+ H4sIAAAAAAAAAJVRTW/TQBB963w4mARSKJC0fLWNqoIEDhEnqh4QAdUogQok
+ Ljlt4k21ib0beddRc8vv4oBy5kchxgHUkgYQh52d9/xmdjzv67fPXwA8xx7D
+ E67CRMvwzB/oeKKN8FPpR3ymU+uf8EQo2+aWd3Uoh1IkLhhDdcSnnDTq1H/f
+ H4mBdZFjaKxr9Kuu8ToSMfVyUaD6OGNn590Zjg8668pTJa3fFspIOzvsrD57
+ +OgyRXN0dHLqj4TtJ1wq43OltOVWasrfpVHE+5Eg2d7fZNpmSlJtdMbaRlL5
+ XWF5SKMS58TTHG2PZYH+ho2JOpMZalIWPmM4Wsw3PafmLM9i7jnVLCzz0rC2
+ mLecJntbqzpb+Rpr5h47zXyrVC38QMf7WZMWg792I390hgbbX1uxagEJwbD7
+ 730zeJMLFr34r3EabTHkaWSDeBIZF1sM5YsMQ6UruEmTzI2nY8uw/SFVVsYi
+ UFNpJLEvzw0hU1e/0os8FlYkv8nKgVIieRVxYwRB76NOk4F4IyPBUP/Z4tOl
+ 9kXaOPK0lGJma57BRYmY+4SKxF6h+wGdikPAyyRLKoeHFD1C2yS+izp2CDu4
+ h126j4i/igLKPeQCVAJco4jrWagG2MCNHpjBTWz2UDS4ZXDbwDW4Y1AzqH8H
+ FbjiFqEDAAA=
+ """,
+ """
+ META-INF/main.kotlin_module:
+ H4sIAAAAAAAAAGNgYGBmYGBgBGJWKM3ApcIlnpiXUpSfmVKhl5yfW5BfnKpX
+ mqmXlp8vxOmWn++SWJLoXaLEoMUAAALEmjo+AAAA
"""
)
@@ -86,7 +153,7 @@
}
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expect(
@@ -129,7 +196,7 @@
val Modifier.fooModifier3: Modifier.Element get() = this.then(TestModifier)
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expect(
@@ -178,7 +245,7 @@
fun Modifier.fooModifier() = TestModifier
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expect(
@@ -216,7 +283,7 @@
val Modifier.fooModifier get() = TestModifier
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expect(
@@ -256,7 +323,7 @@
}
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expect(
@@ -311,7 +378,7 @@
}
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expectClean()
@@ -346,7 +413,7 @@
}
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expectClean()
@@ -378,7 +445,7 @@
val fooModifier3: Modifier get() = TestModifier
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expect(
@@ -446,7 +513,7 @@
val TestModifier.fooModifier3: Modifier get() = this.then(TestModifier)
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expect(
@@ -524,8 +591,8 @@
this.then(TestModifier(someComposableCall(3)))
"""
),
- kotlin(Stubs.Modifier),
- kotlin(Stubs.Composable)
+ Stubs.Modifier,
+ Stubs.Composable
)
.run()
.expect(
@@ -621,8 +688,8 @@
}
"""
),
- kotlin(Stubs.Modifier),
- kotlin(Stubs.Composable)
+ Stubs.Modifier,
+ Stubs.Composable
)
.run()
.expect(
@@ -674,7 +741,7 @@
}
"""
),
- kotlin(Stubs.Modifier),
+ Stubs.Modifier,
DensityStub,
MeasurableAndParentDataModifierStub
)
@@ -706,7 +773,7 @@
}
"""
),
- kotlin(Stubs.Modifier)
+ Stubs.Modifier
)
.run()
.expectClean()
diff --git a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierParameterDetectorTest.kt b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierParameterDetectorTest.kt
index 25b8f24..f3aba8d 100644
--- a/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierParameterDetectorTest.kt
+++ b/compose/ui/ui-lint/src/test/java/androidx/compose/ui/lint/ModifierParameterDetectorTest.kt
@@ -18,7 +18,7 @@
package androidx.compose.ui.lint
-import androidx.compose.lint.Stubs
+import androidx.compose.lint.test.Stubs
import com.android.tools.lint.checks.infrastructure.LintDetectorTest
import com.android.tools.lint.detector.api.Detector
import com.android.tools.lint.detector.api.Issue
@@ -59,8 +59,8 @@
) {}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Modifier)
+ Stubs.Composable,
+ Stubs.Modifier
)
.run()
.expect(
@@ -100,8 +100,8 @@
) {}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Modifier)
+ Stubs.Composable,
+ Stubs.Modifier
)
.run()
.expect(
@@ -143,8 +143,8 @@
) {}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Modifier)
+ Stubs.Composable,
+ Stubs.Modifier
)
.run()
.expect(
@@ -184,8 +184,8 @@
) {}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Modifier)
+ Stubs.Composable,
+ Stubs.Modifier
)
.run()
.expect(
@@ -219,8 +219,8 @@
) {}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Modifier)
+ Stubs.Composable,
+ Stubs.Modifier
)
.run()
.expect(
@@ -274,8 +274,8 @@
) {}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Modifier)
+ Stubs.Composable,
+ Stubs.Modifier
)
.run()
.expectClean()
@@ -303,8 +303,8 @@
) {}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Modifier)
+ Stubs.Composable,
+ Stubs.Modifier
)
.run()
.expectClean()
@@ -337,8 +337,8 @@
) {}
"""
),
- kotlin(Stubs.Composable),
- kotlin(Stubs.Modifier)
+ Stubs.Composable,
+ Stubs.Modifier
)
.run()
.expectClean()
diff --git a/compose/ui/ui-test-font/api/1.0.0-beta10.txt b/compose/ui/ui-test-font/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..e6f50d0
--- /dev/null
+++ b/compose/ui/ui-test-font/api/1.0.0-beta10.txt
@@ -0,0 +1 @@
+// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..e6f50d0
--- /dev/null
+++ b/compose/ui/ui-test-font/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1 @@
+// Signature format: 4.0
diff --git a/compose/ui/ui-test-font/api/res-1.0.0-beta10.txt b/compose/ui/ui-test-font/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-test-font/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-test-font/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-test-font/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..e6f50d0
--- /dev/null
+++ b/compose/ui/ui-test-font/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1 @@
+// Signature format: 4.0
diff --git a/compose/ui/ui-test-junit4/api/1.0.0-beta10.txt b/compose/ui/ui-test-junit4/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..6c590bb
--- /dev/null
+++ b/compose/ui/ui-test-junit4/api/1.0.0-beta10.txt
@@ -0,0 +1,84 @@
+// Signature format: 4.0
+package androidx.compose.ui.test.junit4 {
+
+ public final class AndroidComposeTestRule<R extends org.junit.rules.TestRule, A extends androidx.activity.ComponentActivity> implements androidx.compose.ui.test.junit4.ComposeContentTestRule {
+ ctor public AndroidComposeTestRule(R activityRule, kotlin.jvm.functions.Function1<? super R,? extends A> activityProvider);
+ method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description);
+ method public suspend Object? awaitIdle(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public A getActivity();
+ method public R getActivityRule();
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.test.MainTestClock getMainClock();
+ method public androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodes(androidx.compose.ui.test.SemanticsMatcher matcher, boolean useUnmergedTree);
+ method public androidx.compose.ui.test.SemanticsNodeInteraction onNode(androidx.compose.ui.test.SemanticsMatcher matcher, boolean useUnmergedTree);
+ method public void registerIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public <T> T! runOnIdle(kotlin.jvm.functions.Function0<? extends T> action);
+ method public <T> T! runOnUiThread(kotlin.jvm.functions.Function0<? extends T> action);
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+ method public void unregisterIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public void waitForIdle();
+ method public void waitUntil(long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
+ property public final A activity;
+ property public final R activityRule;
+ property public androidx.compose.ui.unit.Density density;
+ property public androidx.compose.ui.test.MainTestClock mainClock;
+ }
+
+ public final class AndroidComposeTestRule.AndroidComposeStatement extends org.junit.runners.model.Statement {
+ ctor public AndroidComposeTestRule.AndroidComposeStatement(org.junit.runners.model.Statement base);
+ method public void evaluate();
+ }
+
+ public final class AndroidComposeTestRule_androidKt {
+ method public static <A extends androidx.activity.ComponentActivity> androidx.compose.ui.test.junit4.AndroidComposeTestRule<androidx.test.ext.junit.rules.ActivityScenarioRule<A>,A> createAndroidComposeRule(Class<A> activityClass);
+ method public static inline <reified A extends androidx.activity.ComponentActivity> androidx.compose.ui.test.junit4.AndroidComposeTestRule<androidx.test.ext.junit.rules.ActivityScenarioRule<A>,A>! createAndroidComposeRule();
+ method public static androidx.compose.ui.test.junit4.ComposeContentTestRule createComposeRule();
+ method public static androidx.compose.ui.test.junit4.ComposeTestRule createEmptyComposeRule();
+ }
+
+ public final class AndroidSynchronization_androidKt {
+ }
+
+ public interface ComposeContentTestRule extends androidx.compose.ui.test.junit4.ComposeTestRule {
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+ }
+
+ public interface ComposeTestRule extends org.junit.rules.TestRule androidx.compose.ui.test.SemanticsNodeInteractionsProvider {
+ method public suspend Object? awaitIdle(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.test.MainTestClock getMainClock();
+ method public void registerIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public <T> T! runOnIdle(kotlin.jvm.functions.Function0<? extends T> action);
+ method public <T> T! runOnUiThread(kotlin.jvm.functions.Function0<? extends T> action);
+ method public void unregisterIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public void waitForIdle();
+ method public void waitUntil(optional long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.test.MainTestClock mainClock;
+ }
+
+ public final class StateRestorationTester {
+ ctor public StateRestorationTester(androidx.compose.ui.test.junit4.ComposeContentTestRule composeTestRule);
+ method public void emulateSavedInstanceStateRestore();
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+ }
+
+}
+
+package androidx.compose.ui.test.junit4.android {
+
+ public final class ComposeIdlingResource_androidKt {
+ }
+
+ public final class ComposeNotIdleException extends java.lang.Throwable {
+ ctor public ComposeNotIdleException(String? message, Throwable? cause);
+ }
+
+ public final class ComposeRootRegistry_androidKt {
+ }
+
+ public final class EspressoLink_androidKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-test-junit4/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-test-junit4/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..6c590bb
--- /dev/null
+++ b/compose/ui/ui-test-junit4/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,84 @@
+// Signature format: 4.0
+package androidx.compose.ui.test.junit4 {
+
+ public final class AndroidComposeTestRule<R extends org.junit.rules.TestRule, A extends androidx.activity.ComponentActivity> implements androidx.compose.ui.test.junit4.ComposeContentTestRule {
+ ctor public AndroidComposeTestRule(R activityRule, kotlin.jvm.functions.Function1<? super R,? extends A> activityProvider);
+ method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description);
+ method public suspend Object? awaitIdle(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public A getActivity();
+ method public R getActivityRule();
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.test.MainTestClock getMainClock();
+ method public androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodes(androidx.compose.ui.test.SemanticsMatcher matcher, boolean useUnmergedTree);
+ method public androidx.compose.ui.test.SemanticsNodeInteraction onNode(androidx.compose.ui.test.SemanticsMatcher matcher, boolean useUnmergedTree);
+ method public void registerIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public <T> T! runOnIdle(kotlin.jvm.functions.Function0<? extends T> action);
+ method public <T> T! runOnUiThread(kotlin.jvm.functions.Function0<? extends T> action);
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+ method public void unregisterIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public void waitForIdle();
+ method public void waitUntil(long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
+ property public final A activity;
+ property public final R activityRule;
+ property public androidx.compose.ui.unit.Density density;
+ property public androidx.compose.ui.test.MainTestClock mainClock;
+ }
+
+ public final class AndroidComposeTestRule.AndroidComposeStatement extends org.junit.runners.model.Statement {
+ ctor public AndroidComposeTestRule.AndroidComposeStatement(org.junit.runners.model.Statement base);
+ method public void evaluate();
+ }
+
+ public final class AndroidComposeTestRule_androidKt {
+ method public static <A extends androidx.activity.ComponentActivity> androidx.compose.ui.test.junit4.AndroidComposeTestRule<androidx.test.ext.junit.rules.ActivityScenarioRule<A>,A> createAndroidComposeRule(Class<A> activityClass);
+ method public static inline <reified A extends androidx.activity.ComponentActivity> androidx.compose.ui.test.junit4.AndroidComposeTestRule<androidx.test.ext.junit.rules.ActivityScenarioRule<A>,A>! createAndroidComposeRule();
+ method public static androidx.compose.ui.test.junit4.ComposeContentTestRule createComposeRule();
+ method public static androidx.compose.ui.test.junit4.ComposeTestRule createEmptyComposeRule();
+ }
+
+ public final class AndroidSynchronization_androidKt {
+ }
+
+ public interface ComposeContentTestRule extends androidx.compose.ui.test.junit4.ComposeTestRule {
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+ }
+
+ public interface ComposeTestRule extends org.junit.rules.TestRule androidx.compose.ui.test.SemanticsNodeInteractionsProvider {
+ method public suspend Object? awaitIdle(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.test.MainTestClock getMainClock();
+ method public void registerIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public <T> T! runOnIdle(kotlin.jvm.functions.Function0<? extends T> action);
+ method public <T> T! runOnUiThread(kotlin.jvm.functions.Function0<? extends T> action);
+ method public void unregisterIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public void waitForIdle();
+ method public void waitUntil(optional long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.test.MainTestClock mainClock;
+ }
+
+ public final class StateRestorationTester {
+ ctor public StateRestorationTester(androidx.compose.ui.test.junit4.ComposeContentTestRule composeTestRule);
+ method public void emulateSavedInstanceStateRestore();
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+ }
+
+}
+
+package androidx.compose.ui.test.junit4.android {
+
+ public final class ComposeIdlingResource_androidKt {
+ }
+
+ public final class ComposeNotIdleException extends java.lang.Throwable {
+ ctor public ComposeNotIdleException(String? message, Throwable? cause);
+ }
+
+ public final class ComposeRootRegistry_androidKt {
+ }
+
+ public final class EspressoLink_androidKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-test-junit4/api/res-1.0.0-beta10.txt b/compose/ui/ui-test-junit4/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-test-junit4/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-test-junit4/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-test-junit4/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..6c590bb
--- /dev/null
+++ b/compose/ui/ui-test-junit4/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,84 @@
+// Signature format: 4.0
+package androidx.compose.ui.test.junit4 {
+
+ public final class AndroidComposeTestRule<R extends org.junit.rules.TestRule, A extends androidx.activity.ComponentActivity> implements androidx.compose.ui.test.junit4.ComposeContentTestRule {
+ ctor public AndroidComposeTestRule(R activityRule, kotlin.jvm.functions.Function1<? super R,? extends A> activityProvider);
+ method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description);
+ method public suspend Object? awaitIdle(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public A getActivity();
+ method public R getActivityRule();
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.test.MainTestClock getMainClock();
+ method public androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodes(androidx.compose.ui.test.SemanticsMatcher matcher, boolean useUnmergedTree);
+ method public androidx.compose.ui.test.SemanticsNodeInteraction onNode(androidx.compose.ui.test.SemanticsMatcher matcher, boolean useUnmergedTree);
+ method public void registerIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public <T> T! runOnIdle(kotlin.jvm.functions.Function0<? extends T> action);
+ method public <T> T! runOnUiThread(kotlin.jvm.functions.Function0<? extends T> action);
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+ method public void unregisterIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public void waitForIdle();
+ method public void waitUntil(long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
+ property public final A activity;
+ property public final R activityRule;
+ property public androidx.compose.ui.unit.Density density;
+ property public androidx.compose.ui.test.MainTestClock mainClock;
+ }
+
+ public final class AndroidComposeTestRule.AndroidComposeStatement extends org.junit.runners.model.Statement {
+ ctor public AndroidComposeTestRule.AndroidComposeStatement(org.junit.runners.model.Statement base);
+ method public void evaluate();
+ }
+
+ public final class AndroidComposeTestRule_androidKt {
+ method public static <A extends androidx.activity.ComponentActivity> androidx.compose.ui.test.junit4.AndroidComposeTestRule<androidx.test.ext.junit.rules.ActivityScenarioRule<A>,A> createAndroidComposeRule(Class<A> activityClass);
+ method public static inline <reified A extends androidx.activity.ComponentActivity> androidx.compose.ui.test.junit4.AndroidComposeTestRule<androidx.test.ext.junit.rules.ActivityScenarioRule<A>,A>! createAndroidComposeRule();
+ method public static androidx.compose.ui.test.junit4.ComposeContentTestRule createComposeRule();
+ method public static androidx.compose.ui.test.junit4.ComposeTestRule createEmptyComposeRule();
+ }
+
+ public final class AndroidSynchronization_androidKt {
+ }
+
+ public interface ComposeContentTestRule extends androidx.compose.ui.test.junit4.ComposeTestRule {
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+ }
+
+ public interface ComposeTestRule extends org.junit.rules.TestRule androidx.compose.ui.test.SemanticsNodeInteractionsProvider {
+ method public suspend Object? awaitIdle(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.test.MainTestClock getMainClock();
+ method public void registerIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public <T> T! runOnIdle(kotlin.jvm.functions.Function0<? extends T> action);
+ method public <T> T! runOnUiThread(kotlin.jvm.functions.Function0<? extends T> action);
+ method public void unregisterIdlingResource(androidx.compose.ui.test.IdlingResource idlingResource);
+ method public void waitForIdle();
+ method public void waitUntil(optional long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.test.MainTestClock mainClock;
+ }
+
+ public final class StateRestorationTester {
+ ctor public StateRestorationTester(androidx.compose.ui.test.junit4.ComposeContentTestRule composeTestRule);
+ method public void emulateSavedInstanceStateRestore();
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+ }
+
+}
+
+package androidx.compose.ui.test.junit4.android {
+
+ public final class ComposeIdlingResource_androidKt {
+ }
+
+ public final class ComposeNotIdleException extends java.lang.Throwable {
+ ctor public ComposeNotIdleException(String? message, Throwable? cause);
+ }
+
+ public final class ComposeRootRegistry_androidKt {
+ }
+
+ public final class EspressoLink_androidKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-test-manifest/api/1.0.0-beta10.txt b/compose/ui/ui-test-manifest/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..e6f50d0
--- /dev/null
+++ b/compose/ui/ui-test-manifest/api/1.0.0-beta10.txt
@@ -0,0 +1 @@
+// Signature format: 4.0
diff --git a/compose/ui/ui-test-manifest/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-test-manifest/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..e6f50d0
--- /dev/null
+++ b/compose/ui/ui-test-manifest/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1 @@
+// Signature format: 4.0
diff --git a/compose/ui/ui-test-manifest/api/res-1.0.0-beta10.txt b/compose/ui/ui-test-manifest/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-test-manifest/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-test-manifest/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-test-manifest/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..e6f50d0
--- /dev/null
+++ b/compose/ui/ui-test-manifest/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1 @@
+// Signature format: 4.0
diff --git a/compose/ui/ui-test/api/1.0.0-beta10.txt b/compose/ui/ui-test/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..4559dc2
--- /dev/null
+++ b/compose/ui/ui-test/api/1.0.0-beta10.txt
@@ -0,0 +1,291 @@
+// Signature format: 4.0
+package androidx.compose.ui.test {
+
+ public final class ActionsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction performClick(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction performGesture(androidx.compose.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.GestureScope,kotlin.Unit> block);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollTo(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static <T extends kotlin.Function<? extends java.lang.Boolean>> void performSemanticsAction(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<T>> key, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> invocation);
+ method public static void performSemanticsAction(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> key);
+ }
+
+ public final class AndroidAssertions_androidKt {
+ }
+
+ public final class AndroidImageHelpers_androidKt {
+ method @RequiresApi(android.os.Build.VERSION_CODES.O) public static androidx.compose.ui.graphics.ImageBitmap captureToImage(androidx.compose.ui.test.SemanticsNodeInteraction);
+ }
+
+ public final class AndroidInputDispatcher_androidKt {
+ }
+
+ public final class AndroidOutput_androidKt {
+ }
+
+ public final class AssertionsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assert(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.test.SemanticsMatcher matcher, optional kotlin.jvm.functions.Function0<java.lang.String>? messagePrefixOnError);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertContentDescriptionContains(androidx.compose.ui.test.SemanticsNodeInteraction, String value, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertContentDescriptionEquals(androidx.compose.ui.test.SemanticsNodeInteraction, java.lang.String... values);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.compose.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsDisplayed(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsEnabled(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsFocused(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotFocused(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsOff(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsOn(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.ProgressBarRangeInfo value);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTextContains(androidx.compose.ui.test.SemanticsNodeInteraction, String value, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.compose.ui.test.SemanticsNodeInteraction, String![] values, optional boolean includeEditableText);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.compose.ui.test.SemanticsNodeInteraction, String value);
+ }
+
+ public final class BoundsAssertionsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHeightIsAtLeast-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedMinHeight);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHeightIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedHeight);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertLeftPositionInRootIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedLeft);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertPositionInRootIsEqualTo-aELHoiQ(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedLeft, float expectedTop);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTopPositionInRootIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedTop);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertWidthIsAtLeast-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedMinWidth);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertWidthIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedWidth);
+ method public static float getAlignmentLinePosition(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public static androidx.compose.ui.unit.DpRect getUnclippedBoundsInRoot(androidx.compose.ui.test.SemanticsNodeInteraction);
+ }
+
+ public final class ComposeTimeoutException extends java.lang.Throwable {
+ ctor public ComposeTimeoutException(String? message);
+ }
+
+ public final class ErrorMessagesKt {
+ }
+
+ public final class FiltersKt {
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnyAncestor(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnyChild(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnyDescendant(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnySibling(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasClickAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasContentDescription(String value, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasContentDescriptionExactly(java.lang.String... values);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasImeAction-KlQnJC8(int actionType);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasNoClickAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasNoScrollAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasParent(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasProgressBarRangeInfo(androidx.compose.ui.semantics.ProgressBarRangeInfo rangeInfo);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasScrollAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasSetTextAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasStateDescription(String value);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasTestTag(String testTag);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasText(String text, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasTextExactly(String![] textValues, optional boolean includeEditableText);
+ method public static androidx.compose.ui.test.SemanticsMatcher isDialog();
+ method public static androidx.compose.ui.test.SemanticsMatcher isEnabled();
+ method public static androidx.compose.ui.test.SemanticsMatcher isFocusable();
+ method public static androidx.compose.ui.test.SemanticsMatcher isFocused();
+ method public static androidx.compose.ui.test.SemanticsMatcher isHeading();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotEnabled();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotFocusable();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotFocused();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotSelected();
+ method public static androidx.compose.ui.test.SemanticsMatcher isOff();
+ method public static androidx.compose.ui.test.SemanticsMatcher isOn();
+ method public static androidx.compose.ui.test.SemanticsMatcher isPopup();
+ method public static androidx.compose.ui.test.SemanticsMatcher isRoot();
+ method public static androidx.compose.ui.test.SemanticsMatcher isSelectable();
+ method public static androidx.compose.ui.test.SemanticsMatcher isSelected();
+ method public static androidx.compose.ui.test.SemanticsMatcher isToggleable();
+ }
+
+ public final class FindersKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithContentDescription(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String label, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithTag(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String testTag, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithText(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String text, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithContentDescription(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String label, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithTag(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String testTag, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithText(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String text, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onRoot(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, optional boolean useUnmergedTree);
+ }
+
+ public final class GestureScope {
+ ctor public GestureScope(androidx.compose.ui.semantics.SemanticsNode node, androidx.compose.ui.test.TestContext testContext);
+ method public long getVisibleSize-YbymL2g();
+ property public final long visibleSize;
+ }
+
+ public final class GestureScopeKt {
+ method public static void cancel(androidx.compose.ui.test.GestureScope);
+ method public static void click-ssxj34k(androidx.compose.ui.test.GestureScope, optional long position);
+ method public static void doubleClick-LZsBx1o(androidx.compose.ui.test.GestureScope, optional long position, optional long delayMillis);
+ method public static void down-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long position);
+ method public static void down-ssxj34k(androidx.compose.ui.test.GestureScope, long position);
+ method public static inline float getBottom(androidx.compose.ui.test.GestureScope);
+ method public static long getBottomCenter(androidx.compose.ui.test.GestureScope);
+ method public static long getBottomLeft(androidx.compose.ui.test.GestureScope);
+ method public static long getBottomRight(androidx.compose.ui.test.GestureScope);
+ method public static long getCenter(androidx.compose.ui.test.GestureScope);
+ method public static long getCenterLeft(androidx.compose.ui.test.GestureScope);
+ method public static long getCenterRight(androidx.compose.ui.test.GestureScope);
+ method public static inline float getCenterX(androidx.compose.ui.test.GestureScope);
+ method public static inline float getCenterY(androidx.compose.ui.test.GestureScope);
+ method public static inline int getHeight(androidx.compose.ui.test.GestureScope);
+ method public static inline float getLeft(androidx.compose.ui.test.GestureScope);
+ method public static inline float getRight(androidx.compose.ui.test.GestureScope);
+ method public static inline float getTop(androidx.compose.ui.test.GestureScope);
+ method public static long getTopCenter(androidx.compose.ui.test.GestureScope);
+ method public static long getTopLeft(androidx.compose.ui.test.GestureScope);
+ method public static long getTopRight(androidx.compose.ui.test.GestureScope);
+ method public static inline int getWidth(androidx.compose.ui.test.GestureScope);
+ method public static void longClick-LZsBx1o(androidx.compose.ui.test.GestureScope, optional long position, optional long durationMillis);
+ method public static void move(androidx.compose.ui.test.GestureScope);
+ method public static void moveBy-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long delta);
+ method public static void moveBy-ssxj34k(androidx.compose.ui.test.GestureScope, long delta);
+ method public static void movePointerBy-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long delta);
+ method public static void movePointerTo-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long position);
+ method public static void moveTo-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long position);
+ method public static void moveTo-ssxj34k(androidx.compose.ui.test.GestureScope, long position);
+ method public static long percentOffset(androidx.compose.ui.test.GestureScope, optional float x, optional float y);
+ method public static void pinch-1c52nSY(androidx.compose.ui.test.GestureScope, long start0, long end0, long start1, long end1, optional long durationMillis);
+ method public static void swipe-DPh1Mgw(androidx.compose.ui.test.GestureScope, long start, long end, optional long durationMillis);
+ method public static void swipeDown(androidx.compose.ui.test.GestureScope);
+ method public static void swipeLeft(androidx.compose.ui.test.GestureScope);
+ method public static void swipeRight(androidx.compose.ui.test.GestureScope);
+ method public static void swipeUp(androidx.compose.ui.test.GestureScope);
+ method public static void swipeWithVelocity-YsXUJPI(androidx.compose.ui.test.GestureScope, long start, long end, float endVelocity, optional long durationMillis);
+ method public static void up(androidx.compose.ui.test.GestureScope, optional int pointerId);
+ }
+
+ public interface IdlingResource {
+ method public default String? getDiagnosticMessageIfBusy();
+ method public boolean isIdleNow();
+ property public abstract boolean isIdleNow;
+ }
+
+ public final class KeyInputHelpersKt {
+ method public static boolean performKeyPress-S8GO8FU(androidx.compose.ui.test.SemanticsNodeInteraction, android.view.KeyEvent keyEvent);
+ }
+
+ public interface MainTestClock {
+ method public void advanceTimeBy(long milliseconds, optional boolean ignoreFrameDuration);
+ method public void advanceTimeByFrame();
+ method public void advanceTimeUntil(optional long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
+ method public boolean getAutoAdvance();
+ method public long getCurrentTime();
+ method public void setAutoAdvance(boolean p);
+ property public abstract boolean autoAdvance;
+ property public abstract long currentTime;
+ }
+
+ public final class OutputKt {
+ method public static void printToLog(androidx.compose.ui.test.SemanticsNodeInteraction, String tag, optional int maxDepth);
+ method public static void printToLog(androidx.compose.ui.test.SemanticsNodeInteractionCollection, String tag, optional int maxDepth);
+ method public static String printToString(androidx.compose.ui.test.SemanticsNodeInteraction, optional int maxDepth);
+ method public static String printToString(androidx.compose.ui.test.SemanticsNodeInteractionCollection, optional int maxDepth);
+ }
+
+ public final class SelectionResult {
+ ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
+ method public String? getCustomErrorOnNoMatch();
+ method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
+ property public final String? customErrorOnNoMatch;
+ property public final java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes;
+ }
+
+ public final class SelectorsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection filter(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction filterToOne(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAncestors(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onChild(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onChildAt(androidx.compose.ui.test.SemanticsNodeInteraction, int index);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onChildren(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onFirst(androidx.compose.ui.test.SemanticsNodeInteractionCollection);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onLast(androidx.compose.ui.test.SemanticsNodeInteractionCollection);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onParent(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onSibling(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onSiblings(androidx.compose.ui.test.SemanticsNodeInteraction);
+ }
+
+ public final class SemanticsMatcher {
+ ctor public SemanticsMatcher(String description, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsNode,java.lang.Boolean> matcher);
+ method public infix androidx.compose.ui.test.SemanticsMatcher and(androidx.compose.ui.test.SemanticsMatcher other);
+ method public String getDescription();
+ method public boolean matches(androidx.compose.ui.semantics.SemanticsNode node);
+ method public boolean matchesAny(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes);
+ method public operator androidx.compose.ui.test.SemanticsMatcher not();
+ method public infix androidx.compose.ui.test.SemanticsMatcher or(androidx.compose.ui.test.SemanticsMatcher other);
+ property public final String description;
+ field public static final androidx.compose.ui.test.SemanticsMatcher.Companion Companion;
+ }
+
+ public static final class SemanticsMatcher.Companion {
+ method public <T> androidx.compose.ui.test.SemanticsMatcher expectValue(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? expectedValue);
+ method public <T> androidx.compose.ui.test.SemanticsMatcher keyIsDefined(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ method public <T> androidx.compose.ui.test.SemanticsMatcher keyNotDefined(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ }
+
+ public final class SemanticsNodeInteraction {
+ ctor public SemanticsNodeInteraction(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsSelector selector);
+ ctor public SemanticsNodeInteraction(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public void assertDoesNotExist();
+ method public androidx.compose.ui.test.SemanticsNodeInteraction assertExists(optional String? errorMessageOnFail);
+ method public androidx.compose.ui.semantics.SemanticsNode fetchSemanticsNode(optional String? errorMessageOnFail);
+ }
+
+ public final class SemanticsNodeInteractionCollection {
+ ctor public SemanticsNodeInteractionCollection(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsSelector selector);
+ ctor public SemanticsNodeInteractionCollection(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> fetchSemanticsNodes(optional boolean atLeastOneRootRequired, optional String? errorMessageOnFail);
+ method public operator androidx.compose.ui.test.SemanticsNodeInteraction get(int index);
+ }
+
+ public interface SemanticsNodeInteractionsProvider {
+ method public androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodes(androidx.compose.ui.test.SemanticsMatcher matcher, optional boolean useUnmergedTree);
+ method public androidx.compose.ui.test.SemanticsNodeInteraction onNode(androidx.compose.ui.test.SemanticsMatcher matcher, optional boolean useUnmergedTree);
+ }
+
+ public final class SemanticsSelector {
+ ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
+ method public String getDescription();
+ method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
+ property public final String description;
+ }
+
+ public final class SemanticsSelectorKt {
+ }
+
+ public final class TestContext {
+ }
+
+ public final class TestMonotonicFrameClock_jvmKt {
+ }
+
+ public final class TestOwnerKt {
+ }
+
+ public final class TextActionsKt {
+ method public static void performImeAction(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static void performTextClearance(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static void performTextInput(androidx.compose.ui.test.SemanticsNodeInteraction, String text);
+ method public static void performTextReplacement(androidx.compose.ui.test.SemanticsNodeInteraction, String text);
+ }
+
+ public final class UtilsKt {
+ }
+
+}
+
+package androidx.compose.ui.test.android {
+
+ public final class WindowCapture_androidKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-test/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-test/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..ba65508
--- /dev/null
+++ b/compose/ui/ui-test/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,327 @@
+// Signature format: 4.0
+package androidx.compose.ui.test {
+
+ public final class ActionsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction performClick(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction performGesture(androidx.compose.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.GestureScope,kotlin.Unit> block);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollTo(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method @androidx.compose.ui.test.ExperimentalTestApi public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollToIndex(androidx.compose.ui.test.SemanticsNodeInteraction, int index);
+ method @androidx.compose.ui.test.ExperimentalTestApi public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollToKey(androidx.compose.ui.test.SemanticsNodeInteraction, Object key);
+ method public static <T extends kotlin.Function<? extends java.lang.Boolean>> void performSemanticsAction(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<T>> key, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> invocation);
+ method public static void performSemanticsAction(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> key);
+ }
+
+ public final class AndroidAssertions_androidKt {
+ }
+
+ public final class AndroidImageHelpers_androidKt {
+ method @RequiresApi(android.os.Build.VERSION_CODES.O) public static androidx.compose.ui.graphics.ImageBitmap captureToImage(androidx.compose.ui.test.SemanticsNodeInteraction);
+ }
+
+ public final class AndroidInputDispatcher_androidKt {
+ }
+
+ public final class AndroidOutput_androidKt {
+ }
+
+ public final class AssertionsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assert(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.test.SemanticsMatcher matcher, optional kotlin.jvm.functions.Function0<java.lang.String>? messagePrefixOnError);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertContentDescriptionContains(androidx.compose.ui.test.SemanticsNodeInteraction, String value, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertContentDescriptionEquals(androidx.compose.ui.test.SemanticsNodeInteraction, java.lang.String... values);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.compose.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsDisplayed(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsEnabled(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsFocused(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotFocused(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsOff(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsOn(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.ProgressBarRangeInfo value);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTextContains(androidx.compose.ui.test.SemanticsNodeInteraction, String value, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.compose.ui.test.SemanticsNodeInteraction, String![] values, optional boolean includeEditableText);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.compose.ui.test.SemanticsNodeInteraction, String value);
+ }
+
+ public final class BoundsAssertionsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHeightIsAtLeast-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedMinHeight);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHeightIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedHeight);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertLeftPositionInRootIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedLeft);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertPositionInRootIsEqualTo-aELHoiQ(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedLeft, float expectedTop);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTopPositionInRootIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedTop);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertWidthIsAtLeast-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedMinWidth);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertWidthIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedWidth);
+ method public static float getAlignmentLinePosition(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public static androidx.compose.ui.unit.DpRect getUnclippedBoundsInRoot(androidx.compose.ui.test.SemanticsNodeInteraction);
+ }
+
+ public final class ComposeTimeoutException extends java.lang.Throwable {
+ ctor public ComposeTimeoutException(String? message);
+ }
+
+ public final class ErrorMessagesKt {
+ }
+
+ @kotlin.RequiresOptIn(message="This testing API is experimental and is likely to be changed or removed entirely") public @interface ExperimentalTestApi {
+ }
+
+ public final class FiltersKt {
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnyAncestor(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnyChild(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnyDescendant(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnySibling(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasClickAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasContentDescription(String value, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasContentDescriptionExactly(java.lang.String... values);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasImeAction-KlQnJC8(int actionType);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasNoClickAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasNoScrollAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasParent(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasProgressBarRangeInfo(androidx.compose.ui.semantics.ProgressBarRangeInfo rangeInfo);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasScrollAction();
+ method @androidx.compose.ui.test.ExperimentalTestApi public static androidx.compose.ui.test.SemanticsMatcher hasScrollToIndexAction();
+ method @androidx.compose.ui.test.ExperimentalTestApi public static androidx.compose.ui.test.SemanticsMatcher hasScrollToKeyAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasSetTextAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasStateDescription(String value);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasTestTag(String testTag);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasText(String text, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasTextExactly(String![] textValues, optional boolean includeEditableText);
+ method public static androidx.compose.ui.test.SemanticsMatcher isDialog();
+ method public static androidx.compose.ui.test.SemanticsMatcher isEnabled();
+ method public static androidx.compose.ui.test.SemanticsMatcher isFocusable();
+ method public static androidx.compose.ui.test.SemanticsMatcher isFocused();
+ method public static androidx.compose.ui.test.SemanticsMatcher isHeading();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotEnabled();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotFocusable();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotFocused();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotSelected();
+ method public static androidx.compose.ui.test.SemanticsMatcher isOff();
+ method public static androidx.compose.ui.test.SemanticsMatcher isOn();
+ method public static androidx.compose.ui.test.SemanticsMatcher isPopup();
+ method public static androidx.compose.ui.test.SemanticsMatcher isRoot();
+ method public static androidx.compose.ui.test.SemanticsMatcher isSelectable();
+ method public static androidx.compose.ui.test.SemanticsMatcher isSelected();
+ method public static androidx.compose.ui.test.SemanticsMatcher isToggleable();
+ }
+
+ public final class FindersKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithContentDescription(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String label, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithTag(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String testTag, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithText(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String text, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithContentDescription(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String label, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithTag(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String testTag, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithText(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String text, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onRoot(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, optional boolean useUnmergedTree);
+ }
+
+ public final class GestureScope {
+ ctor public GestureScope(androidx.compose.ui.semantics.SemanticsNode node, androidx.compose.ui.test.TestContext testContext);
+ method public long getVisibleSize-YbymL2g();
+ property public final long visibleSize;
+ }
+
+ public final class GestureScopeKt {
+ method public static void cancel(androidx.compose.ui.test.GestureScope);
+ method public static void click-ssxj34k(androidx.compose.ui.test.GestureScope, optional long position);
+ method public static void doubleClick-LZsBx1o(androidx.compose.ui.test.GestureScope, optional long position, optional long delayMillis);
+ method public static void down-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long position);
+ method public static void down-ssxj34k(androidx.compose.ui.test.GestureScope, long position);
+ method public static inline float getBottom(androidx.compose.ui.test.GestureScope);
+ method public static long getBottomCenter(androidx.compose.ui.test.GestureScope);
+ method public static long getBottomLeft(androidx.compose.ui.test.GestureScope);
+ method public static long getBottomRight(androidx.compose.ui.test.GestureScope);
+ method public static long getCenter(androidx.compose.ui.test.GestureScope);
+ method public static long getCenterLeft(androidx.compose.ui.test.GestureScope);
+ method public static long getCenterRight(androidx.compose.ui.test.GestureScope);
+ method public static inline float getCenterX(androidx.compose.ui.test.GestureScope);
+ method public static inline float getCenterY(androidx.compose.ui.test.GestureScope);
+ method public static inline int getHeight(androidx.compose.ui.test.GestureScope);
+ method public static inline float getLeft(androidx.compose.ui.test.GestureScope);
+ method public static inline float getRight(androidx.compose.ui.test.GestureScope);
+ method public static inline float getTop(androidx.compose.ui.test.GestureScope);
+ method public static long getTopCenter(androidx.compose.ui.test.GestureScope);
+ method public static long getTopLeft(androidx.compose.ui.test.GestureScope);
+ method public static long getTopRight(androidx.compose.ui.test.GestureScope);
+ method public static inline int getWidth(androidx.compose.ui.test.GestureScope);
+ method public static void longClick-LZsBx1o(androidx.compose.ui.test.GestureScope, optional long position, optional long durationMillis);
+ method public static void move(androidx.compose.ui.test.GestureScope);
+ method public static void moveBy-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long delta);
+ method public static void moveBy-ssxj34k(androidx.compose.ui.test.GestureScope, long delta);
+ method public static void movePointerBy-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long delta);
+ method public static void movePointerTo-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long position);
+ method public static void moveTo-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long position);
+ method public static void moveTo-ssxj34k(androidx.compose.ui.test.GestureScope, long position);
+ method public static long percentOffset(androidx.compose.ui.test.GestureScope, optional float x, optional float y);
+ method public static void pinch-1c52nSY(androidx.compose.ui.test.GestureScope, long start0, long end0, long start1, long end1, optional long durationMillis);
+ method public static void swipe-DPh1Mgw(androidx.compose.ui.test.GestureScope, long start, long end, optional long durationMillis);
+ method public static void swipeDown(androidx.compose.ui.test.GestureScope);
+ method @androidx.compose.ui.test.ExperimentalTestApi public static void swipeDown(androidx.compose.ui.test.GestureScope, optional float startY, optional float endY, optional long durationMillis);
+ method public static void swipeLeft(androidx.compose.ui.test.GestureScope);
+ method @androidx.compose.ui.test.ExperimentalTestApi public static void swipeLeft(androidx.compose.ui.test.GestureScope, optional float startX, optional float endX, optional long durationMillis);
+ method public static void swipeRight(androidx.compose.ui.test.GestureScope);
+ method @androidx.compose.ui.test.ExperimentalTestApi public static void swipeRight(androidx.compose.ui.test.GestureScope, optional float startX, optional float endX, optional long durationMillis);
+ method public static void swipeUp(androidx.compose.ui.test.GestureScope);
+ method @androidx.compose.ui.test.ExperimentalTestApi public static void swipeUp(androidx.compose.ui.test.GestureScope, optional float startY, optional float endY, optional long durationMillis);
+ method public static void swipeWithVelocity-YsXUJPI(androidx.compose.ui.test.GestureScope, long start, long end, float endVelocity, optional long durationMillis);
+ method public static void up(androidx.compose.ui.test.GestureScope, optional int pointerId);
+ }
+
+ public interface IdlingResource {
+ method public default String? getDiagnosticMessageIfBusy();
+ method public boolean isIdleNow();
+ property public abstract boolean isIdleNow;
+ }
+
+ @kotlin.RequiresOptIn(message="This is internal API for Compose modules that may change frequently and without warning.") public @interface InternalTestApi {
+ }
+
+ public final class KeyInputHelpersKt {
+ method public static boolean performKeyPress-S8GO8FU(androidx.compose.ui.test.SemanticsNodeInteraction, android.view.KeyEvent keyEvent);
+ }
+
+ public interface MainTestClock {
+ method public void advanceTimeBy(long milliseconds, optional boolean ignoreFrameDuration);
+ method public void advanceTimeByFrame();
+ method public void advanceTimeUntil(optional long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
+ method public boolean getAutoAdvance();
+ method public long getCurrentTime();
+ method public void setAutoAdvance(boolean p);
+ property public abstract boolean autoAdvance;
+ property public abstract long currentTime;
+ }
+
+ public final class OutputKt {
+ method public static void printToLog(androidx.compose.ui.test.SemanticsNodeInteraction, String tag, optional int maxDepth);
+ method public static void printToLog(androidx.compose.ui.test.SemanticsNodeInteractionCollection, String tag, optional int maxDepth);
+ method public static String printToString(androidx.compose.ui.test.SemanticsNodeInteraction, optional int maxDepth);
+ method public static String printToString(androidx.compose.ui.test.SemanticsNodeInteractionCollection, optional int maxDepth);
+ }
+
+ public final class SelectionResult {
+ ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
+ method public String? getCustomErrorOnNoMatch();
+ method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
+ property public final String? customErrorOnNoMatch;
+ property public final java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes;
+ }
+
+ public final class SelectorsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection filter(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction filterToOne(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAncestors(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onChild(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onChildAt(androidx.compose.ui.test.SemanticsNodeInteraction, int index);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onChildren(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onFirst(androidx.compose.ui.test.SemanticsNodeInteractionCollection);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onLast(androidx.compose.ui.test.SemanticsNodeInteractionCollection);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onParent(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onSibling(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onSiblings(androidx.compose.ui.test.SemanticsNodeInteraction);
+ }
+
+ public final class SemanticsMatcher {
+ ctor public SemanticsMatcher(String description, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsNode,java.lang.Boolean> matcher);
+ method public infix androidx.compose.ui.test.SemanticsMatcher and(androidx.compose.ui.test.SemanticsMatcher other);
+ method public String getDescription();
+ method public boolean matches(androidx.compose.ui.semantics.SemanticsNode node);
+ method public boolean matchesAny(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes);
+ method public operator androidx.compose.ui.test.SemanticsMatcher not();
+ method public infix androidx.compose.ui.test.SemanticsMatcher or(androidx.compose.ui.test.SemanticsMatcher other);
+ property public final String description;
+ field public static final androidx.compose.ui.test.SemanticsMatcher.Companion Companion;
+ }
+
+ public static final class SemanticsMatcher.Companion {
+ method public <T> androidx.compose.ui.test.SemanticsMatcher expectValue(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? expectedValue);
+ method public <T> androidx.compose.ui.test.SemanticsMatcher keyIsDefined(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ method public <T> androidx.compose.ui.test.SemanticsMatcher keyNotDefined(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ }
+
+ public final class SemanticsNodeInteraction {
+ ctor public SemanticsNodeInteraction(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsSelector selector);
+ ctor public SemanticsNodeInteraction(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public void assertDoesNotExist();
+ method public androidx.compose.ui.test.SemanticsNodeInteraction assertExists(optional String? errorMessageOnFail);
+ method public androidx.compose.ui.semantics.SemanticsNode fetchSemanticsNode(optional String? errorMessageOnFail);
+ }
+
+ public final class SemanticsNodeInteractionCollection {
+ ctor public SemanticsNodeInteractionCollection(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsSelector selector);
+ ctor public SemanticsNodeInteractionCollection(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> fetchSemanticsNodes(optional boolean atLeastOneRootRequired, optional String? errorMessageOnFail);
+ method public operator androidx.compose.ui.test.SemanticsNodeInteraction get(int index);
+ }
+
+ public interface SemanticsNodeInteractionsProvider {
+ method public androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodes(androidx.compose.ui.test.SemanticsMatcher matcher, optional boolean useUnmergedTree);
+ method public androidx.compose.ui.test.SemanticsNodeInteraction onNode(androidx.compose.ui.test.SemanticsMatcher matcher, optional boolean useUnmergedTree);
+ }
+
+ public final class SemanticsSelector {
+ ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
+ method public String getDescription();
+ method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
+ property public final String description;
+ }
+
+ public final class SemanticsSelectorKt {
+ }
+
+ public final class TestContext {
+ }
+
+ @kotlinx.coroutines.ExperimentalCoroutinesApi public final class TestMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.test.DelayController delayController, optional long frameDelayNanos);
+ method public long getFrameDelayNanos();
+ method public boolean getHasAwaiters();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final long frameDelayNanos;
+ property public final boolean hasAwaiters;
+ }
+
+ public final class TestMonotonicFrameClock_jvmKt {
+ method @kotlinx.coroutines.ExperimentalCoroutinesApi public static androidx.compose.ui.test.TestMonotonicFrameClock TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, optional long frameDelayNanos);
+ method @kotlinx.coroutines.ExperimentalCoroutinesApi public static long getFrameDelayMillis(androidx.compose.ui.test.TestMonotonicFrameClock);
+ }
+
+ @androidx.compose.ui.test.InternalTestApi public interface TestOwner {
+ method public androidx.compose.ui.test.MainTestClock getMainClock();
+ method public java.util.Set<androidx.compose.ui.node.RootForTest> getRoots(boolean atLeastOneRootExpected);
+ method public <T> T! runOnUiThread(kotlin.jvm.functions.Function0<? extends T> action);
+ method public void sendImeAction-CHWFw0A(androidx.compose.ui.semantics.SemanticsNode node, int actionSpecified);
+ method public void sendTextInputCommand(androidx.compose.ui.semantics.SemanticsNode node, java.util.List<? extends androidx.compose.ui.text.input.EditCommand> command);
+ property public abstract androidx.compose.ui.test.MainTestClock mainClock;
+ }
+
+ public final class TestOwnerKt {
+ method @androidx.compose.ui.test.InternalTestApi public static androidx.compose.ui.test.TestContext createTestContext(androidx.compose.ui.test.TestOwner owner);
+ }
+
+ public final class TextActionsKt {
+ method public static void performImeAction(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static void performTextClearance(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static void performTextInput(androidx.compose.ui.test.SemanticsNodeInteraction, String text);
+ method @androidx.compose.ui.test.ExperimentalTestApi public static void performTextInputSelection-pAoLNKA(androidx.compose.ui.test.SemanticsNodeInteraction, long selection);
+ method public static void performTextReplacement(androidx.compose.ui.test.SemanticsNodeInteraction, String text);
+ }
+
+ public final class UtilsKt {
+ }
+
+}
+
+package androidx.compose.ui.test.android {
+
+ public final class WindowCapture_androidKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-test/api/res-1.0.0-beta10.txt b/compose/ui/ui-test/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-test/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-test/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-test/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..4559dc2
--- /dev/null
+++ b/compose/ui/ui-test/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,291 @@
+// Signature format: 4.0
+package androidx.compose.ui.test {
+
+ public final class ActionsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction performClick(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction performGesture(androidx.compose.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.GestureScope,kotlin.Unit> block);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollTo(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static <T extends kotlin.Function<? extends java.lang.Boolean>> void performSemanticsAction(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<T>> key, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> invocation);
+ method public static void performSemanticsAction(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> key);
+ }
+
+ public final class AndroidAssertions_androidKt {
+ }
+
+ public final class AndroidImageHelpers_androidKt {
+ method @RequiresApi(android.os.Build.VERSION_CODES.O) public static androidx.compose.ui.graphics.ImageBitmap captureToImage(androidx.compose.ui.test.SemanticsNodeInteraction);
+ }
+
+ public final class AndroidInputDispatcher_androidKt {
+ }
+
+ public final class AndroidOutput_androidKt {
+ }
+
+ public final class AssertionsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assert(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.test.SemanticsMatcher matcher, optional kotlin.jvm.functions.Function0<java.lang.String>? messagePrefixOnError);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertContentDescriptionContains(androidx.compose.ui.test.SemanticsNodeInteraction, String value, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertContentDescriptionEquals(androidx.compose.ui.test.SemanticsNodeInteraction, java.lang.String... values);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.compose.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsDisplayed(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsEnabled(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsFocused(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotFocused(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsOff(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsOn(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.ProgressBarRangeInfo value);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTextContains(androidx.compose.ui.test.SemanticsNodeInteraction, String value, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.compose.ui.test.SemanticsNodeInteraction, String![] values, optional boolean includeEditableText);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.compose.ui.test.SemanticsNodeInteraction, String value);
+ }
+
+ public final class BoundsAssertionsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHeightIsAtLeast-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedMinHeight);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHeightIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedHeight);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertLeftPositionInRootIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedLeft);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertPositionInRootIsEqualTo-aELHoiQ(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedLeft, float expectedTop);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTopPositionInRootIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedTop);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertWidthIsAtLeast-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedMinWidth);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction assertWidthIsEqualTo-3AN6ZEs(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedWidth);
+ method public static float getAlignmentLinePosition(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public static androidx.compose.ui.unit.DpRect getUnclippedBoundsInRoot(androidx.compose.ui.test.SemanticsNodeInteraction);
+ }
+
+ public final class ComposeTimeoutException extends java.lang.Throwable {
+ ctor public ComposeTimeoutException(String? message);
+ }
+
+ public final class ErrorMessagesKt {
+ }
+
+ public final class FiltersKt {
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnyAncestor(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnyChild(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnyDescendant(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasAnySibling(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasClickAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasContentDescription(String value, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasContentDescriptionExactly(java.lang.String... values);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasImeAction-KlQnJC8(int actionType);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasNoClickAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasNoScrollAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasParent(androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasProgressBarRangeInfo(androidx.compose.ui.semantics.ProgressBarRangeInfo rangeInfo);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasScrollAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasSetTextAction();
+ method public static androidx.compose.ui.test.SemanticsMatcher hasStateDescription(String value);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasTestTag(String testTag);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasText(String text, optional boolean substring, optional boolean ignoreCase);
+ method public static androidx.compose.ui.test.SemanticsMatcher hasTextExactly(String![] textValues, optional boolean includeEditableText);
+ method public static androidx.compose.ui.test.SemanticsMatcher isDialog();
+ method public static androidx.compose.ui.test.SemanticsMatcher isEnabled();
+ method public static androidx.compose.ui.test.SemanticsMatcher isFocusable();
+ method public static androidx.compose.ui.test.SemanticsMatcher isFocused();
+ method public static androidx.compose.ui.test.SemanticsMatcher isHeading();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotEnabled();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotFocusable();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotFocused();
+ method public static androidx.compose.ui.test.SemanticsMatcher isNotSelected();
+ method public static androidx.compose.ui.test.SemanticsMatcher isOff();
+ method public static androidx.compose.ui.test.SemanticsMatcher isOn();
+ method public static androidx.compose.ui.test.SemanticsMatcher isPopup();
+ method public static androidx.compose.ui.test.SemanticsMatcher isRoot();
+ method public static androidx.compose.ui.test.SemanticsMatcher isSelectable();
+ method public static androidx.compose.ui.test.SemanticsMatcher isSelected();
+ method public static androidx.compose.ui.test.SemanticsMatcher isToggleable();
+ }
+
+ public final class FindersKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithContentDescription(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String label, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithTag(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String testTag, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithText(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String text, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithContentDescription(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String label, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithTag(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String testTag, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithText(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String text, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onRoot(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, optional boolean useUnmergedTree);
+ }
+
+ public final class GestureScope {
+ ctor public GestureScope(androidx.compose.ui.semantics.SemanticsNode node, androidx.compose.ui.test.TestContext testContext);
+ method public long getVisibleSize-YbymL2g();
+ property public final long visibleSize;
+ }
+
+ public final class GestureScopeKt {
+ method public static void cancel(androidx.compose.ui.test.GestureScope);
+ method public static void click-ssxj34k(androidx.compose.ui.test.GestureScope, optional long position);
+ method public static void doubleClick-LZsBx1o(androidx.compose.ui.test.GestureScope, optional long position, optional long delayMillis);
+ method public static void down-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long position);
+ method public static void down-ssxj34k(androidx.compose.ui.test.GestureScope, long position);
+ method public static inline float getBottom(androidx.compose.ui.test.GestureScope);
+ method public static long getBottomCenter(androidx.compose.ui.test.GestureScope);
+ method public static long getBottomLeft(androidx.compose.ui.test.GestureScope);
+ method public static long getBottomRight(androidx.compose.ui.test.GestureScope);
+ method public static long getCenter(androidx.compose.ui.test.GestureScope);
+ method public static long getCenterLeft(androidx.compose.ui.test.GestureScope);
+ method public static long getCenterRight(androidx.compose.ui.test.GestureScope);
+ method public static inline float getCenterX(androidx.compose.ui.test.GestureScope);
+ method public static inline float getCenterY(androidx.compose.ui.test.GestureScope);
+ method public static inline int getHeight(androidx.compose.ui.test.GestureScope);
+ method public static inline float getLeft(androidx.compose.ui.test.GestureScope);
+ method public static inline float getRight(androidx.compose.ui.test.GestureScope);
+ method public static inline float getTop(androidx.compose.ui.test.GestureScope);
+ method public static long getTopCenter(androidx.compose.ui.test.GestureScope);
+ method public static long getTopLeft(androidx.compose.ui.test.GestureScope);
+ method public static long getTopRight(androidx.compose.ui.test.GestureScope);
+ method public static inline int getWidth(androidx.compose.ui.test.GestureScope);
+ method public static void longClick-LZsBx1o(androidx.compose.ui.test.GestureScope, optional long position, optional long durationMillis);
+ method public static void move(androidx.compose.ui.test.GestureScope);
+ method public static void moveBy-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long delta);
+ method public static void moveBy-ssxj34k(androidx.compose.ui.test.GestureScope, long delta);
+ method public static void movePointerBy-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long delta);
+ method public static void movePointerTo-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long position);
+ method public static void moveTo-NAWZHwc(androidx.compose.ui.test.GestureScope, int pointerId, long position);
+ method public static void moveTo-ssxj34k(androidx.compose.ui.test.GestureScope, long position);
+ method public static long percentOffset(androidx.compose.ui.test.GestureScope, optional float x, optional float y);
+ method public static void pinch-1c52nSY(androidx.compose.ui.test.GestureScope, long start0, long end0, long start1, long end1, optional long durationMillis);
+ method public static void swipe-DPh1Mgw(androidx.compose.ui.test.GestureScope, long start, long end, optional long durationMillis);
+ method public static void swipeDown(androidx.compose.ui.test.GestureScope);
+ method public static void swipeLeft(androidx.compose.ui.test.GestureScope);
+ method public static void swipeRight(androidx.compose.ui.test.GestureScope);
+ method public static void swipeUp(androidx.compose.ui.test.GestureScope);
+ method public static void swipeWithVelocity-YsXUJPI(androidx.compose.ui.test.GestureScope, long start, long end, float endVelocity, optional long durationMillis);
+ method public static void up(androidx.compose.ui.test.GestureScope, optional int pointerId);
+ }
+
+ public interface IdlingResource {
+ method public default String? getDiagnosticMessageIfBusy();
+ method public boolean isIdleNow();
+ property public abstract boolean isIdleNow;
+ }
+
+ public final class KeyInputHelpersKt {
+ method public static boolean performKeyPress-S8GO8FU(androidx.compose.ui.test.SemanticsNodeInteraction, android.view.KeyEvent keyEvent);
+ }
+
+ public interface MainTestClock {
+ method public void advanceTimeBy(long milliseconds, optional boolean ignoreFrameDuration);
+ method public void advanceTimeByFrame();
+ method public void advanceTimeUntil(optional long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
+ method public boolean getAutoAdvance();
+ method public long getCurrentTime();
+ method public void setAutoAdvance(boolean p);
+ property public abstract boolean autoAdvance;
+ property public abstract long currentTime;
+ }
+
+ public final class OutputKt {
+ method public static void printToLog(androidx.compose.ui.test.SemanticsNodeInteraction, String tag, optional int maxDepth);
+ method public static void printToLog(androidx.compose.ui.test.SemanticsNodeInteractionCollection, String tag, optional int maxDepth);
+ method public static String printToString(androidx.compose.ui.test.SemanticsNodeInteraction, optional int maxDepth);
+ method public static String printToString(androidx.compose.ui.test.SemanticsNodeInteractionCollection, optional int maxDepth);
+ }
+
+ public final class SelectionResult {
+ ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
+ method public String? getCustomErrorOnNoMatch();
+ method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
+ property public final String? customErrorOnNoMatch;
+ property public final java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes;
+ }
+
+ public final class SelectorsKt {
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection filter(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction filterToOne(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAncestors(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onChild(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onChildAt(androidx.compose.ui.test.SemanticsNodeInteraction, int index);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onChildren(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onFirst(androidx.compose.ui.test.SemanticsNodeInteractionCollection);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onLast(androidx.compose.ui.test.SemanticsNodeInteractionCollection);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onParent(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteraction onSibling(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onSiblings(androidx.compose.ui.test.SemanticsNodeInteraction);
+ }
+
+ public final class SemanticsMatcher {
+ ctor public SemanticsMatcher(String description, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsNode,java.lang.Boolean> matcher);
+ method public infix androidx.compose.ui.test.SemanticsMatcher and(androidx.compose.ui.test.SemanticsMatcher other);
+ method public String getDescription();
+ method public boolean matches(androidx.compose.ui.semantics.SemanticsNode node);
+ method public boolean matchesAny(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes);
+ method public operator androidx.compose.ui.test.SemanticsMatcher not();
+ method public infix androidx.compose.ui.test.SemanticsMatcher or(androidx.compose.ui.test.SemanticsMatcher other);
+ property public final String description;
+ field public static final androidx.compose.ui.test.SemanticsMatcher.Companion Companion;
+ }
+
+ public static final class SemanticsMatcher.Companion {
+ method public <T> androidx.compose.ui.test.SemanticsMatcher expectValue(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? expectedValue);
+ method public <T> androidx.compose.ui.test.SemanticsMatcher keyIsDefined(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ method public <T> androidx.compose.ui.test.SemanticsMatcher keyNotDefined(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ }
+
+ public final class SemanticsNodeInteraction {
+ ctor public SemanticsNodeInteraction(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsSelector selector);
+ ctor public SemanticsNodeInteraction(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public void assertDoesNotExist();
+ method public androidx.compose.ui.test.SemanticsNodeInteraction assertExists(optional String? errorMessageOnFail);
+ method public androidx.compose.ui.semantics.SemanticsNode fetchSemanticsNode(optional String? errorMessageOnFail);
+ }
+
+ public final class SemanticsNodeInteractionCollection {
+ ctor public SemanticsNodeInteractionCollection(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsSelector selector);
+ ctor public SemanticsNodeInteractionCollection(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsMatcher matcher);
+ method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> fetchSemanticsNodes(optional boolean atLeastOneRootRequired, optional String? errorMessageOnFail);
+ method public operator androidx.compose.ui.test.SemanticsNodeInteraction get(int index);
+ }
+
+ public interface SemanticsNodeInteractionsProvider {
+ method public androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodes(androidx.compose.ui.test.SemanticsMatcher matcher, optional boolean useUnmergedTree);
+ method public androidx.compose.ui.test.SemanticsNodeInteraction onNode(androidx.compose.ui.test.SemanticsMatcher matcher, optional boolean useUnmergedTree);
+ }
+
+ public final class SemanticsSelector {
+ ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
+ method public String getDescription();
+ method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
+ property public final String description;
+ }
+
+ public final class SemanticsSelectorKt {
+ }
+
+ public final class TestContext {
+ }
+
+ public final class TestMonotonicFrameClock_jvmKt {
+ }
+
+ public final class TestOwnerKt {
+ }
+
+ public final class TextActionsKt {
+ method public static void performImeAction(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static void performTextClearance(androidx.compose.ui.test.SemanticsNodeInteraction);
+ method public static void performTextInput(androidx.compose.ui.test.SemanticsNodeInteraction, String text);
+ method public static void performTextReplacement(androidx.compose.ui.test.SemanticsNodeInteraction, String text);
+ }
+
+ public final class UtilsKt {
+ }
+
+}
+
+package androidx.compose.ui.test.android {
+
+ public final class WindowCapture_androidKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-text/api/1.0.0-beta10.txt b/compose/ui/ui-text/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..1f2c1f8
--- /dev/null
+++ b/compose/ui/ui-text/api/1.0.0-beta10.txt
@@ -0,0 +1,1258 @@
+// Signature format: 4.0
+package androidx.compose.ui.text {
+
+ public final class ActualAtomicReferenceJvmKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class AnnotatedString implements java.lang.CharSequence {
+ ctor public AnnotatedString(String text, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
+ method public operator char get(int index);
+ method public int getLength();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> getSpanStyles();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
+ method public String getText();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.TtsAnnotation>> getTtsAnnotations(int start, int end);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.AnnotatedString plus(androidx.compose.ui.text.AnnotatedString other);
+ method public androidx.compose.ui.text.AnnotatedString subSequence(int startIndex, int endIndex);
+ method public androidx.compose.ui.text.AnnotatedString subSequence-5zc-tL8(long range);
+ property public int length;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles;
+ property public final String text;
+ }
+
+ public static final class AnnotatedString.Builder {
+ ctor public AnnotatedString.Builder(optional int capacity);
+ ctor public AnnotatedString.Builder(String text);
+ ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
+ method public void addStringAnnotation(String tag, String annotation, int start, int end);
+ method public void addStyle(androidx.compose.ui.text.SpanStyle style, int start, int end);
+ method public void addStyle(androidx.compose.ui.text.ParagraphStyle style, int start, int end);
+ method public void append(String text);
+ method public void append(char p);
+ method public void append(androidx.compose.ui.text.AnnotatedString text);
+ method public int getLength();
+ method public void pop();
+ method public void pop(int index);
+ method public int pushStringAnnotation(String tag, String annotation);
+ method public int pushStyle(androidx.compose.ui.text.SpanStyle style);
+ method public int pushStyle(androidx.compose.ui.text.ParagraphStyle style);
+ method public int pushTtsAnnotation(androidx.compose.ui.text.TtsAnnotation ttsAnnotation);
+ method public androidx.compose.ui.text.AnnotatedString toAnnotatedString();
+ property public final int length;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class AnnotatedString.Range<T> {
+ ctor public AnnotatedString.Range(T? item, int start, int end, String tag);
+ ctor public AnnotatedString.Range(T? item, int start, int end);
+ method public T! component1();
+ method public int component2();
+ method public int component3();
+ method public String component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
+ method public int getEnd();
+ method public T! getItem();
+ method public int getStart();
+ method public String getTag();
+ property public final int end;
+ property public final T! item;
+ property public final int start;
+ property public final String tag;
+ }
+
+ public final class AnnotatedStringKt {
+ method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.SpanStyle spanStyle, optional androidx.compose.ui.text.ParagraphStyle? paragraphStyle);
+ method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.ParagraphStyle paragraphStyle);
+ method public static inline androidx.compose.ui.text.AnnotatedString buildAnnotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+ method public static androidx.compose.ui.text.AnnotatedString capitalize(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static androidx.compose.ui.text.AnnotatedString decapitalize(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static androidx.compose.ui.text.AnnotatedString toLowerCase(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static androidx.compose.ui.text.AnnotatedString toUpperCase(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+ method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+ }
+
+ public final class JvmAnnotatedString_jvmKt {
+ }
+
+ public final class JvmCharHelpers_androidKt {
+ }
+
+ public final class MultiParagraph {
+ ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
+ ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+ method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
+ method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
+ method public boolean getDidExceedMaxLines();
+ method public float getFirstBaseline();
+ method public float getHeight();
+ method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+ method public androidx.compose.ui.text.MultiParagraphIntrinsics getIntrinsics();
+ method public float getLastBaseline();
+ method public float getLineBottom(int lineIndex);
+ method public int getLineCount();
+ method public int getLineEnd(int lineIndex, optional boolean visibleEnd);
+ method public int getLineForOffset(int offset);
+ method public int getLineForVerticalPosition(float vertical);
+ method public float getLineHeight(int lineIndex);
+ method public float getLineLeft(int lineIndex);
+ method public float getLineRight(int lineIndex);
+ method public int getLineStart(int lineIndex);
+ method public float getLineTop(int lineIndex);
+ method public float getLineWidth(int lineIndex);
+ method public float getMaxIntrinsicWidth();
+ method public int getMaxLines();
+ method public float getMinIntrinsicWidth();
+ method public int getOffsetForPosition-k-4lQ0M(long position);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+ method public androidx.compose.ui.graphics.Path getPathForRange(int start, int end);
+ method public java.util.List<androidx.compose.ui.geometry.Rect> getPlaceholderRects();
+ method public float getWidth();
+ method public long getWordBoundary-d9O1mEE(int offset);
+ method public boolean isLineEllipsized(int lineIndex);
+ method public void paint-TAOIQ28(androidx.compose.ui.graphics.Canvas canvas, optional long color, optional androidx.compose.ui.graphics.Shadow? shadow, optional androidx.compose.ui.text.style.TextDecoration? decoration);
+ property public final boolean didExceedMaxLines;
+ property public final float firstBaseline;
+ property public final float height;
+ property public final androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics;
+ property public final float lastBaseline;
+ property public final int lineCount;
+ property public final float maxIntrinsicWidth;
+ property public final int maxLines;
+ property public final float minIntrinsicWidth;
+ property public final java.util.List<androidx.compose.ui.geometry.Rect> placeholderRects;
+ property public final float width;
+ }
+
+ public final class MultiParagraphIntrinsics implements androidx.compose.ui.text.ParagraphIntrinsics {
+ ctor public MultiParagraphIntrinsics(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public float getMaxIntrinsicWidth();
+ method public float getMinIntrinsicWidth();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public float maxIntrinsicWidth;
+ property public float minIntrinsicWidth;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders;
+ }
+
+ public final class MultiParagraphIntrinsicsKt {
+ }
+
+ public final class MultiParagraphKt {
+ }
+
+ public interface Paragraph {
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+ method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
+ method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
+ method public boolean getDidExceedMaxLines();
+ method public float getFirstBaseline();
+ method public float getHeight();
+ method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+ method public float getLastBaseline();
+ method public float getLineBottom(int lineIndex);
+ method public int getLineCount();
+ method public int getLineEnd(int lineIndex, optional boolean visibleEnd);
+ method public int getLineForOffset(int offset);
+ method public int getLineForVerticalPosition(float vertical);
+ method public float getLineHeight(int lineIndex);
+ method public float getLineLeft(int lineIndex);
+ method public float getLineRight(int lineIndex);
+ method public int getLineStart(int lineIndex);
+ method public float getLineTop(int lineIndex);
+ method public float getLineWidth(int lineIndex);
+ method public float getMaxIntrinsicWidth();
+ method public float getMinIntrinsicWidth();
+ method public int getOffsetForPosition-k-4lQ0M(long position);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+ method public androidx.compose.ui.graphics.Path getPathForRange(int start, int end);
+ method public java.util.List<androidx.compose.ui.geometry.Rect> getPlaceholderRects();
+ method public float getWidth();
+ method public long getWordBoundary-d9O1mEE(int offset);
+ method public boolean isLineEllipsized(int lineIndex);
+ method public void paint-TAOIQ28(androidx.compose.ui.graphics.Canvas canvas, optional long color, optional androidx.compose.ui.graphics.Shadow? shadow, optional androidx.compose.ui.text.style.TextDecoration? textDecoration);
+ property public abstract boolean didExceedMaxLines;
+ property public abstract float firstBaseline;
+ property public abstract float height;
+ property public abstract float lastBaseline;
+ property public abstract int lineCount;
+ property public abstract float maxIntrinsicWidth;
+ property public abstract float minIntrinsicWidth;
+ property public abstract java.util.List<androidx.compose.ui.geometry.Rect> placeholderRects;
+ property public abstract float width;
+ }
+
+ public interface ParagraphIntrinsics {
+ method public float getMaxIntrinsicWidth();
+ method public float getMinIntrinsicWidth();
+ property public abstract float maxIntrinsicWidth;
+ property public abstract float minIntrinsicWidth;
+ }
+
+ public final class ParagraphIntrinsicsKt {
+ method public static androidx.compose.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ }
+
+ public final class ParagraphKt {
+ method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, optional int maxLines, optional boolean ellipsis, float width);
+ }
+
+ @androidx.compose.runtime.Immutable public final class ParagraphStyle {
+ method public androidx.compose.ui.text.ParagraphStyle copy-QrGfzA0(optional androidx.compose.ui.text.style.TextAlign? textAlign, optional androidx.compose.ui.text.style.TextDirection? textDirection, optional long lineHeight, optional androidx.compose.ui.text.style.TextIndent? textIndent);
+ method public operator boolean equals(Object? other);
+ method public long getLineHeight-XSAIIZE();
+ method public androidx.compose.ui.text.style.TextAlign? getTextAlign-buA522U();
+ method public androidx.compose.ui.text.style.TextDirection? getTextDirection-mmuk1to();
+ method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.ParagraphStyle merge(optional androidx.compose.ui.text.ParagraphStyle? other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.ParagraphStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+ property public final long lineHeight;
+ property public final androidx.compose.ui.text.style.TextAlign? textAlign;
+ property public final androidx.compose.ui.text.style.TextDirection? textDirection;
+ property public final androidx.compose.ui.text.style.TextIndent? textIndent;
+ }
+
+ public final class ParagraphStyleKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.ParagraphStyle lerp(androidx.compose.ui.text.ParagraphStyle start, androidx.compose.ui.text.ParagraphStyle stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Placeholder {
+ method public androidx.compose.ui.text.Placeholder copy-KJSDsNM(optional long width, optional long height, optional int placeholderVerticalAlign);
+ method public operator boolean equals(Object? other);
+ method public long getHeight-XSAIIZE();
+ method public int getPlaceholderVerticalAlign-J6kI3mc();
+ method public long getWidth-XSAIIZE();
+ property public final long height;
+ property public final int placeholderVerticalAlign;
+ property public final long width;
+ }
+
+ public final inline class PlaceholderVerticalAlign {
+ ctor public PlaceholderVerticalAlign();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.PlaceholderVerticalAlign.Companion Companion;
+ }
+
+ public static final class PlaceholderVerticalAlign.Companion {
+ method public int getAboveBaseline-J6kI3mc();
+ method public int getBottom-J6kI3mc();
+ method public int getCenter-J6kI3mc();
+ method public int getTextBottom-J6kI3mc();
+ method public int getTextCenter-J6kI3mc();
+ method public int getTextTop-J6kI3mc();
+ method public int getTop-J6kI3mc();
+ property public final int AboveBaseline;
+ property public final int Bottom;
+ property public final int Center;
+ property public final int TextBottom;
+ property public final int TextCenter;
+ property public final int TextTop;
+ property public final int Top;
+ }
+
+ public final class SaversKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class SpanStyle {
+ method public androidx.compose.ui.text.SpanStyle copy-D5kMcog(optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional String? fontFeatureSettings, optional long letterSpacing, optional androidx.compose.ui.text.style.BaselineShift? baselineShift, optional androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, optional androidx.compose.ui.text.intl.LocaleList? localeList, optional long background, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.graphics.Shadow? shadow);
+ method public operator boolean equals(Object? other);
+ method public long getBackground-0d7_KjU();
+ method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift-5SSeXJ0();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
+ method public String? getFontFeatureSettings();
+ method public long getFontSize-XSAIIZE();
+ method public androidx.compose.ui.text.font.FontStyle? getFontStyle-4Lr2A7w();
+ method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis-ZQGJjVo();
+ method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
+ method public long getLetterSpacing-XSAIIZE();
+ method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
+ method public androidx.compose.ui.graphics.Shadow? getShadow();
+ method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+ method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.SpanStyle merge(optional androidx.compose.ui.text.SpanStyle? other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.SpanStyle plus(androidx.compose.ui.text.SpanStyle other);
+ property public final long background;
+ property public final androidx.compose.ui.text.style.BaselineShift? baselineShift;
+ property public final long color;
+ property public final androidx.compose.ui.text.font.FontFamily? fontFamily;
+ property public final String? fontFeatureSettings;
+ property public final long fontSize;
+ property public final androidx.compose.ui.text.font.FontStyle? fontStyle;
+ property public final androidx.compose.ui.text.font.FontSynthesis? fontSynthesis;
+ property public final androidx.compose.ui.text.font.FontWeight? fontWeight;
+ property public final long letterSpacing;
+ property public final androidx.compose.ui.text.intl.LocaleList? localeList;
+ property public final androidx.compose.ui.graphics.Shadow? shadow;
+ property public final androidx.compose.ui.text.style.TextDecoration? textDecoration;
+ property public final androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform;
+ }
+
+ public final class SpanStyleKt {
+ method public static androidx.compose.ui.text.SpanStyle lerp(androidx.compose.ui.text.SpanStyle start, androidx.compose.ui.text.SpanStyle stop, float fraction);
+ }
+
+ public final class StringKt {
+ method public static String capitalize(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String capitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static String decapitalize(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String decapitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static String toLowerCase(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String toLowerCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static String toUpperCase(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String toUpperCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+ public final class TextLayoutInput {
+ method public androidx.compose.ui.text.TextLayoutInput copy-ih31NyA(optional androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean softWrap, optional int overflow, optional androidx.compose.ui.unit.Density density, optional androidx.compose.ui.unit.LayoutDirection layoutDirection, optional androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, optional long constraints);
+ method public operator boolean equals(Object? other);
+ method public long getConstraints-msEJaDk();
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public int getMaxLines();
+ method public int getOverflow-gIe3tQ8();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+ method public androidx.compose.ui.text.font.Font.ResourceLoader getResourceLoader();
+ method public boolean getSoftWrap();
+ method public androidx.compose.ui.text.TextStyle getStyle();
+ method public androidx.compose.ui.text.AnnotatedString getText();
+ property public final long constraints;
+ property public final androidx.compose.ui.unit.Density density;
+ property public final androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public final int maxLines;
+ property public final int overflow;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders;
+ property public final androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader;
+ property public final boolean softWrap;
+ property public final androidx.compose.ui.text.TextStyle style;
+ property public final androidx.compose.ui.text.AnnotatedString text;
+ }
+
+ public final class TextLayoutResult {
+ method public androidx.compose.ui.text.TextLayoutResult copy-1moGK-E(optional androidx.compose.ui.text.TextLayoutInput layoutInput, optional long size);
+ method public operator boolean equals(Object? other);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+ method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
+ method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
+ method public boolean getDidOverflowHeight();
+ method public boolean getDidOverflowWidth();
+ method public float getFirstBaseline();
+ method public boolean getHasVisualOverflow();
+ method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+ method public float getLastBaseline();
+ method public androidx.compose.ui.text.TextLayoutInput getLayoutInput();
+ method public float getLineBottom(int lineIndex);
+ method public int getLineCount();
+ method public int getLineEnd(int lineIndex, optional boolean visibleEnd);
+ method public int getLineForOffset(int offset);
+ method public int getLineForVerticalPosition(float vertical);
+ method public float getLineLeft(int lineIndex);
+ method public float getLineRight(int lineIndex);
+ method public int getLineStart(int lineIndex);
+ method public float getLineTop(int lineIndex);
+ method public androidx.compose.ui.text.MultiParagraph getMultiParagraph();
+ method public int getOffsetForPosition-k-4lQ0M(long position);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+ method public androidx.compose.ui.graphics.Path getPathForRange(int start, int end);
+ method public java.util.List<androidx.compose.ui.geometry.Rect> getPlaceholderRects();
+ method public long getSize-YbymL2g();
+ method public long getWordBoundary-d9O1mEE(int offset);
+ method public boolean isLineEllipsized(int lineIndex);
+ property public final boolean didOverflowHeight;
+ property public final boolean didOverflowWidth;
+ property public final float firstBaseline;
+ property public final boolean hasVisualOverflow;
+ property public final float lastBaseline;
+ property public final androidx.compose.ui.text.TextLayoutInput layoutInput;
+ property public final int lineCount;
+ property public final androidx.compose.ui.text.MultiParagraph multiParagraph;
+ property public final java.util.List<androidx.compose.ui.geometry.Rect> placeholderRects;
+ property public final long size;
+ }
+
+ public final class TextLayoutResultKt {
+ method @Deprecated public static androidx.compose.ui.text.TextLayoutResult createTextLayoutResult-2H_Vf2E(optional androidx.compose.ui.text.TextLayoutInput layoutInput, optional androidx.compose.ui.text.MultiParagraph multiParagraph, optional long size);
+ }
+
+ public final class TextPainter {
+ method public void paint(androidx.compose.ui.graphics.Canvas canvas, androidx.compose.ui.text.TextLayoutResult textLayoutResult);
+ field public static final androidx.compose.ui.text.TextPainter INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TextRange {
+ ctor public TextRange();
+ method public static operator boolean contains-5zc-tL8(long $this, long other);
+ method public static operator boolean contains-impl(long $this, int offset);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static boolean getCollapsed-impl(long $this);
+ method public static int getEnd-impl(long $this);
+ method public static int getLength-impl(long $this);
+ method public static int getMax-impl(long $this);
+ method public static int getMin-impl(long $this);
+ method public static boolean getReversed-impl(long $this);
+ method public static int getStart-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static boolean intersects-5zc-tL8(long $this, long other);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.text.TextRange.Companion Companion;
+ }
+
+ public static final class TextRange.Companion {
+ method public long getZero-d9O1mEE();
+ property public final long Zero;
+ }
+
+ public final class TextRangeKt {
+ method public static long TextRange(int start, int end);
+ method public static long TextRange(int index);
+ method public static String substring-cWlJSyE(CharSequence, long range);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextStyle {
+ method public androidx.compose.ui.text.TextStyle copy-4skVB9c(optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional String? fontFeatureSettings, optional long letterSpacing, optional androidx.compose.ui.text.style.BaselineShift? baselineShift, optional androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, optional androidx.compose.ui.text.intl.LocaleList? localeList, optional long background, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.graphics.Shadow? shadow, optional androidx.compose.ui.text.style.TextAlign? textAlign, optional androidx.compose.ui.text.style.TextDirection? textDirection, optional long lineHeight, optional androidx.compose.ui.text.style.TextIndent? textIndent);
+ method public long getBackground-0d7_KjU();
+ method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift-5SSeXJ0();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
+ method public String? getFontFeatureSettings();
+ method public long getFontSize-XSAIIZE();
+ method public androidx.compose.ui.text.font.FontStyle? getFontStyle-4Lr2A7w();
+ method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis-ZQGJjVo();
+ method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
+ method public long getLetterSpacing-XSAIIZE();
+ method public long getLineHeight-XSAIIZE();
+ method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
+ method public androidx.compose.ui.graphics.Shadow? getShadow();
+ method public androidx.compose.ui.text.style.TextAlign? getTextAlign-buA522U();
+ method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+ method public androidx.compose.ui.text.style.TextDirection? getTextDirection-mmuk1to();
+ method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+ method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.TextStyle merge(optional androidx.compose.ui.text.TextStyle? other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.SpanStyle other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.ParagraphStyle other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.TextStyle other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.SpanStyle other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.ParagraphStyle toParagraphStyle();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.SpanStyle toSpanStyle();
+ property public final long background;
+ property public final androidx.compose.ui.text.style.BaselineShift? baselineShift;
+ property public final long color;
+ property public final androidx.compose.ui.text.font.FontFamily? fontFamily;
+ property public final String? fontFeatureSettings;
+ property public final long fontSize;
+ property public final androidx.compose.ui.text.font.FontStyle? fontStyle;
+ property public final androidx.compose.ui.text.font.FontSynthesis? fontSynthesis;
+ property public final androidx.compose.ui.text.font.FontWeight? fontWeight;
+ property public final long letterSpacing;
+ property public final long lineHeight;
+ property public final androidx.compose.ui.text.intl.LocaleList? localeList;
+ property public final androidx.compose.ui.graphics.Shadow? shadow;
+ property public final androidx.compose.ui.text.style.TextAlign? textAlign;
+ property public final androidx.compose.ui.text.style.TextDecoration? textDecoration;
+ property public final androidx.compose.ui.text.style.TextDirection? textDirection;
+ property public final androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform;
+ property public final androidx.compose.ui.text.style.TextIndent? textIndent;
+ field public static final androidx.compose.ui.text.TextStyle.Companion Companion;
+ }
+
+ public static final class TextStyle.Companion {
+ method public androidx.compose.ui.text.TextStyle getDefault();
+ property public final androidx.compose.ui.text.TextStyle Default;
+ }
+
+ public final class TextStyleKt {
+ method public static androidx.compose.ui.text.TextStyle lerp(androidx.compose.ui.text.TextStyle start, androidx.compose.ui.text.TextStyle stop, float fraction);
+ method public static androidx.compose.ui.text.TextStyle resolveDefaults(androidx.compose.ui.text.TextStyle style, androidx.compose.ui.unit.LayoutDirection direction);
+ }
+
+ public abstract sealed class TtsAnnotation {
+ }
+
+ public final class VerbatimTtsAnnotation extends androidx.compose.ui.text.TtsAnnotation {
+ ctor public VerbatimTtsAnnotation(String verbatim);
+ method public String getVerbatim();
+ property public final String verbatim;
+ }
+
+}
+
+package androidx.compose.ui.text.android {
+
+ public final class LayoutCompatKt {
+ }
+
+ public final class LayoutHelperKt {
+ }
+
+ public final class LayoutIntrinsicsKt {
+ }
+
+ public final class SpannedExtensionsKt {
+ }
+
+ public final class StaticLayoutFactoryKt {
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+ public final class TextLayoutKt {
+ }
+
+}
+
+package androidx.compose.ui.text.android.style {
+
+ public final class PlaceholderSpanKt {
+ }
+
+}
+
+package androidx.compose.ui.text.font {
+
+ public final class AndroidFontKt {
+ }
+
+ public final class AndroidTypeface_androidKt {
+ method public static androidx.compose.ui.text.font.FontFamily FontFamily(android.graphics.Typeface typeface);
+ method public static androidx.compose.ui.text.font.Typeface Typeface(android.content.Context context, androidx.compose.ui.text.font.FontFamily fontFamily, optional java.util.List<kotlin.Pair<androidx.compose.ui.text.font.FontWeight,androidx.compose.ui.text.font.FontStyle>>? styles);
+ method public static androidx.compose.ui.text.font.Typeface Typeface(android.graphics.Typeface typeface);
+ }
+
+ public abstract sealed class FileBasedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+ }
+
+ @androidx.compose.runtime.Immutable public interface Font {
+ method public int getStyle-_-LCdwA();
+ method public androidx.compose.ui.text.font.FontWeight getWeight();
+ property public abstract int style;
+ property public abstract androidx.compose.ui.text.font.FontWeight weight;
+ }
+
+ public static interface Font.ResourceLoader {
+ method public Object load(androidx.compose.ui.text.font.Font font);
+ }
+
+ @androidx.compose.runtime.Immutable public abstract sealed class FontFamily {
+ method public final boolean getCanLoadSynchronously();
+ property public final boolean canLoadSynchronously;
+ field public static final androidx.compose.ui.text.font.FontFamily.Companion Companion;
+ }
+
+ public static final class FontFamily.Companion {
+ method public androidx.compose.ui.text.font.GenericFontFamily getCursive();
+ method public androidx.compose.ui.text.font.SystemFontFamily getDefault();
+ method public androidx.compose.ui.text.font.GenericFontFamily getMonospace();
+ method public androidx.compose.ui.text.font.GenericFontFamily getSansSerif();
+ method public androidx.compose.ui.text.font.GenericFontFamily getSerif();
+ property public final androidx.compose.ui.text.font.GenericFontFamily Cursive;
+ property public final androidx.compose.ui.text.font.SystemFontFamily Default;
+ property public final androidx.compose.ui.text.font.GenericFontFamily Monospace;
+ property public final androidx.compose.ui.text.font.GenericFontFamily SansSerif;
+ property public final androidx.compose.ui.text.font.GenericFontFamily Serif;
+ }
+
+ public final class FontFamilyKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily FontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily FontFamily(androidx.compose.ui.text.font.Font... fonts);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily FontFamily(androidx.compose.ui.text.font.Typeface typeface);
+ }
+
+ public final class FontKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.Font Font-8TkSW9U(int resId, optional androidx.compose.ui.text.font.FontWeight weight, optional int style);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily toFontFamily(androidx.compose.ui.text.font.Font);
+ }
+
+ @androidx.compose.runtime.Immutable public final class FontListFontFamily extends androidx.compose.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.compose.ui.text.font.Font> {
+ method public boolean contains(androidx.compose.ui.text.font.Font element);
+ method public boolean containsAll(java.util.Collection<?> elements);
+ method public androidx.compose.ui.text.font.Font get(int index);
+ method public java.util.List<androidx.compose.ui.text.font.Font> getFonts();
+ method public int getSize();
+ method public int indexOf(androidx.compose.ui.text.font.Font element);
+ method public boolean isEmpty();
+ method public java.util.Iterator<androidx.compose.ui.text.font.Font> iterator();
+ method public int lastIndexOf(androidx.compose.ui.text.font.Font element);
+ method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator();
+ method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator(int index);
+ method public java.util.List<androidx.compose.ui.text.font.Font> subList(int fromIndex, int toIndex);
+ property public final java.util.List<androidx.compose.ui.text.font.Font> fonts;
+ }
+
+ public final inline class FontStyle {
+ ctor public FontStyle();
+ method public static int constructor-impl(int value);
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public int getValue();
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ property public final int value;
+ field public static final androidx.compose.ui.text.font.FontStyle.Companion Companion;
+ }
+
+ public static final class FontStyle.Companion {
+ method public int getItalic-_-LCdwA();
+ method public int getNormal-_-LCdwA();
+ method public java.util.List<androidx.compose.ui.text.font.FontStyle> values();
+ property public final int Italic;
+ property public final int Normal;
+ }
+
+ public final inline class FontSynthesis {
+ ctor public FontSynthesis();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.font.FontSynthesis.Companion Companion;
+ }
+
+ public static final class FontSynthesis.Companion {
+ method public int getAll-GVVA2EU();
+ method public int getNone-GVVA2EU();
+ method public int getStyle-GVVA2EU();
+ method public int getWeight-GVVA2EU();
+ property public final int All;
+ property public final int None;
+ property public final int Style;
+ property public final int Weight;
+ }
+
+ @androidx.compose.runtime.Immutable public final class FontWeight implements java.lang.Comparable<androidx.compose.ui.text.font.FontWeight> {
+ ctor public FontWeight(int weight);
+ method public operator int compareTo(androidx.compose.ui.text.font.FontWeight other);
+ method public int getWeight();
+ property public final int weight;
+ field public static final androidx.compose.ui.text.font.FontWeight.Companion Companion;
+ }
+
+ public static final class FontWeight.Companion {
+ method public androidx.compose.ui.text.font.FontWeight getBlack();
+ method public androidx.compose.ui.text.font.FontWeight getBold();
+ method public androidx.compose.ui.text.font.FontWeight getExtraBold();
+ method public androidx.compose.ui.text.font.FontWeight getExtraLight();
+ method public androidx.compose.ui.text.font.FontWeight getLight();
+ method public androidx.compose.ui.text.font.FontWeight getMedium();
+ method public androidx.compose.ui.text.font.FontWeight getNormal();
+ method public androidx.compose.ui.text.font.FontWeight getSemiBold();
+ method public androidx.compose.ui.text.font.FontWeight getThin();
+ method public androidx.compose.ui.text.font.FontWeight getW100();
+ method public androidx.compose.ui.text.font.FontWeight getW200();
+ method public androidx.compose.ui.text.font.FontWeight getW300();
+ method public androidx.compose.ui.text.font.FontWeight getW400();
+ method public androidx.compose.ui.text.font.FontWeight getW500();
+ method public androidx.compose.ui.text.font.FontWeight getW600();
+ method public androidx.compose.ui.text.font.FontWeight getW700();
+ method public androidx.compose.ui.text.font.FontWeight getW800();
+ method public androidx.compose.ui.text.font.FontWeight getW900();
+ property public final androidx.compose.ui.text.font.FontWeight Black;
+ property public final androidx.compose.ui.text.font.FontWeight Bold;
+ property public final androidx.compose.ui.text.font.FontWeight ExtraBold;
+ property public final androidx.compose.ui.text.font.FontWeight ExtraLight;
+ property public final androidx.compose.ui.text.font.FontWeight Light;
+ property public final androidx.compose.ui.text.font.FontWeight Medium;
+ property public final androidx.compose.ui.text.font.FontWeight Normal;
+ property public final androidx.compose.ui.text.font.FontWeight SemiBold;
+ property public final androidx.compose.ui.text.font.FontWeight Thin;
+ property public final androidx.compose.ui.text.font.FontWeight W100;
+ property public final androidx.compose.ui.text.font.FontWeight W200;
+ property public final androidx.compose.ui.text.font.FontWeight W300;
+ property public final androidx.compose.ui.text.font.FontWeight W400;
+ property public final androidx.compose.ui.text.font.FontWeight W500;
+ property public final androidx.compose.ui.text.font.FontWeight W600;
+ property public final androidx.compose.ui.text.font.FontWeight W700;
+ property public final androidx.compose.ui.text.font.FontWeight W800;
+ property public final androidx.compose.ui.text.font.FontWeight W900;
+ }
+
+ public final class FontWeightKt {
+ method public static androidx.compose.ui.text.font.FontWeight lerp(androidx.compose.ui.text.font.FontWeight start, androidx.compose.ui.text.font.FontWeight stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class GenericFontFamily extends androidx.compose.ui.text.font.SystemFontFamily {
+ method public String getName();
+ property public final String name;
+ }
+
+ public final class LoadedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+ method public androidx.compose.ui.text.font.Typeface getTypeface();
+ property public final androidx.compose.ui.text.font.Typeface typeface;
+ }
+
+ public final class ResourceFont implements androidx.compose.ui.text.font.Font {
+ method public androidx.compose.ui.text.font.ResourceFont copy-8TkSW9U(optional int resId, optional androidx.compose.ui.text.font.FontWeight weight, optional int style);
+ method public int getResId();
+ method public int getStyle-_-LCdwA();
+ method public androidx.compose.ui.text.font.FontWeight getWeight();
+ property public final int resId;
+ property public int style;
+ property public androidx.compose.ui.text.font.FontWeight weight;
+ }
+
+ public abstract sealed class SystemFontFamily extends androidx.compose.ui.text.font.FontFamily {
+ }
+
+ public interface Typeface {
+ method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
+ property public abstract androidx.compose.ui.text.font.FontFamily? fontFamily;
+ }
+
+}
+
+package androidx.compose.ui.text.input {
+
+ public final class BackspaceCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public BackspaceCommand();
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class CommitTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public CommitTextCommand(androidx.compose.ui.text.AnnotatedString annotatedString, int newCursorPosition);
+ ctor public CommitTextCommand(String text, int newCursorPosition);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public int getNewCursorPosition();
+ method public String getText();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public final int newCursorPosition;
+ property public final String text;
+ }
+
+ public final class DeleteAllCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public DeleteAllCommand();
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class DeleteSurroundingTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public DeleteSurroundingTextCommand(int lengthBeforeCursor, int lengthAfterCursor);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getLengthAfterCursor();
+ method public int getLengthBeforeCursor();
+ property public final int lengthAfterCursor;
+ property public final int lengthBeforeCursor;
+ }
+
+ public final class DeleteSurroundingTextInCodePointsCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public DeleteSurroundingTextInCodePointsCommand(int lengthBeforeCursor, int lengthAfterCursor);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getLengthAfterCursor();
+ method public int getLengthBeforeCursor();
+ property public final int lengthAfterCursor;
+ property public final int lengthBeforeCursor;
+ }
+
+ public interface EditCommand {
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class EditCommandKt {
+ }
+
+ public final class EditProcessor {
+ ctor public EditProcessor();
+ method public androidx.compose.ui.text.input.TextFieldValue apply(java.util.List<? extends androidx.compose.ui.text.input.EditCommand> editCommands);
+ method public void reset(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.TextInputSession? textInputSession);
+ method public androidx.compose.ui.text.input.TextFieldValue toTextFieldValue();
+ }
+
+ public final class EditingBuffer {
+ }
+
+ public final class EditingBufferKt {
+ }
+
+ public final class FinishComposingTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public FinishComposingTextCommand();
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class GapBufferKt {
+ }
+
+ public final inline class ImeAction {
+ ctor public ImeAction();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.input.ImeAction.Companion Companion;
+ }
+
+ public static final class ImeAction.Companion {
+ method public int getDefault-eUduSuo();
+ method public int getDone-eUduSuo();
+ method public int getGo-eUduSuo();
+ method public int getNext-eUduSuo();
+ method public int getNone-eUduSuo();
+ method public int getPrevious-eUduSuo();
+ method public int getSearch-eUduSuo();
+ method public int getSend-eUduSuo();
+ property public final int Default;
+ property public final int Done;
+ property public final int Go;
+ property public final int Next;
+ property public final int None;
+ property public final int Previous;
+ property public final int Search;
+ property public final int Send;
+ }
+
+ @androidx.compose.runtime.Immutable public final class ImeOptions {
+ method public androidx.compose.ui.text.input.ImeOptions copy-TWIFjAI(optional boolean singleLine, optional int capitalization, optional boolean autoCorrect, optional int keyboardType, optional int imeAction);
+ method public boolean getAutoCorrect();
+ method public int getCapitalization-IUNYP9k();
+ method public int getImeAction-eUduSuo();
+ method public int getKeyboardType-PjHm6EE();
+ method public boolean getSingleLine();
+ property public final boolean autoCorrect;
+ property public final int capitalization;
+ property public final int imeAction;
+ property public final int keyboardType;
+ property public final boolean singleLine;
+ field public static final androidx.compose.ui.text.input.ImeOptions.Companion Companion;
+ }
+
+ public static final class ImeOptions.Companion {
+ method public androidx.compose.ui.text.input.ImeOptions getDefault();
+ property public final androidx.compose.ui.text.input.ImeOptions Default;
+ }
+
+ @Deprecated public interface InputEventCallback {
+ method @Deprecated public void onEditCommands(java.util.List<? extends androidx.compose.ui.text.input.EditCommand> editCommands);
+ method @Deprecated public void onImeAction-KlQnJC8(int imeAction);
+ }
+
+ public final inline class KeyboardCapitalization {
+ ctor public KeyboardCapitalization();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.input.KeyboardCapitalization.Companion Companion;
+ }
+
+ public static final class KeyboardCapitalization.Companion {
+ method public int getCharacters-IUNYP9k();
+ method public int getNone-IUNYP9k();
+ method public int getSentences-IUNYP9k();
+ method public int getWords-IUNYP9k();
+ property public final int Characters;
+ property public final int None;
+ property public final int Sentences;
+ property public final int Words;
+ }
+
+ public final inline class KeyboardType {
+ ctor public KeyboardType();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.input.KeyboardType.Companion Companion;
+ }
+
+ public static final class KeyboardType.Companion {
+ method public int getAscii-PjHm6EE();
+ method public int getEmail-PjHm6EE();
+ method public int getNumber-PjHm6EE();
+ method public int getNumberPassword-PjHm6EE();
+ method public int getPassword-PjHm6EE();
+ method public int getPhone-PjHm6EE();
+ method public int getText-PjHm6EE();
+ method public int getUri-PjHm6EE();
+ property public final int Ascii;
+ property public final int Email;
+ property public final int Number;
+ property public final int NumberPassword;
+ property public final int Password;
+ property public final int Phone;
+ property public final int Text;
+ property public final int Uri;
+ }
+
+ public final class MoveCursorCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public MoveCursorCommand(int amount);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getAmount();
+ property public final int amount;
+ }
+
+ public interface OffsetMapping {
+ method public int originalToTransformed(int offset);
+ method public int transformedToOriginal(int offset);
+ field public static final androidx.compose.ui.text.input.OffsetMapping.Companion Companion;
+ }
+
+ public static final class OffsetMapping.Companion {
+ method public androidx.compose.ui.text.input.OffsetMapping getIdentity();
+ property public final androidx.compose.ui.text.input.OffsetMapping Identity;
+ }
+
+ public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
+ ctor public PasswordVisualTransformation(optional char mask);
+ method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+ method public char getMask();
+ property public final char mask;
+ }
+
+ public interface PlatformTextInputService {
+ method public void hideSoftwareKeyboard();
+ method public void notifyFocusedRect(androidx.compose.ui.geometry.Rect rect);
+ method public void showSoftwareKeyboard();
+ method public void startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.ImeOptions imeOptions, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditCommand>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+ method public void stopInput();
+ method public void updateState(androidx.compose.ui.text.input.TextFieldValue? oldValue, androidx.compose.ui.text.input.TextFieldValue newValue);
+ }
+
+ public final class SetComposingRegionCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public SetComposingRegionCommand(int start, int end);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getEnd();
+ method public int getStart();
+ property public final int end;
+ property public final int start;
+ }
+
+ public final class SetComposingTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public SetComposingTextCommand(androidx.compose.ui.text.AnnotatedString annotatedString, int newCursorPosition);
+ ctor public SetComposingTextCommand(String text, int newCursorPosition);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public int getNewCursorPosition();
+ method public String getText();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public final int newCursorPosition;
+ property public final String text;
+ }
+
+ public final class SetSelectionCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public SetSelectionCommand(int start, int end);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getEnd();
+ method public int getStart();
+ property public final int end;
+ property public final int start;
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextFieldValue {
+ method public androidx.compose.ui.text.input.TextFieldValue copy-Dr2r1M0(String text, optional long selection, optional androidx.compose.ui.text.TextRange? composition);
+ method public androidx.compose.ui.text.input.TextFieldValue copy-ec4yWi8(optional androidx.compose.ui.text.AnnotatedString annotatedString, optional long selection, optional androidx.compose.ui.text.TextRange? composition);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public androidx.compose.ui.text.TextRange? getComposition-MzsxiRA();
+ method public long getSelection-d9O1mEE();
+ method public String getText();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public final androidx.compose.ui.text.TextRange? composition;
+ property public final long selection;
+ property public final String text;
+ field public static final androidx.compose.ui.text.input.TextFieldValue.Companion Companion;
+ }
+
+ public static final class TextFieldValue.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> getSaver();
+ property public final androidx.compose.runtime.saveable.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> Saver;
+ }
+
+ public final class TextFieldValueKt {
+ method public static androidx.compose.ui.text.AnnotatedString getSelectedText(androidx.compose.ui.text.input.TextFieldValue);
+ method public static androidx.compose.ui.text.AnnotatedString getTextAfterSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+ method public static androidx.compose.ui.text.AnnotatedString getTextBeforeSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+ }
+
+ public class TextInputService {
+ ctor public TextInputService(androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+ method public final void hideSoftwareKeyboard();
+ method public final void showSoftwareKeyboard();
+ method public androidx.compose.ui.text.input.TextInputSession startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.ImeOptions imeOptions, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditCommand>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+ method public void stopInput(androidx.compose.ui.text.input.TextInputSession session);
+ }
+
+ public final class TextInputSession {
+ ctor public TextInputSession(androidx.compose.ui.text.input.TextInputService textInputService, androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+ method public void dispose();
+ method public boolean hideSoftwareKeyboard();
+ method public boolean isOpen();
+ method public boolean notifyFocusedRect(androidx.compose.ui.geometry.Rect rect);
+ method public boolean showSoftwareKeyboard();
+ method public boolean updateState(androidx.compose.ui.text.input.TextFieldValue? oldValue, androidx.compose.ui.text.input.TextFieldValue newValue);
+ property public final boolean isOpen;
+ }
+
+ public final class TransformedText {
+ ctor public TransformedText(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.input.OffsetMapping offsetMapping);
+ method public androidx.compose.ui.text.input.OffsetMapping getOffsetMapping();
+ method public androidx.compose.ui.text.AnnotatedString getText();
+ property public final androidx.compose.ui.text.input.OffsetMapping offsetMapping;
+ property public final androidx.compose.ui.text.AnnotatedString text;
+ }
+
+ @androidx.compose.runtime.Immutable public fun interface VisualTransformation {
+ method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+ field public static final androidx.compose.ui.text.input.VisualTransformation.Companion Companion;
+ }
+
+ public static final class VisualTransformation.Companion {
+ method public androidx.compose.ui.text.input.VisualTransformation getNone();
+ property public final androidx.compose.ui.text.input.VisualTransformation None;
+ }
+
+}
+
+package androidx.compose.ui.text.intl {
+
+ public final class AndroidPlatformLocale_androidKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class Locale {
+ ctor public Locale(String languageTag);
+ method public String getLanguage();
+ method public String getRegion();
+ method public String getScript();
+ method public String toLanguageTag();
+ property public final String language;
+ property public final String region;
+ property public final String script;
+ field public static final androidx.compose.ui.text.intl.Locale.Companion Companion;
+ }
+
+ public static final class Locale.Companion {
+ method public androidx.compose.ui.text.intl.Locale getCurrent();
+ property public final androidx.compose.ui.text.intl.Locale current;
+ }
+
+ @androidx.compose.runtime.Immutable public final class LocaleList implements java.util.Collection<androidx.compose.ui.text.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+ ctor public LocaleList(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+ ctor public LocaleList(String languageTags);
+ ctor public LocaleList(androidx.compose.ui.text.intl.Locale... locales);
+ method public operator boolean contains(androidx.compose.ui.text.intl.Locale element);
+ method public boolean containsAll(java.util.Collection<?> elements);
+ method public operator androidx.compose.ui.text.intl.Locale get(int i);
+ method public java.util.List<androidx.compose.ui.text.intl.Locale> getLocaleList();
+ method public int getSize();
+ method public boolean isEmpty();
+ method public java.util.Iterator<androidx.compose.ui.text.intl.Locale> iterator();
+ property public final java.util.List<androidx.compose.ui.text.intl.Locale> localeList;
+ property public int size;
+ field public static final androidx.compose.ui.text.intl.LocaleList.Companion Companion;
+ }
+
+ public static final class LocaleList.Companion {
+ method public androidx.compose.ui.text.intl.LocaleList getCurrent();
+ property public final androidx.compose.ui.text.intl.LocaleList current;
+ }
+
+ public final class PlatformLocaleKt {
+ }
+
+}
+
+package androidx.compose.ui.text.platform {
+
+ public final class AndroidAccessibilitySpannableString_androidKt {
+ }
+
+ public final class AndroidParagraphHelper_androidKt {
+ }
+
+ public final class AndroidParagraphIntrinsics_androidKt {
+ }
+
+ public final class AndroidParagraph_androidKt {
+ }
+
+ public final class AndroidStringDelegate_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.text.platform.extensions {
+
+ public final class LocaleExtensions_androidKt {
+ }
+
+ public final class PlaceholderExtensions_androidKt {
+ }
+
+ public final class SpannableExtensions_androidKt {
+ }
+
+ public final class TextPaintExtensions_androidKt {
+ }
+
+ public final class TtsAnnotationExtensions_androidKt {
+ method public static android.text.style.TtsSpan toSpan(androidx.compose.ui.text.TtsAnnotation);
+ method public static android.text.style.TtsSpan toSpan(androidx.compose.ui.text.VerbatimTtsAnnotation);
+ }
+
+}
+
+package androidx.compose.ui.text.style {
+
+ @androidx.compose.runtime.Immutable public final inline class BaselineShift {
+ ctor public BaselineShift();
+ method public static float constructor-impl(float multiplier);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(float p, Object? p1);
+ method public static boolean equals-impl0(float p1, float p2);
+ method public float getMultiplier();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(float p);
+ method @androidx.compose.runtime.Immutable public static inline String! toString-impl(float p);
+ property public final float multiplier;
+ field public static final androidx.compose.ui.text.style.BaselineShift.Companion Companion;
+ }
+
+ public static final class BaselineShift.Companion {
+ method public float getNone-y9eOQZs();
+ method public float getSubscript-y9eOQZs();
+ method public float getSuperscript-y9eOQZs();
+ property public final float None;
+ property public final float Subscript;
+ property public final float Superscript;
+ }
+
+ public final class BaselineShiftKt {
+ method @androidx.compose.runtime.Stable public static float lerp-ylBt8J4(float start, float stop, float fraction);
+ }
+
+ public enum ResolvedTextDirection {
+ enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Ltr;
+ enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Rtl;
+ }
+
+ public final inline class TextAlign {
+ ctor public TextAlign();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.style.TextAlign.Companion Companion;
+ }
+
+ public static final class TextAlign.Companion {
+ method public int getCenter-e0LSkKk();
+ method public int getEnd-e0LSkKk();
+ method public int getJustify-e0LSkKk();
+ method public int getLeft-e0LSkKk();
+ method public int getRight-e0LSkKk();
+ method public int getStart-e0LSkKk();
+ method public java.util.List<androidx.compose.ui.text.style.TextAlign> values();
+ property public final int Center;
+ property public final int End;
+ property public final int Justify;
+ property public final int Left;
+ property public final int Right;
+ property public final int Start;
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextDecoration {
+ method public operator boolean contains(androidx.compose.ui.text.style.TextDecoration other);
+ method public operator boolean equals(Object? other);
+ method public int getMask();
+ method public operator androidx.compose.ui.text.style.TextDecoration plus(androidx.compose.ui.text.style.TextDecoration decoration);
+ property public final int mask;
+ field public static final androidx.compose.ui.text.style.TextDecoration.Companion Companion;
+ }
+
+ public static final class TextDecoration.Companion {
+ method public androidx.compose.ui.text.style.TextDecoration combine(java.util.List<androidx.compose.ui.text.style.TextDecoration> decorations);
+ method public androidx.compose.ui.text.style.TextDecoration getLineThrough();
+ method public androidx.compose.ui.text.style.TextDecoration getNone();
+ method public androidx.compose.ui.text.style.TextDecoration getUnderline();
+ property public final androidx.compose.ui.text.style.TextDecoration LineThrough;
+ property public final androidx.compose.ui.text.style.TextDecoration None;
+ property public final androidx.compose.ui.text.style.TextDecoration Underline;
+ }
+
+ public final inline class TextDirection {
+ ctor public TextDirection();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.style.TextDirection.Companion Companion;
+ }
+
+ public static final class TextDirection.Companion {
+ method public int getContent-s_7X-co();
+ method public int getContentOrLtr-s_7X-co();
+ method public int getContentOrRtl-s_7X-co();
+ method public int getLtr-s_7X-co();
+ method public int getRtl-s_7X-co();
+ property public final int Content;
+ property public final int ContentOrLtr;
+ property public final int ContentOrRtl;
+ property public final int Ltr;
+ property public final int Rtl;
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextGeometricTransform {
+ ctor public TextGeometricTransform(optional float scaleX, optional float skewX);
+ method public androidx.compose.ui.text.style.TextGeometricTransform copy(optional float scaleX, optional float skewX);
+ method public operator boolean equals(Object? other);
+ method public float getScaleX();
+ method public float getSkewX();
+ property public final float scaleX;
+ property public final float skewX;
+ field public static final androidx.compose.ui.text.style.TextGeometricTransform.Companion Companion;
+ }
+
+ public static final class TextGeometricTransform.Companion {
+ }
+
+ public final class TextGeometricTransformKt {
+ method public static androidx.compose.ui.text.style.TextGeometricTransform lerp(androidx.compose.ui.text.style.TextGeometricTransform start, androidx.compose.ui.text.style.TextGeometricTransform stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextIndent {
+ method public androidx.compose.ui.text.style.TextIndent copy-8E83U4Q(optional long firstLine, optional long restLine);
+ method public operator boolean equals(Object? other);
+ method public long getFirstLine-XSAIIZE();
+ method public long getRestLine-XSAIIZE();
+ property public final long firstLine;
+ property public final long restLine;
+ field public static final androidx.compose.ui.text.style.TextIndent.Companion Companion;
+ }
+
+ public static final class TextIndent.Companion {
+ method public androidx.compose.ui.text.style.TextIndent getNone();
+ property public final androidx.compose.ui.text.style.TextIndent None;
+ }
+
+ public final class TextIndentKt {
+ method public static androidx.compose.ui.text.style.TextIndent lerp(androidx.compose.ui.text.style.TextIndent start, androidx.compose.ui.text.style.TextIndent stop, float fraction);
+ }
+
+ public final inline class TextOverflow {
+ ctor public TextOverflow();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.style.TextOverflow.Companion Companion;
+ }
+
+ public static final class TextOverflow.Companion {
+ method public int getClip-gIe3tQ8();
+ method public int getEllipsis-gIe3tQ8();
+ method public int getVisible-gIe3tQ8();
+ property public final int Clip;
+ property public final int Ellipsis;
+ property public final int Visible;
+ }
+
+}
+
diff --git a/compose/ui/ui-text/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-text/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..3c88ecb
--- /dev/null
+++ b/compose/ui/ui-text/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,1273 @@
+// Signature format: 4.0
+package androidx.compose.ui.text {
+
+ public final class ActualAtomicReferenceJvmKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class AnnotatedString implements java.lang.CharSequence {
+ ctor public AnnotatedString(String text, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
+ method public operator char get(int index);
+ method public int getLength();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> getSpanStyles();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
+ method public String getText();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.TtsAnnotation>> getTtsAnnotations(int start, int end);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.AnnotatedString plus(androidx.compose.ui.text.AnnotatedString other);
+ method public androidx.compose.ui.text.AnnotatedString subSequence(int startIndex, int endIndex);
+ method public androidx.compose.ui.text.AnnotatedString subSequence-5zc-tL8(long range);
+ property public int length;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles;
+ property public final String text;
+ }
+
+ public static final class AnnotatedString.Builder {
+ ctor public AnnotatedString.Builder(optional int capacity);
+ ctor public AnnotatedString.Builder(String text);
+ ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
+ method public void addStringAnnotation(String tag, String annotation, int start, int end);
+ method public void addStyle(androidx.compose.ui.text.SpanStyle style, int start, int end);
+ method public void addStyle(androidx.compose.ui.text.ParagraphStyle style, int start, int end);
+ method @androidx.compose.ui.text.ExperimentalTextApi public void addTtsAnnotation(androidx.compose.ui.text.TtsAnnotation ttsAnnotation, int start, int end);
+ method public void append(String text);
+ method public void append(char p);
+ method public void append(androidx.compose.ui.text.AnnotatedString text);
+ method public int getLength();
+ method public void pop();
+ method public void pop(int index);
+ method public int pushStringAnnotation(String tag, String annotation);
+ method public int pushStyle(androidx.compose.ui.text.SpanStyle style);
+ method public int pushStyle(androidx.compose.ui.text.ParagraphStyle style);
+ method public int pushTtsAnnotation(androidx.compose.ui.text.TtsAnnotation ttsAnnotation);
+ method public androidx.compose.ui.text.AnnotatedString toAnnotatedString();
+ property public final int length;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class AnnotatedString.Range<T> {
+ ctor public AnnotatedString.Range(T? item, int start, int end, String tag);
+ ctor public AnnotatedString.Range(T? item, int start, int end);
+ method public T! component1();
+ method public int component2();
+ method public int component3();
+ method public String component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
+ method public int getEnd();
+ method public T! getItem();
+ method public int getStart();
+ method public String getTag();
+ property public final int end;
+ property public final T! item;
+ property public final int start;
+ property public final String tag;
+ }
+
+ public final class AnnotatedStringKt {
+ method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.SpanStyle spanStyle, optional androidx.compose.ui.text.ParagraphStyle? paragraphStyle);
+ method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.ParagraphStyle paragraphStyle);
+ method public static inline androidx.compose.ui.text.AnnotatedString buildAnnotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+ method public static androidx.compose.ui.text.AnnotatedString capitalize(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static androidx.compose.ui.text.AnnotatedString decapitalize(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static androidx.compose.ui.text.AnnotatedString toLowerCase(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static androidx.compose.ui.text.AnnotatedString toUpperCase(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method @androidx.compose.ui.text.ExperimentalTextApi public static inline <R> R withAnnotation(androidx.compose.ui.text.AnnotatedString.Builder, String tag, String annotation, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+ method @androidx.compose.ui.text.ExperimentalTextApi public static inline <R> R withAnnotation(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.TtsAnnotation ttsAnnotation, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+ method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+ method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+ }
+
+ @kotlin.RequiresOptIn(message="This API is experimental and is likely to change in the future.") public @interface ExperimentalTextApi {
+ }
+
+ @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface InternalTextApi {
+ }
+
+ public final class JvmAnnotatedString_jvmKt {
+ }
+
+ public final class JvmCharHelpers_androidKt {
+ }
+
+ public final class MultiParagraph {
+ ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
+ ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+ method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
+ method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
+ method public boolean getDidExceedMaxLines();
+ method public float getFirstBaseline();
+ method public float getHeight();
+ method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+ method public androidx.compose.ui.text.MultiParagraphIntrinsics getIntrinsics();
+ method public float getLastBaseline();
+ method public float getLineBottom(int lineIndex);
+ method public int getLineCount();
+ method public int getLineEnd(int lineIndex, optional boolean visibleEnd);
+ method public int getLineForOffset(int offset);
+ method public int getLineForVerticalPosition(float vertical);
+ method public float getLineHeight(int lineIndex);
+ method public float getLineLeft(int lineIndex);
+ method public float getLineRight(int lineIndex);
+ method public int getLineStart(int lineIndex);
+ method public float getLineTop(int lineIndex);
+ method public float getLineWidth(int lineIndex);
+ method public float getMaxIntrinsicWidth();
+ method public int getMaxLines();
+ method public float getMinIntrinsicWidth();
+ method public int getOffsetForPosition-k-4lQ0M(long position);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+ method public androidx.compose.ui.graphics.Path getPathForRange(int start, int end);
+ method public java.util.List<androidx.compose.ui.geometry.Rect> getPlaceholderRects();
+ method public float getWidth();
+ method public long getWordBoundary-d9O1mEE(int offset);
+ method public boolean isLineEllipsized(int lineIndex);
+ method public void paint-TAOIQ28(androidx.compose.ui.graphics.Canvas canvas, optional long color, optional androidx.compose.ui.graphics.Shadow? shadow, optional androidx.compose.ui.text.style.TextDecoration? decoration);
+ property public final boolean didExceedMaxLines;
+ property public final float firstBaseline;
+ property public final float height;
+ property public final androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics;
+ property public final float lastBaseline;
+ property public final int lineCount;
+ property public final float maxIntrinsicWidth;
+ property public final int maxLines;
+ property public final float minIntrinsicWidth;
+ property public final java.util.List<androidx.compose.ui.geometry.Rect> placeholderRects;
+ property public final float width;
+ }
+
+ public final class MultiParagraphIntrinsics implements androidx.compose.ui.text.ParagraphIntrinsics {
+ ctor public MultiParagraphIntrinsics(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public float getMaxIntrinsicWidth();
+ method public float getMinIntrinsicWidth();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public float maxIntrinsicWidth;
+ property public float minIntrinsicWidth;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders;
+ }
+
+ public final class MultiParagraphIntrinsicsKt {
+ }
+
+ public final class MultiParagraphKt {
+ }
+
+ public interface Paragraph {
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+ method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
+ method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
+ method public boolean getDidExceedMaxLines();
+ method public float getFirstBaseline();
+ method public float getHeight();
+ method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+ method public float getLastBaseline();
+ method public float getLineBottom(int lineIndex);
+ method public int getLineCount();
+ method public int getLineEnd(int lineIndex, optional boolean visibleEnd);
+ method public int getLineForOffset(int offset);
+ method public int getLineForVerticalPosition(float vertical);
+ method public float getLineHeight(int lineIndex);
+ method public float getLineLeft(int lineIndex);
+ method public float getLineRight(int lineIndex);
+ method public int getLineStart(int lineIndex);
+ method public float getLineTop(int lineIndex);
+ method public float getLineWidth(int lineIndex);
+ method public float getMaxIntrinsicWidth();
+ method public float getMinIntrinsicWidth();
+ method public int getOffsetForPosition-k-4lQ0M(long position);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+ method public androidx.compose.ui.graphics.Path getPathForRange(int start, int end);
+ method public java.util.List<androidx.compose.ui.geometry.Rect> getPlaceholderRects();
+ method public float getWidth();
+ method public long getWordBoundary-d9O1mEE(int offset);
+ method public boolean isLineEllipsized(int lineIndex);
+ method public void paint-TAOIQ28(androidx.compose.ui.graphics.Canvas canvas, optional long color, optional androidx.compose.ui.graphics.Shadow? shadow, optional androidx.compose.ui.text.style.TextDecoration? textDecoration);
+ property public abstract boolean didExceedMaxLines;
+ property public abstract float firstBaseline;
+ property public abstract float height;
+ property public abstract float lastBaseline;
+ property public abstract int lineCount;
+ property public abstract float maxIntrinsicWidth;
+ property public abstract float minIntrinsicWidth;
+ property public abstract java.util.List<androidx.compose.ui.geometry.Rect> placeholderRects;
+ property public abstract float width;
+ }
+
+ public interface ParagraphIntrinsics {
+ method public float getMaxIntrinsicWidth();
+ method public float getMinIntrinsicWidth();
+ property public abstract float maxIntrinsicWidth;
+ property public abstract float minIntrinsicWidth;
+ }
+
+ public final class ParagraphIntrinsicsKt {
+ method public static androidx.compose.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ }
+
+ public final class ParagraphKt {
+ method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, optional int maxLines, optional boolean ellipsis, float width);
+ }
+
+ @androidx.compose.runtime.Immutable public final class ParagraphStyle {
+ method public androidx.compose.ui.text.ParagraphStyle copy-QrGfzA0(optional androidx.compose.ui.text.style.TextAlign? textAlign, optional androidx.compose.ui.text.style.TextDirection? textDirection, optional long lineHeight, optional androidx.compose.ui.text.style.TextIndent? textIndent);
+ method public operator boolean equals(Object? other);
+ method public long getLineHeight-XSAIIZE();
+ method public androidx.compose.ui.text.style.TextAlign? getTextAlign-buA522U();
+ method public androidx.compose.ui.text.style.TextDirection? getTextDirection-mmuk1to();
+ method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.ParagraphStyle merge(optional androidx.compose.ui.text.ParagraphStyle? other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.ParagraphStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+ property public final long lineHeight;
+ property public final androidx.compose.ui.text.style.TextAlign? textAlign;
+ property public final androidx.compose.ui.text.style.TextDirection? textDirection;
+ property public final androidx.compose.ui.text.style.TextIndent? textIndent;
+ }
+
+ public final class ParagraphStyleKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.ParagraphStyle lerp(androidx.compose.ui.text.ParagraphStyle start, androidx.compose.ui.text.ParagraphStyle stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Placeholder {
+ method public androidx.compose.ui.text.Placeholder copy-KJSDsNM(optional long width, optional long height, optional int placeholderVerticalAlign);
+ method public operator boolean equals(Object? other);
+ method public long getHeight-XSAIIZE();
+ method public int getPlaceholderVerticalAlign-J6kI3mc();
+ method public long getWidth-XSAIIZE();
+ property public final long height;
+ property public final int placeholderVerticalAlign;
+ property public final long width;
+ }
+
+ public final inline class PlaceholderVerticalAlign {
+ ctor public PlaceholderVerticalAlign();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.PlaceholderVerticalAlign.Companion Companion;
+ }
+
+ public static final class PlaceholderVerticalAlign.Companion {
+ method public int getAboveBaseline-J6kI3mc();
+ method public int getBottom-J6kI3mc();
+ method public int getCenter-J6kI3mc();
+ method public int getTextBottom-J6kI3mc();
+ method public int getTextCenter-J6kI3mc();
+ method public int getTextTop-J6kI3mc();
+ method public int getTop-J6kI3mc();
+ property public final int AboveBaseline;
+ property public final int Bottom;
+ property public final int Center;
+ property public final int TextBottom;
+ property public final int TextCenter;
+ property public final int TextTop;
+ property public final int Top;
+ }
+
+ public final class SaversKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class SpanStyle {
+ method public androidx.compose.ui.text.SpanStyle copy-D5kMcog(optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional String? fontFeatureSettings, optional long letterSpacing, optional androidx.compose.ui.text.style.BaselineShift? baselineShift, optional androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, optional androidx.compose.ui.text.intl.LocaleList? localeList, optional long background, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.graphics.Shadow? shadow);
+ method public operator boolean equals(Object? other);
+ method public long getBackground-0d7_KjU();
+ method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift-5SSeXJ0();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
+ method public String? getFontFeatureSettings();
+ method public long getFontSize-XSAIIZE();
+ method public androidx.compose.ui.text.font.FontStyle? getFontStyle-4Lr2A7w();
+ method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis-ZQGJjVo();
+ method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
+ method public long getLetterSpacing-XSAIIZE();
+ method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
+ method public androidx.compose.ui.graphics.Shadow? getShadow();
+ method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+ method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.SpanStyle merge(optional androidx.compose.ui.text.SpanStyle? other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.SpanStyle plus(androidx.compose.ui.text.SpanStyle other);
+ property public final long background;
+ property public final androidx.compose.ui.text.style.BaselineShift? baselineShift;
+ property public final long color;
+ property public final androidx.compose.ui.text.font.FontFamily? fontFamily;
+ property public final String? fontFeatureSettings;
+ property public final long fontSize;
+ property public final androidx.compose.ui.text.font.FontStyle? fontStyle;
+ property public final androidx.compose.ui.text.font.FontSynthesis? fontSynthesis;
+ property public final androidx.compose.ui.text.font.FontWeight? fontWeight;
+ property public final long letterSpacing;
+ property public final androidx.compose.ui.text.intl.LocaleList? localeList;
+ property public final androidx.compose.ui.graphics.Shadow? shadow;
+ property public final androidx.compose.ui.text.style.TextDecoration? textDecoration;
+ property public final androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform;
+ }
+
+ public final class SpanStyleKt {
+ method public static androidx.compose.ui.text.SpanStyle lerp(androidx.compose.ui.text.SpanStyle start, androidx.compose.ui.text.SpanStyle stop, float fraction);
+ }
+
+ public final class StringKt {
+ method public static String capitalize(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String capitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static String decapitalize(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String decapitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static String toLowerCase(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String toLowerCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static String toUpperCase(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String toUpperCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+ public final class TextLayoutInput {
+ method public androidx.compose.ui.text.TextLayoutInput copy-ih31NyA(optional androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean softWrap, optional int overflow, optional androidx.compose.ui.unit.Density density, optional androidx.compose.ui.unit.LayoutDirection layoutDirection, optional androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, optional long constraints);
+ method public operator boolean equals(Object? other);
+ method public long getConstraints-msEJaDk();
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public int getMaxLines();
+ method public int getOverflow-gIe3tQ8();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+ method public androidx.compose.ui.text.font.Font.ResourceLoader getResourceLoader();
+ method public boolean getSoftWrap();
+ method public androidx.compose.ui.text.TextStyle getStyle();
+ method public androidx.compose.ui.text.AnnotatedString getText();
+ property public final long constraints;
+ property public final androidx.compose.ui.unit.Density density;
+ property public final androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public final int maxLines;
+ property public final int overflow;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders;
+ property public final androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader;
+ property public final boolean softWrap;
+ property public final androidx.compose.ui.text.TextStyle style;
+ property public final androidx.compose.ui.text.AnnotatedString text;
+ }
+
+ public final class TextLayoutResult {
+ method public androidx.compose.ui.text.TextLayoutResult copy-1moGK-E(optional androidx.compose.ui.text.TextLayoutInput layoutInput, optional long size);
+ method public operator boolean equals(Object? other);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+ method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
+ method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
+ method public boolean getDidOverflowHeight();
+ method public boolean getDidOverflowWidth();
+ method public float getFirstBaseline();
+ method public boolean getHasVisualOverflow();
+ method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+ method public float getLastBaseline();
+ method public androidx.compose.ui.text.TextLayoutInput getLayoutInput();
+ method public float getLineBottom(int lineIndex);
+ method public int getLineCount();
+ method public int getLineEnd(int lineIndex, optional boolean visibleEnd);
+ method public int getLineForOffset(int offset);
+ method public int getLineForVerticalPosition(float vertical);
+ method public float getLineLeft(int lineIndex);
+ method public float getLineRight(int lineIndex);
+ method public int getLineStart(int lineIndex);
+ method public float getLineTop(int lineIndex);
+ method public androidx.compose.ui.text.MultiParagraph getMultiParagraph();
+ method public int getOffsetForPosition-k-4lQ0M(long position);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+ method public androidx.compose.ui.graphics.Path getPathForRange(int start, int end);
+ method public java.util.List<androidx.compose.ui.geometry.Rect> getPlaceholderRects();
+ method public long getSize-YbymL2g();
+ method public long getWordBoundary-d9O1mEE(int offset);
+ method public boolean isLineEllipsized(int lineIndex);
+ property public final boolean didOverflowHeight;
+ property public final boolean didOverflowWidth;
+ property public final float firstBaseline;
+ property public final boolean hasVisualOverflow;
+ property public final float lastBaseline;
+ property public final androidx.compose.ui.text.TextLayoutInput layoutInput;
+ property public final int lineCount;
+ property public final androidx.compose.ui.text.MultiParagraph multiParagraph;
+ property public final java.util.List<androidx.compose.ui.geometry.Rect> placeholderRects;
+ property public final long size;
+ }
+
+ public final class TextLayoutResultKt {
+ method @Deprecated public static androidx.compose.ui.text.TextLayoutResult createTextLayoutResult-2H_Vf2E(optional androidx.compose.ui.text.TextLayoutInput layoutInput, optional androidx.compose.ui.text.MultiParagraph multiParagraph, optional long size);
+ }
+
+ public final class TextPainter {
+ method public void paint(androidx.compose.ui.graphics.Canvas canvas, androidx.compose.ui.text.TextLayoutResult textLayoutResult);
+ field public static final androidx.compose.ui.text.TextPainter INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TextRange {
+ ctor public TextRange();
+ method public static operator boolean contains-5zc-tL8(long $this, long other);
+ method public static operator boolean contains-impl(long $this, int offset);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static boolean getCollapsed-impl(long $this);
+ method public static int getEnd-impl(long $this);
+ method public static int getLength-impl(long $this);
+ method public static int getMax-impl(long $this);
+ method public static int getMin-impl(long $this);
+ method public static boolean getReversed-impl(long $this);
+ method public static int getStart-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static boolean intersects-5zc-tL8(long $this, long other);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.text.TextRange.Companion Companion;
+ }
+
+ public static final class TextRange.Companion {
+ method public long getZero-d9O1mEE();
+ property public final long Zero;
+ }
+
+ public final class TextRangeKt {
+ method public static long TextRange(int start, int end);
+ method public static long TextRange(int index);
+ method public static String substring-cWlJSyE(CharSequence, long range);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextStyle {
+ method public androidx.compose.ui.text.TextStyle copy-4skVB9c(optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional String? fontFeatureSettings, optional long letterSpacing, optional androidx.compose.ui.text.style.BaselineShift? baselineShift, optional androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, optional androidx.compose.ui.text.intl.LocaleList? localeList, optional long background, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.graphics.Shadow? shadow, optional androidx.compose.ui.text.style.TextAlign? textAlign, optional androidx.compose.ui.text.style.TextDirection? textDirection, optional long lineHeight, optional androidx.compose.ui.text.style.TextIndent? textIndent);
+ method public long getBackground-0d7_KjU();
+ method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift-5SSeXJ0();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
+ method public String? getFontFeatureSettings();
+ method public long getFontSize-XSAIIZE();
+ method public androidx.compose.ui.text.font.FontStyle? getFontStyle-4Lr2A7w();
+ method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis-ZQGJjVo();
+ method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
+ method public long getLetterSpacing-XSAIIZE();
+ method public long getLineHeight-XSAIIZE();
+ method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
+ method public androidx.compose.ui.graphics.Shadow? getShadow();
+ method public androidx.compose.ui.text.style.TextAlign? getTextAlign-buA522U();
+ method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+ method public androidx.compose.ui.text.style.TextDirection? getTextDirection-mmuk1to();
+ method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+ method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.TextStyle merge(optional androidx.compose.ui.text.TextStyle? other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.SpanStyle other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.ParagraphStyle other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.TextStyle other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.SpanStyle other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.ParagraphStyle toParagraphStyle();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.SpanStyle toSpanStyle();
+ property public final long background;
+ property public final androidx.compose.ui.text.style.BaselineShift? baselineShift;
+ property public final long color;
+ property public final androidx.compose.ui.text.font.FontFamily? fontFamily;
+ property public final String? fontFeatureSettings;
+ property public final long fontSize;
+ property public final androidx.compose.ui.text.font.FontStyle? fontStyle;
+ property public final androidx.compose.ui.text.font.FontSynthesis? fontSynthesis;
+ property public final androidx.compose.ui.text.font.FontWeight? fontWeight;
+ property public final long letterSpacing;
+ property public final long lineHeight;
+ property public final androidx.compose.ui.text.intl.LocaleList? localeList;
+ property public final androidx.compose.ui.graphics.Shadow? shadow;
+ property public final androidx.compose.ui.text.style.TextAlign? textAlign;
+ property public final androidx.compose.ui.text.style.TextDecoration? textDecoration;
+ property public final androidx.compose.ui.text.style.TextDirection? textDirection;
+ property public final androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform;
+ property public final androidx.compose.ui.text.style.TextIndent? textIndent;
+ field public static final androidx.compose.ui.text.TextStyle.Companion Companion;
+ }
+
+ public static final class TextStyle.Companion {
+ method public androidx.compose.ui.text.TextStyle getDefault();
+ property public final androidx.compose.ui.text.TextStyle Default;
+ }
+
+ public final class TextStyleKt {
+ method public static androidx.compose.ui.text.TextStyle lerp(androidx.compose.ui.text.TextStyle start, androidx.compose.ui.text.TextStyle stop, float fraction);
+ method public static androidx.compose.ui.text.TextStyle resolveDefaults(androidx.compose.ui.text.TextStyle style, androidx.compose.ui.unit.LayoutDirection direction);
+ }
+
+ public abstract sealed class TtsAnnotation {
+ }
+
+ public final class VerbatimTtsAnnotation extends androidx.compose.ui.text.TtsAnnotation {
+ ctor public VerbatimTtsAnnotation(String verbatim);
+ method public String getVerbatim();
+ property public final String verbatim;
+ }
+
+}
+
+package androidx.compose.ui.text.android {
+
+ @kotlin.RequiresOptIn(level=kotlin.RequiresOptIn.Level, message="This is internal API that may change frequently and without warning.") @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface InternalPlatformTextApi {
+ }
+
+ public final class LayoutCompatKt {
+ }
+
+ public final class LayoutHelperKt {
+ }
+
+ public final class LayoutIntrinsicsKt {
+ }
+
+ public final class SpannedExtensionsKt {
+ }
+
+ public final class StaticLayoutFactoryKt {
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+ public final class TextLayoutKt {
+ }
+
+}
+
+package androidx.compose.ui.text.android.style {
+
+ public final class PlaceholderSpanKt {
+ }
+
+}
+
+package androidx.compose.ui.text.font {
+
+ public final class AndroidFontKt {
+ method @androidx.compose.runtime.Stable @androidx.compose.ui.text.ExperimentalTextApi public static androidx.compose.ui.text.font.Font Font-3njdYzw(android.content.res.AssetManager assetManager, String path, optional androidx.compose.ui.text.font.FontWeight weight, optional int style);
+ method @androidx.compose.runtime.Stable @androidx.compose.ui.text.ExperimentalTextApi public static androidx.compose.ui.text.font.Font Font-eiC3mdU(java.io.File file, optional androidx.compose.ui.text.font.FontWeight weight, optional int style);
+ method @RequiresApi(26) @androidx.compose.runtime.Stable @androidx.compose.ui.text.ExperimentalTextApi public static androidx.compose.ui.text.font.Font Font-galngd0(android.os.ParcelFileDescriptor fileDescriptor, optional androidx.compose.ui.text.font.FontWeight weight, optional int style);
+ }
+
+ public final class AndroidTypeface_androidKt {
+ method public static androidx.compose.ui.text.font.FontFamily FontFamily(android.graphics.Typeface typeface);
+ method public static androidx.compose.ui.text.font.Typeface Typeface(android.content.Context context, androidx.compose.ui.text.font.FontFamily fontFamily, optional java.util.List<kotlin.Pair<androidx.compose.ui.text.font.FontWeight,androidx.compose.ui.text.font.FontStyle>>? styles);
+ method public static androidx.compose.ui.text.font.Typeface Typeface(android.graphics.Typeface typeface);
+ }
+
+ public abstract sealed class FileBasedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+ }
+
+ @androidx.compose.runtime.Immutable public interface Font {
+ method public int getStyle-_-LCdwA();
+ method public androidx.compose.ui.text.font.FontWeight getWeight();
+ property public abstract int style;
+ property public abstract androidx.compose.ui.text.font.FontWeight weight;
+ }
+
+ public static interface Font.ResourceLoader {
+ method public Object load(androidx.compose.ui.text.font.Font font);
+ }
+
+ @androidx.compose.runtime.Immutable public abstract sealed class FontFamily {
+ method public final boolean getCanLoadSynchronously();
+ property public final boolean canLoadSynchronously;
+ field public static final androidx.compose.ui.text.font.FontFamily.Companion Companion;
+ }
+
+ public static final class FontFamily.Companion {
+ method public androidx.compose.ui.text.font.GenericFontFamily getCursive();
+ method public androidx.compose.ui.text.font.SystemFontFamily getDefault();
+ method public androidx.compose.ui.text.font.GenericFontFamily getMonospace();
+ method public androidx.compose.ui.text.font.GenericFontFamily getSansSerif();
+ method public androidx.compose.ui.text.font.GenericFontFamily getSerif();
+ property public final androidx.compose.ui.text.font.GenericFontFamily Cursive;
+ property public final androidx.compose.ui.text.font.SystemFontFamily Default;
+ property public final androidx.compose.ui.text.font.GenericFontFamily Monospace;
+ property public final androidx.compose.ui.text.font.GenericFontFamily SansSerif;
+ property public final androidx.compose.ui.text.font.GenericFontFamily Serif;
+ }
+
+ public final class FontFamilyKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily FontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily FontFamily(androidx.compose.ui.text.font.Font... fonts);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily FontFamily(androidx.compose.ui.text.font.Typeface typeface);
+ }
+
+ public final class FontKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.Font Font-8TkSW9U(int resId, optional androidx.compose.ui.text.font.FontWeight weight, optional int style);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily toFontFamily(androidx.compose.ui.text.font.Font);
+ }
+
+ @androidx.compose.runtime.Immutable public final class FontListFontFamily extends androidx.compose.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.compose.ui.text.font.Font> {
+ method public boolean contains(androidx.compose.ui.text.font.Font element);
+ method public boolean containsAll(java.util.Collection<?> elements);
+ method public androidx.compose.ui.text.font.Font get(int index);
+ method public java.util.List<androidx.compose.ui.text.font.Font> getFonts();
+ method public int getSize();
+ method public int indexOf(androidx.compose.ui.text.font.Font element);
+ method public boolean isEmpty();
+ method public java.util.Iterator<androidx.compose.ui.text.font.Font> iterator();
+ method public int lastIndexOf(androidx.compose.ui.text.font.Font element);
+ method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator();
+ method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator(int index);
+ method public java.util.List<androidx.compose.ui.text.font.Font> subList(int fromIndex, int toIndex);
+ property public final java.util.List<androidx.compose.ui.text.font.Font> fonts;
+ }
+
+ public final inline class FontStyle {
+ ctor public FontStyle();
+ method public static int constructor-impl(int value);
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public int getValue();
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ property public final int value;
+ field public static final androidx.compose.ui.text.font.FontStyle.Companion Companion;
+ }
+
+ public static final class FontStyle.Companion {
+ method public int getItalic-_-LCdwA();
+ method public int getNormal-_-LCdwA();
+ method public java.util.List<androidx.compose.ui.text.font.FontStyle> values();
+ property public final int Italic;
+ property public final int Normal;
+ }
+
+ public final inline class FontSynthesis {
+ ctor public FontSynthesis();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.font.FontSynthesis.Companion Companion;
+ }
+
+ public static final class FontSynthesis.Companion {
+ method public int getAll-GVVA2EU();
+ method public int getNone-GVVA2EU();
+ method public int getStyle-GVVA2EU();
+ method public int getWeight-GVVA2EU();
+ property public final int All;
+ property public final int None;
+ property public final int Style;
+ property public final int Weight;
+ }
+
+ @androidx.compose.runtime.Immutable public final class FontWeight implements java.lang.Comparable<androidx.compose.ui.text.font.FontWeight> {
+ ctor public FontWeight(int weight);
+ method public operator int compareTo(androidx.compose.ui.text.font.FontWeight other);
+ method public int getWeight();
+ property public final int weight;
+ field public static final androidx.compose.ui.text.font.FontWeight.Companion Companion;
+ }
+
+ public static final class FontWeight.Companion {
+ method public androidx.compose.ui.text.font.FontWeight getBlack();
+ method public androidx.compose.ui.text.font.FontWeight getBold();
+ method public androidx.compose.ui.text.font.FontWeight getExtraBold();
+ method public androidx.compose.ui.text.font.FontWeight getExtraLight();
+ method public androidx.compose.ui.text.font.FontWeight getLight();
+ method public androidx.compose.ui.text.font.FontWeight getMedium();
+ method public androidx.compose.ui.text.font.FontWeight getNormal();
+ method public androidx.compose.ui.text.font.FontWeight getSemiBold();
+ method public androidx.compose.ui.text.font.FontWeight getThin();
+ method public androidx.compose.ui.text.font.FontWeight getW100();
+ method public androidx.compose.ui.text.font.FontWeight getW200();
+ method public androidx.compose.ui.text.font.FontWeight getW300();
+ method public androidx.compose.ui.text.font.FontWeight getW400();
+ method public androidx.compose.ui.text.font.FontWeight getW500();
+ method public androidx.compose.ui.text.font.FontWeight getW600();
+ method public androidx.compose.ui.text.font.FontWeight getW700();
+ method public androidx.compose.ui.text.font.FontWeight getW800();
+ method public androidx.compose.ui.text.font.FontWeight getW900();
+ property public final androidx.compose.ui.text.font.FontWeight Black;
+ property public final androidx.compose.ui.text.font.FontWeight Bold;
+ property public final androidx.compose.ui.text.font.FontWeight ExtraBold;
+ property public final androidx.compose.ui.text.font.FontWeight ExtraLight;
+ property public final androidx.compose.ui.text.font.FontWeight Light;
+ property public final androidx.compose.ui.text.font.FontWeight Medium;
+ property public final androidx.compose.ui.text.font.FontWeight Normal;
+ property public final androidx.compose.ui.text.font.FontWeight SemiBold;
+ property public final androidx.compose.ui.text.font.FontWeight Thin;
+ property public final androidx.compose.ui.text.font.FontWeight W100;
+ property public final androidx.compose.ui.text.font.FontWeight W200;
+ property public final androidx.compose.ui.text.font.FontWeight W300;
+ property public final androidx.compose.ui.text.font.FontWeight W400;
+ property public final androidx.compose.ui.text.font.FontWeight W500;
+ property public final androidx.compose.ui.text.font.FontWeight W600;
+ property public final androidx.compose.ui.text.font.FontWeight W700;
+ property public final androidx.compose.ui.text.font.FontWeight W800;
+ property public final androidx.compose.ui.text.font.FontWeight W900;
+ }
+
+ public final class FontWeightKt {
+ method public static androidx.compose.ui.text.font.FontWeight lerp(androidx.compose.ui.text.font.FontWeight start, androidx.compose.ui.text.font.FontWeight stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class GenericFontFamily extends androidx.compose.ui.text.font.SystemFontFamily {
+ method public String getName();
+ property public final String name;
+ }
+
+ public final class LoadedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+ method public androidx.compose.ui.text.font.Typeface getTypeface();
+ property public final androidx.compose.ui.text.font.Typeface typeface;
+ }
+
+ public final class ResourceFont implements androidx.compose.ui.text.font.Font {
+ method public androidx.compose.ui.text.font.ResourceFont copy-8TkSW9U(optional int resId, optional androidx.compose.ui.text.font.FontWeight weight, optional int style);
+ method public int getResId();
+ method public int getStyle-_-LCdwA();
+ method public androidx.compose.ui.text.font.FontWeight getWeight();
+ property public final int resId;
+ property public int style;
+ property public androidx.compose.ui.text.font.FontWeight weight;
+ }
+
+ public abstract sealed class SystemFontFamily extends androidx.compose.ui.text.font.FontFamily {
+ }
+
+ public interface Typeface {
+ method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
+ property public abstract androidx.compose.ui.text.font.FontFamily? fontFamily;
+ }
+
+}
+
+package androidx.compose.ui.text.input {
+
+ public final class BackspaceCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public BackspaceCommand();
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class CommitTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public CommitTextCommand(androidx.compose.ui.text.AnnotatedString annotatedString, int newCursorPosition);
+ ctor public CommitTextCommand(String text, int newCursorPosition);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public int getNewCursorPosition();
+ method public String getText();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public final int newCursorPosition;
+ property public final String text;
+ }
+
+ public final class DeleteAllCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public DeleteAllCommand();
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class DeleteSurroundingTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public DeleteSurroundingTextCommand(int lengthBeforeCursor, int lengthAfterCursor);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getLengthAfterCursor();
+ method public int getLengthBeforeCursor();
+ property public final int lengthAfterCursor;
+ property public final int lengthBeforeCursor;
+ }
+
+ public final class DeleteSurroundingTextInCodePointsCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public DeleteSurroundingTextInCodePointsCommand(int lengthBeforeCursor, int lengthAfterCursor);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getLengthAfterCursor();
+ method public int getLengthBeforeCursor();
+ property public final int lengthAfterCursor;
+ property public final int lengthBeforeCursor;
+ }
+
+ public interface EditCommand {
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class EditCommandKt {
+ }
+
+ public final class EditProcessor {
+ ctor public EditProcessor();
+ method public androidx.compose.ui.text.input.TextFieldValue apply(java.util.List<? extends androidx.compose.ui.text.input.EditCommand> editCommands);
+ method public void reset(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.TextInputSession? textInputSession);
+ method public androidx.compose.ui.text.input.TextFieldValue toTextFieldValue();
+ }
+
+ public final class EditingBuffer {
+ }
+
+ public final class EditingBufferKt {
+ }
+
+ public final class FinishComposingTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public FinishComposingTextCommand();
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class GapBufferKt {
+ }
+
+ public final inline class ImeAction {
+ ctor public ImeAction();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.input.ImeAction.Companion Companion;
+ }
+
+ public static final class ImeAction.Companion {
+ method public int getDefault-eUduSuo();
+ method public int getDone-eUduSuo();
+ method public int getGo-eUduSuo();
+ method public int getNext-eUduSuo();
+ method public int getNone-eUduSuo();
+ method public int getPrevious-eUduSuo();
+ method public int getSearch-eUduSuo();
+ method public int getSend-eUduSuo();
+ property public final int Default;
+ property public final int Done;
+ property public final int Go;
+ property public final int Next;
+ property public final int None;
+ property public final int Previous;
+ property public final int Search;
+ property public final int Send;
+ }
+
+ @androidx.compose.runtime.Immutable public final class ImeOptions {
+ method public androidx.compose.ui.text.input.ImeOptions copy-TWIFjAI(optional boolean singleLine, optional int capitalization, optional boolean autoCorrect, optional int keyboardType, optional int imeAction);
+ method public boolean getAutoCorrect();
+ method public int getCapitalization-IUNYP9k();
+ method public int getImeAction-eUduSuo();
+ method public int getKeyboardType-PjHm6EE();
+ method public boolean getSingleLine();
+ property public final boolean autoCorrect;
+ property public final int capitalization;
+ property public final int imeAction;
+ property public final int keyboardType;
+ property public final boolean singleLine;
+ field public static final androidx.compose.ui.text.input.ImeOptions.Companion Companion;
+ }
+
+ public static final class ImeOptions.Companion {
+ method public androidx.compose.ui.text.input.ImeOptions getDefault();
+ property public final androidx.compose.ui.text.input.ImeOptions Default;
+ }
+
+ @Deprecated public interface InputEventCallback {
+ method @Deprecated public void onEditCommands(java.util.List<? extends androidx.compose.ui.text.input.EditCommand> editCommands);
+ method @Deprecated public void onImeAction-KlQnJC8(int imeAction);
+ }
+
+ public final inline class KeyboardCapitalization {
+ ctor public KeyboardCapitalization();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.input.KeyboardCapitalization.Companion Companion;
+ }
+
+ public static final class KeyboardCapitalization.Companion {
+ method public int getCharacters-IUNYP9k();
+ method public int getNone-IUNYP9k();
+ method public int getSentences-IUNYP9k();
+ method public int getWords-IUNYP9k();
+ property public final int Characters;
+ property public final int None;
+ property public final int Sentences;
+ property public final int Words;
+ }
+
+ public final inline class KeyboardType {
+ ctor public KeyboardType();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.input.KeyboardType.Companion Companion;
+ }
+
+ public static final class KeyboardType.Companion {
+ method public int getAscii-PjHm6EE();
+ method public int getEmail-PjHm6EE();
+ method public int getNumber-PjHm6EE();
+ method public int getNumberPassword-PjHm6EE();
+ method public int getPassword-PjHm6EE();
+ method public int getPhone-PjHm6EE();
+ method public int getText-PjHm6EE();
+ method public int getUri-PjHm6EE();
+ property public final int Ascii;
+ property public final int Email;
+ property public final int Number;
+ property public final int NumberPassword;
+ property public final int Password;
+ property public final int Phone;
+ property public final int Text;
+ property public final int Uri;
+ }
+
+ public final class MoveCursorCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public MoveCursorCommand(int amount);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getAmount();
+ property public final int amount;
+ }
+
+ public interface OffsetMapping {
+ method public int originalToTransformed(int offset);
+ method public int transformedToOriginal(int offset);
+ field public static final androidx.compose.ui.text.input.OffsetMapping.Companion Companion;
+ }
+
+ public static final class OffsetMapping.Companion {
+ method public androidx.compose.ui.text.input.OffsetMapping getIdentity();
+ property public final androidx.compose.ui.text.input.OffsetMapping Identity;
+ }
+
+ public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
+ ctor public PasswordVisualTransformation(optional char mask);
+ method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+ method public char getMask();
+ property public final char mask;
+ }
+
+ public interface PlatformTextInputService {
+ method public void hideSoftwareKeyboard();
+ method public void notifyFocusedRect(androidx.compose.ui.geometry.Rect rect);
+ method public void showSoftwareKeyboard();
+ method public void startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.ImeOptions imeOptions, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditCommand>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+ method public void stopInput();
+ method public void updateState(androidx.compose.ui.text.input.TextFieldValue? oldValue, androidx.compose.ui.text.input.TextFieldValue newValue);
+ }
+
+ public final class SetComposingRegionCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public SetComposingRegionCommand(int start, int end);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getEnd();
+ method public int getStart();
+ property public final int end;
+ property public final int start;
+ }
+
+ public final class SetComposingTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public SetComposingTextCommand(androidx.compose.ui.text.AnnotatedString annotatedString, int newCursorPosition);
+ ctor public SetComposingTextCommand(String text, int newCursorPosition);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public int getNewCursorPosition();
+ method public String getText();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public final int newCursorPosition;
+ property public final String text;
+ }
+
+ public final class SetSelectionCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public SetSelectionCommand(int start, int end);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getEnd();
+ method public int getStart();
+ property public final int end;
+ property public final int start;
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextFieldValue {
+ method public androidx.compose.ui.text.input.TextFieldValue copy-Dr2r1M0(String text, optional long selection, optional androidx.compose.ui.text.TextRange? composition);
+ method public androidx.compose.ui.text.input.TextFieldValue copy-ec4yWi8(optional androidx.compose.ui.text.AnnotatedString annotatedString, optional long selection, optional androidx.compose.ui.text.TextRange? composition);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public androidx.compose.ui.text.TextRange? getComposition-MzsxiRA();
+ method public long getSelection-d9O1mEE();
+ method public String getText();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public final androidx.compose.ui.text.TextRange? composition;
+ property public final long selection;
+ property public final String text;
+ field public static final androidx.compose.ui.text.input.TextFieldValue.Companion Companion;
+ }
+
+ public static final class TextFieldValue.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> getSaver();
+ property public final androidx.compose.runtime.saveable.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> Saver;
+ }
+
+ public final class TextFieldValueKt {
+ method public static androidx.compose.ui.text.AnnotatedString getSelectedText(androidx.compose.ui.text.input.TextFieldValue);
+ method public static androidx.compose.ui.text.AnnotatedString getTextAfterSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+ method public static androidx.compose.ui.text.AnnotatedString getTextBeforeSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+ }
+
+ public class TextInputService {
+ ctor public TextInputService(androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+ method public final void hideSoftwareKeyboard();
+ method public final void showSoftwareKeyboard();
+ method public androidx.compose.ui.text.input.TextInputSession startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.ImeOptions imeOptions, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditCommand>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+ method public void stopInput(androidx.compose.ui.text.input.TextInputSession session);
+ }
+
+ public final class TextInputSession {
+ ctor public TextInputSession(androidx.compose.ui.text.input.TextInputService textInputService, androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+ method public void dispose();
+ method public boolean hideSoftwareKeyboard();
+ method public boolean isOpen();
+ method public boolean notifyFocusedRect(androidx.compose.ui.geometry.Rect rect);
+ method public boolean showSoftwareKeyboard();
+ method public boolean updateState(androidx.compose.ui.text.input.TextFieldValue? oldValue, androidx.compose.ui.text.input.TextFieldValue newValue);
+ property public final boolean isOpen;
+ }
+
+ public final class TransformedText {
+ ctor public TransformedText(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.input.OffsetMapping offsetMapping);
+ method public androidx.compose.ui.text.input.OffsetMapping getOffsetMapping();
+ method public androidx.compose.ui.text.AnnotatedString getText();
+ property public final androidx.compose.ui.text.input.OffsetMapping offsetMapping;
+ property public final androidx.compose.ui.text.AnnotatedString text;
+ }
+
+ @androidx.compose.runtime.Immutable public fun interface VisualTransformation {
+ method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+ field public static final androidx.compose.ui.text.input.VisualTransformation.Companion Companion;
+ }
+
+ public static final class VisualTransformation.Companion {
+ method public androidx.compose.ui.text.input.VisualTransformation getNone();
+ property public final androidx.compose.ui.text.input.VisualTransformation None;
+ }
+
+}
+
+package androidx.compose.ui.text.intl {
+
+ public final class AndroidPlatformLocale_androidKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class Locale {
+ ctor public Locale(String languageTag);
+ method public String getLanguage();
+ method public String getRegion();
+ method public String getScript();
+ method public String toLanguageTag();
+ property public final String language;
+ property public final String region;
+ property public final String script;
+ field public static final androidx.compose.ui.text.intl.Locale.Companion Companion;
+ }
+
+ public static final class Locale.Companion {
+ method public androidx.compose.ui.text.intl.Locale getCurrent();
+ property public final androidx.compose.ui.text.intl.Locale current;
+ }
+
+ @androidx.compose.runtime.Immutable public final class LocaleList implements java.util.Collection<androidx.compose.ui.text.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+ ctor public LocaleList(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+ ctor public LocaleList(String languageTags);
+ ctor public LocaleList(androidx.compose.ui.text.intl.Locale... locales);
+ method public operator boolean contains(androidx.compose.ui.text.intl.Locale element);
+ method public boolean containsAll(java.util.Collection<?> elements);
+ method public operator androidx.compose.ui.text.intl.Locale get(int i);
+ method public java.util.List<androidx.compose.ui.text.intl.Locale> getLocaleList();
+ method public int getSize();
+ method public boolean isEmpty();
+ method public java.util.Iterator<androidx.compose.ui.text.intl.Locale> iterator();
+ property public final java.util.List<androidx.compose.ui.text.intl.Locale> localeList;
+ property public int size;
+ field public static final androidx.compose.ui.text.intl.LocaleList.Companion Companion;
+ }
+
+ public static final class LocaleList.Companion {
+ method public androidx.compose.ui.text.intl.LocaleList getCurrent();
+ property public final androidx.compose.ui.text.intl.LocaleList current;
+ }
+
+ public final class PlatformLocaleKt {
+ }
+
+}
+
+package androidx.compose.ui.text.platform {
+
+ public final class AndroidAccessibilitySpannableString_androidKt {
+ }
+
+ public final class AndroidParagraphHelper_androidKt {
+ }
+
+ public final class AndroidParagraphIntrinsics_androidKt {
+ }
+
+ public final class AndroidParagraph_androidKt {
+ }
+
+ public final class AndroidStringDelegate_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.text.platform.extensions {
+
+ public final class LocaleExtensions_androidKt {
+ }
+
+ public final class PlaceholderExtensions_androidKt {
+ }
+
+ public final class SpannableExtensions_androidKt {
+ }
+
+ public final class TextPaintExtensions_androidKt {
+ }
+
+ public final class TtsAnnotationExtensions_androidKt {
+ method public static android.text.style.TtsSpan toSpan(androidx.compose.ui.text.TtsAnnotation);
+ method public static android.text.style.TtsSpan toSpan(androidx.compose.ui.text.VerbatimTtsAnnotation);
+ }
+
+}
+
+package androidx.compose.ui.text.style {
+
+ @androidx.compose.runtime.Immutable public final inline class BaselineShift {
+ ctor public BaselineShift();
+ method public static float constructor-impl(float multiplier);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(float p, Object? p1);
+ method public static boolean equals-impl0(float p1, float p2);
+ method public float getMultiplier();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(float p);
+ method @androidx.compose.runtime.Immutable public static inline String! toString-impl(float p);
+ property public final float multiplier;
+ field public static final androidx.compose.ui.text.style.BaselineShift.Companion Companion;
+ }
+
+ public static final class BaselineShift.Companion {
+ method public float getNone-y9eOQZs();
+ method public float getSubscript-y9eOQZs();
+ method public float getSuperscript-y9eOQZs();
+ property public final float None;
+ property public final float Subscript;
+ property public final float Superscript;
+ }
+
+ public final class BaselineShiftKt {
+ method @androidx.compose.runtime.Stable public static float lerp-ylBt8J4(float start, float stop, float fraction);
+ }
+
+ public enum ResolvedTextDirection {
+ enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Ltr;
+ enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Rtl;
+ }
+
+ public final inline class TextAlign {
+ ctor public TextAlign();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.style.TextAlign.Companion Companion;
+ }
+
+ public static final class TextAlign.Companion {
+ method public int getCenter-e0LSkKk();
+ method public int getEnd-e0LSkKk();
+ method public int getJustify-e0LSkKk();
+ method public int getLeft-e0LSkKk();
+ method public int getRight-e0LSkKk();
+ method public int getStart-e0LSkKk();
+ method public java.util.List<androidx.compose.ui.text.style.TextAlign> values();
+ property public final int Center;
+ property public final int End;
+ property public final int Justify;
+ property public final int Left;
+ property public final int Right;
+ property public final int Start;
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextDecoration {
+ method public operator boolean contains(androidx.compose.ui.text.style.TextDecoration other);
+ method public operator boolean equals(Object? other);
+ method public int getMask();
+ method public operator androidx.compose.ui.text.style.TextDecoration plus(androidx.compose.ui.text.style.TextDecoration decoration);
+ property public final int mask;
+ field public static final androidx.compose.ui.text.style.TextDecoration.Companion Companion;
+ }
+
+ public static final class TextDecoration.Companion {
+ method public androidx.compose.ui.text.style.TextDecoration combine(java.util.List<androidx.compose.ui.text.style.TextDecoration> decorations);
+ method public androidx.compose.ui.text.style.TextDecoration getLineThrough();
+ method public androidx.compose.ui.text.style.TextDecoration getNone();
+ method public androidx.compose.ui.text.style.TextDecoration getUnderline();
+ property public final androidx.compose.ui.text.style.TextDecoration LineThrough;
+ property public final androidx.compose.ui.text.style.TextDecoration None;
+ property public final androidx.compose.ui.text.style.TextDecoration Underline;
+ }
+
+ public final inline class TextDirection {
+ ctor public TextDirection();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.style.TextDirection.Companion Companion;
+ }
+
+ public static final class TextDirection.Companion {
+ method public int getContent-s_7X-co();
+ method public int getContentOrLtr-s_7X-co();
+ method public int getContentOrRtl-s_7X-co();
+ method public int getLtr-s_7X-co();
+ method public int getRtl-s_7X-co();
+ property public final int Content;
+ property public final int ContentOrLtr;
+ property public final int ContentOrRtl;
+ property public final int Ltr;
+ property public final int Rtl;
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextGeometricTransform {
+ ctor public TextGeometricTransform(optional float scaleX, optional float skewX);
+ method public androidx.compose.ui.text.style.TextGeometricTransform copy(optional float scaleX, optional float skewX);
+ method public operator boolean equals(Object? other);
+ method public float getScaleX();
+ method public float getSkewX();
+ property public final float scaleX;
+ property public final float skewX;
+ field public static final androidx.compose.ui.text.style.TextGeometricTransform.Companion Companion;
+ }
+
+ public static final class TextGeometricTransform.Companion {
+ }
+
+ public final class TextGeometricTransformKt {
+ method public static androidx.compose.ui.text.style.TextGeometricTransform lerp(androidx.compose.ui.text.style.TextGeometricTransform start, androidx.compose.ui.text.style.TextGeometricTransform stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextIndent {
+ method public androidx.compose.ui.text.style.TextIndent copy-8E83U4Q(optional long firstLine, optional long restLine);
+ method public operator boolean equals(Object? other);
+ method public long getFirstLine-XSAIIZE();
+ method public long getRestLine-XSAIIZE();
+ property public final long firstLine;
+ property public final long restLine;
+ field public static final androidx.compose.ui.text.style.TextIndent.Companion Companion;
+ }
+
+ public static final class TextIndent.Companion {
+ method public androidx.compose.ui.text.style.TextIndent getNone();
+ property public final androidx.compose.ui.text.style.TextIndent None;
+ }
+
+ public final class TextIndentKt {
+ method public static androidx.compose.ui.text.style.TextIndent lerp(androidx.compose.ui.text.style.TextIndent start, androidx.compose.ui.text.style.TextIndent stop, float fraction);
+ }
+
+ public final inline class TextOverflow {
+ ctor public TextOverflow();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.style.TextOverflow.Companion Companion;
+ }
+
+ public static final class TextOverflow.Companion {
+ method public int getClip-gIe3tQ8();
+ method public int getEllipsis-gIe3tQ8();
+ method public int getVisible-gIe3tQ8();
+ property public final int Clip;
+ property public final int Ellipsis;
+ property public final int Visible;
+ }
+
+}
+
diff --git a/compose/ui/ui-text/api/res-1.0.0-beta10.txt b/compose/ui/ui-text/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-text/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-text/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-text/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..1f2c1f8
--- /dev/null
+++ b/compose/ui/ui-text/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,1258 @@
+// Signature format: 4.0
+package androidx.compose.ui.text {
+
+ public final class ActualAtomicReferenceJvmKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class AnnotatedString implements java.lang.CharSequence {
+ ctor public AnnotatedString(String text, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles);
+ method public operator char get(int index);
+ method public int getLength();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> getParagraphStyles();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> getSpanStyles();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(String tag, int start, int end);
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<java.lang.String>> getStringAnnotations(int start, int end);
+ method public String getText();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.TtsAnnotation>> getTtsAnnotations(int start, int end);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.AnnotatedString plus(androidx.compose.ui.text.AnnotatedString other);
+ method public androidx.compose.ui.text.AnnotatedString subSequence(int startIndex, int endIndex);
+ method public androidx.compose.ui.text.AnnotatedString subSequence-5zc-tL8(long range);
+ property public int length;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.ParagraphStyle>> paragraphStyles;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles;
+ property public final String text;
+ }
+
+ public static final class AnnotatedString.Builder {
+ ctor public AnnotatedString.Builder(optional int capacity);
+ ctor public AnnotatedString.Builder(String text);
+ ctor public AnnotatedString.Builder(androidx.compose.ui.text.AnnotatedString text);
+ method public void addStringAnnotation(String tag, String annotation, int start, int end);
+ method public void addStyle(androidx.compose.ui.text.SpanStyle style, int start, int end);
+ method public void addStyle(androidx.compose.ui.text.ParagraphStyle style, int start, int end);
+ method public void append(String text);
+ method public void append(char p);
+ method public void append(androidx.compose.ui.text.AnnotatedString text);
+ method public int getLength();
+ method public void pop();
+ method public void pop(int index);
+ method public int pushStringAnnotation(String tag, String annotation);
+ method public int pushStyle(androidx.compose.ui.text.SpanStyle style);
+ method public int pushStyle(androidx.compose.ui.text.ParagraphStyle style);
+ method public int pushTtsAnnotation(androidx.compose.ui.text.TtsAnnotation ttsAnnotation);
+ method public androidx.compose.ui.text.AnnotatedString toAnnotatedString();
+ property public final int length;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class AnnotatedString.Range<T> {
+ ctor public AnnotatedString.Range(T? item, int start, int end, String tag);
+ ctor public AnnotatedString.Range(T? item, int start, int end);
+ method public T! component1();
+ method public int component2();
+ method public int component3();
+ method public String component4();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.text.AnnotatedString.Range<T> copy(T! item, int start, int end, String tag);
+ method public int getEnd();
+ method public T! getItem();
+ method public int getStart();
+ method public String getTag();
+ property public final int end;
+ property public final T! item;
+ property public final int start;
+ property public final String tag;
+ }
+
+ public final class AnnotatedStringKt {
+ method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.SpanStyle spanStyle, optional androidx.compose.ui.text.ParagraphStyle? paragraphStyle);
+ method public static androidx.compose.ui.text.AnnotatedString AnnotatedString(String text, androidx.compose.ui.text.ParagraphStyle paragraphStyle);
+ method public static inline androidx.compose.ui.text.AnnotatedString buildAnnotatedString(kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+ method public static androidx.compose.ui.text.AnnotatedString capitalize(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static androidx.compose.ui.text.AnnotatedString decapitalize(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static androidx.compose.ui.text.AnnotatedString toLowerCase(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static androidx.compose.ui.text.AnnotatedString toUpperCase(androidx.compose.ui.text.AnnotatedString, optional androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+ method public static inline <R> R withStyle(androidx.compose.ui.text.AnnotatedString.Builder, androidx.compose.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString.Builder,? extends R> block);
+ }
+
+ public final class JvmAnnotatedString_jvmKt {
+ }
+
+ public final class JvmCharHelpers_androidKt {
+ }
+
+ public final class MultiParagraph {
+ ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
+ ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+ method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
+ method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
+ method public boolean getDidExceedMaxLines();
+ method public float getFirstBaseline();
+ method public float getHeight();
+ method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+ method public androidx.compose.ui.text.MultiParagraphIntrinsics getIntrinsics();
+ method public float getLastBaseline();
+ method public float getLineBottom(int lineIndex);
+ method public int getLineCount();
+ method public int getLineEnd(int lineIndex, optional boolean visibleEnd);
+ method public int getLineForOffset(int offset);
+ method public int getLineForVerticalPosition(float vertical);
+ method public float getLineHeight(int lineIndex);
+ method public float getLineLeft(int lineIndex);
+ method public float getLineRight(int lineIndex);
+ method public int getLineStart(int lineIndex);
+ method public float getLineTop(int lineIndex);
+ method public float getLineWidth(int lineIndex);
+ method public float getMaxIntrinsicWidth();
+ method public int getMaxLines();
+ method public float getMinIntrinsicWidth();
+ method public int getOffsetForPosition-k-4lQ0M(long position);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+ method public androidx.compose.ui.graphics.Path getPathForRange(int start, int end);
+ method public java.util.List<androidx.compose.ui.geometry.Rect> getPlaceholderRects();
+ method public float getWidth();
+ method public long getWordBoundary-d9O1mEE(int offset);
+ method public boolean isLineEllipsized(int lineIndex);
+ method public void paint-TAOIQ28(androidx.compose.ui.graphics.Canvas canvas, optional long color, optional androidx.compose.ui.graphics.Shadow? shadow, optional androidx.compose.ui.text.style.TextDecoration? decoration);
+ property public final boolean didExceedMaxLines;
+ property public final float firstBaseline;
+ property public final float height;
+ property public final androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics;
+ property public final float lastBaseline;
+ property public final int lineCount;
+ property public final float maxIntrinsicWidth;
+ property public final int maxLines;
+ property public final float minIntrinsicWidth;
+ property public final java.util.List<androidx.compose.ui.geometry.Rect> placeholderRects;
+ property public final float width;
+ }
+
+ public final class MultiParagraphIntrinsics implements androidx.compose.ui.text.ParagraphIntrinsics {
+ ctor public MultiParagraphIntrinsics(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public float getMaxIntrinsicWidth();
+ method public float getMinIntrinsicWidth();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public float maxIntrinsicWidth;
+ property public float minIntrinsicWidth;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders;
+ }
+
+ public final class MultiParagraphIntrinsicsKt {
+ }
+
+ public final class MultiParagraphKt {
+ }
+
+ public interface Paragraph {
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+ method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
+ method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
+ method public boolean getDidExceedMaxLines();
+ method public float getFirstBaseline();
+ method public float getHeight();
+ method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+ method public float getLastBaseline();
+ method public float getLineBottom(int lineIndex);
+ method public int getLineCount();
+ method public int getLineEnd(int lineIndex, optional boolean visibleEnd);
+ method public int getLineForOffset(int offset);
+ method public int getLineForVerticalPosition(float vertical);
+ method public float getLineHeight(int lineIndex);
+ method public float getLineLeft(int lineIndex);
+ method public float getLineRight(int lineIndex);
+ method public int getLineStart(int lineIndex);
+ method public float getLineTop(int lineIndex);
+ method public float getLineWidth(int lineIndex);
+ method public float getMaxIntrinsicWidth();
+ method public float getMinIntrinsicWidth();
+ method public int getOffsetForPosition-k-4lQ0M(long position);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+ method public androidx.compose.ui.graphics.Path getPathForRange(int start, int end);
+ method public java.util.List<androidx.compose.ui.geometry.Rect> getPlaceholderRects();
+ method public float getWidth();
+ method public long getWordBoundary-d9O1mEE(int offset);
+ method public boolean isLineEllipsized(int lineIndex);
+ method public void paint-TAOIQ28(androidx.compose.ui.graphics.Canvas canvas, optional long color, optional androidx.compose.ui.graphics.Shadow? shadow, optional androidx.compose.ui.text.style.TextDecoration? textDecoration);
+ property public abstract boolean didExceedMaxLines;
+ property public abstract float firstBaseline;
+ property public abstract float height;
+ property public abstract float lastBaseline;
+ property public abstract int lineCount;
+ property public abstract float maxIntrinsicWidth;
+ property public abstract float minIntrinsicWidth;
+ property public abstract java.util.List<androidx.compose.ui.geometry.Rect> placeholderRects;
+ property public abstract float width;
+ }
+
+ public interface ParagraphIntrinsics {
+ method public float getMaxIntrinsicWidth();
+ method public float getMinIntrinsicWidth();
+ property public abstract float maxIntrinsicWidth;
+ property public abstract float minIntrinsicWidth;
+ }
+
+ public final class ParagraphIntrinsicsKt {
+ method public static androidx.compose.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ }
+
+ public final class ParagraphKt {
+ method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.SpanStyle>> spanStyles, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
+ method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, optional int maxLines, optional boolean ellipsis, float width);
+ }
+
+ @androidx.compose.runtime.Immutable public final class ParagraphStyle {
+ method public androidx.compose.ui.text.ParagraphStyle copy-QrGfzA0(optional androidx.compose.ui.text.style.TextAlign? textAlign, optional androidx.compose.ui.text.style.TextDirection? textDirection, optional long lineHeight, optional androidx.compose.ui.text.style.TextIndent? textIndent);
+ method public operator boolean equals(Object? other);
+ method public long getLineHeight-XSAIIZE();
+ method public androidx.compose.ui.text.style.TextAlign? getTextAlign-buA522U();
+ method public androidx.compose.ui.text.style.TextDirection? getTextDirection-mmuk1to();
+ method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.ParagraphStyle merge(optional androidx.compose.ui.text.ParagraphStyle? other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.ParagraphStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+ property public final long lineHeight;
+ property public final androidx.compose.ui.text.style.TextAlign? textAlign;
+ property public final androidx.compose.ui.text.style.TextDirection? textDirection;
+ property public final androidx.compose.ui.text.style.TextIndent? textIndent;
+ }
+
+ public final class ParagraphStyleKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.ParagraphStyle lerp(androidx.compose.ui.text.ParagraphStyle start, androidx.compose.ui.text.ParagraphStyle stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class Placeholder {
+ method public androidx.compose.ui.text.Placeholder copy-KJSDsNM(optional long width, optional long height, optional int placeholderVerticalAlign);
+ method public operator boolean equals(Object? other);
+ method public long getHeight-XSAIIZE();
+ method public int getPlaceholderVerticalAlign-J6kI3mc();
+ method public long getWidth-XSAIIZE();
+ property public final long height;
+ property public final int placeholderVerticalAlign;
+ property public final long width;
+ }
+
+ public final inline class PlaceholderVerticalAlign {
+ ctor public PlaceholderVerticalAlign();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.PlaceholderVerticalAlign.Companion Companion;
+ }
+
+ public static final class PlaceholderVerticalAlign.Companion {
+ method public int getAboveBaseline-J6kI3mc();
+ method public int getBottom-J6kI3mc();
+ method public int getCenter-J6kI3mc();
+ method public int getTextBottom-J6kI3mc();
+ method public int getTextCenter-J6kI3mc();
+ method public int getTextTop-J6kI3mc();
+ method public int getTop-J6kI3mc();
+ property public final int AboveBaseline;
+ property public final int Bottom;
+ property public final int Center;
+ property public final int TextBottom;
+ property public final int TextCenter;
+ property public final int TextTop;
+ property public final int Top;
+ }
+
+ public final class SaversKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class SpanStyle {
+ method public androidx.compose.ui.text.SpanStyle copy-D5kMcog(optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional String? fontFeatureSettings, optional long letterSpacing, optional androidx.compose.ui.text.style.BaselineShift? baselineShift, optional androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, optional androidx.compose.ui.text.intl.LocaleList? localeList, optional long background, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.graphics.Shadow? shadow);
+ method public operator boolean equals(Object? other);
+ method public long getBackground-0d7_KjU();
+ method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift-5SSeXJ0();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
+ method public String? getFontFeatureSettings();
+ method public long getFontSize-XSAIIZE();
+ method public androidx.compose.ui.text.font.FontStyle? getFontStyle-4Lr2A7w();
+ method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis-ZQGJjVo();
+ method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
+ method public long getLetterSpacing-XSAIIZE();
+ method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
+ method public androidx.compose.ui.graphics.Shadow? getShadow();
+ method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+ method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.SpanStyle merge(optional androidx.compose.ui.text.SpanStyle? other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.SpanStyle plus(androidx.compose.ui.text.SpanStyle other);
+ property public final long background;
+ property public final androidx.compose.ui.text.style.BaselineShift? baselineShift;
+ property public final long color;
+ property public final androidx.compose.ui.text.font.FontFamily? fontFamily;
+ property public final String? fontFeatureSettings;
+ property public final long fontSize;
+ property public final androidx.compose.ui.text.font.FontStyle? fontStyle;
+ property public final androidx.compose.ui.text.font.FontSynthesis? fontSynthesis;
+ property public final androidx.compose.ui.text.font.FontWeight? fontWeight;
+ property public final long letterSpacing;
+ property public final androidx.compose.ui.text.intl.LocaleList? localeList;
+ property public final androidx.compose.ui.graphics.Shadow? shadow;
+ property public final androidx.compose.ui.text.style.TextDecoration? textDecoration;
+ property public final androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform;
+ }
+
+ public final class SpanStyleKt {
+ method public static androidx.compose.ui.text.SpanStyle lerp(androidx.compose.ui.text.SpanStyle start, androidx.compose.ui.text.SpanStyle stop, float fraction);
+ }
+
+ public final class StringKt {
+ method public static String capitalize(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String capitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static String decapitalize(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String decapitalize(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static String toLowerCase(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String toLowerCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ method public static String toUpperCase(String, androidx.compose.ui.text.intl.Locale locale);
+ method public static String toUpperCase(String, androidx.compose.ui.text.intl.LocaleList localeList);
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+ public final class TextLayoutInput {
+ method public androidx.compose.ui.text.TextLayoutInput copy-ih31NyA(optional androidx.compose.ui.text.AnnotatedString text, optional androidx.compose.ui.text.TextStyle style, optional java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders, optional int maxLines, optional boolean softWrap, optional int overflow, optional androidx.compose.ui.unit.Density density, optional androidx.compose.ui.unit.LayoutDirection layoutDirection, optional androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader, optional long constraints);
+ method public operator boolean equals(Object? other);
+ method public long getConstraints-msEJaDk();
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public int getMaxLines();
+ method public int getOverflow-gIe3tQ8();
+ method public java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> getPlaceholders();
+ method public androidx.compose.ui.text.font.Font.ResourceLoader getResourceLoader();
+ method public boolean getSoftWrap();
+ method public androidx.compose.ui.text.TextStyle getStyle();
+ method public androidx.compose.ui.text.AnnotatedString getText();
+ property public final long constraints;
+ property public final androidx.compose.ui.unit.Density density;
+ property public final androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public final int maxLines;
+ property public final int overflow;
+ property public final java.util.List<androidx.compose.ui.text.AnnotatedString.Range<androidx.compose.ui.text.Placeholder>> placeholders;
+ property public final androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader;
+ property public final boolean softWrap;
+ property public final androidx.compose.ui.text.TextStyle style;
+ property public final androidx.compose.ui.text.AnnotatedString text;
+ }
+
+ public final class TextLayoutResult {
+ method public androidx.compose.ui.text.TextLayoutResult copy-1moGK-E(optional androidx.compose.ui.text.TextLayoutInput layoutInput, optional long size);
+ method public operator boolean equals(Object? other);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
+ method public androidx.compose.ui.geometry.Rect getBoundingBox(int offset);
+ method public androidx.compose.ui.geometry.Rect getCursorRect(int offset);
+ method public boolean getDidOverflowHeight();
+ method public boolean getDidOverflowWidth();
+ method public float getFirstBaseline();
+ method public boolean getHasVisualOverflow();
+ method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+ method public float getLastBaseline();
+ method public androidx.compose.ui.text.TextLayoutInput getLayoutInput();
+ method public float getLineBottom(int lineIndex);
+ method public int getLineCount();
+ method public int getLineEnd(int lineIndex, optional boolean visibleEnd);
+ method public int getLineForOffset(int offset);
+ method public int getLineForVerticalPosition(float vertical);
+ method public float getLineLeft(int lineIndex);
+ method public float getLineRight(int lineIndex);
+ method public int getLineStart(int lineIndex);
+ method public float getLineTop(int lineIndex);
+ method public androidx.compose.ui.text.MultiParagraph getMultiParagraph();
+ method public int getOffsetForPosition-k-4lQ0M(long position);
+ method public androidx.compose.ui.text.style.ResolvedTextDirection getParagraphDirection(int offset);
+ method public androidx.compose.ui.graphics.Path getPathForRange(int start, int end);
+ method public java.util.List<androidx.compose.ui.geometry.Rect> getPlaceholderRects();
+ method public long getSize-YbymL2g();
+ method public long getWordBoundary-d9O1mEE(int offset);
+ method public boolean isLineEllipsized(int lineIndex);
+ property public final boolean didOverflowHeight;
+ property public final boolean didOverflowWidth;
+ property public final float firstBaseline;
+ property public final boolean hasVisualOverflow;
+ property public final float lastBaseline;
+ property public final androidx.compose.ui.text.TextLayoutInput layoutInput;
+ property public final int lineCount;
+ property public final androidx.compose.ui.text.MultiParagraph multiParagraph;
+ property public final java.util.List<androidx.compose.ui.geometry.Rect> placeholderRects;
+ property public final long size;
+ }
+
+ public final class TextLayoutResultKt {
+ method @Deprecated public static androidx.compose.ui.text.TextLayoutResult createTextLayoutResult-2H_Vf2E(optional androidx.compose.ui.text.TextLayoutInput layoutInput, optional androidx.compose.ui.text.MultiParagraph multiParagraph, optional long size);
+ }
+
+ public final class TextPainter {
+ method public void paint(androidx.compose.ui.graphics.Canvas canvas, androidx.compose.ui.text.TextLayoutResult textLayoutResult);
+ field public static final androidx.compose.ui.text.TextPainter INSTANCE;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TextRange {
+ ctor public TextRange();
+ method public static operator boolean contains-5zc-tL8(long $this, long other);
+ method public static operator boolean contains-impl(long $this, int offset);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static boolean getCollapsed-impl(long $this);
+ method public static int getEnd-impl(long $this);
+ method public static int getLength-impl(long $this);
+ method public static int getMax-impl(long $this);
+ method public static int getMin-impl(long $this);
+ method public static boolean getReversed-impl(long $this);
+ method public static int getStart-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static boolean intersects-5zc-tL8(long $this, long other);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.text.TextRange.Companion Companion;
+ }
+
+ public static final class TextRange.Companion {
+ method public long getZero-d9O1mEE();
+ property public final long Zero;
+ }
+
+ public final class TextRangeKt {
+ method public static long TextRange(int start, int end);
+ method public static long TextRange(int index);
+ method public static String substring-cWlJSyE(CharSequence, long range);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextStyle {
+ method public androidx.compose.ui.text.TextStyle copy-4skVB9c(optional long color, optional long fontSize, optional androidx.compose.ui.text.font.FontWeight? fontWeight, optional androidx.compose.ui.text.font.FontStyle? fontStyle, optional androidx.compose.ui.text.font.FontSynthesis? fontSynthesis, optional androidx.compose.ui.text.font.FontFamily? fontFamily, optional String? fontFeatureSettings, optional long letterSpacing, optional androidx.compose.ui.text.style.BaselineShift? baselineShift, optional androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform, optional androidx.compose.ui.text.intl.LocaleList? localeList, optional long background, optional androidx.compose.ui.text.style.TextDecoration? textDecoration, optional androidx.compose.ui.graphics.Shadow? shadow, optional androidx.compose.ui.text.style.TextAlign? textAlign, optional androidx.compose.ui.text.style.TextDirection? textDirection, optional long lineHeight, optional androidx.compose.ui.text.style.TextIndent? textIndent);
+ method public long getBackground-0d7_KjU();
+ method public androidx.compose.ui.text.style.BaselineShift? getBaselineShift-5SSeXJ0();
+ method public long getColor-0d7_KjU();
+ method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
+ method public String? getFontFeatureSettings();
+ method public long getFontSize-XSAIIZE();
+ method public androidx.compose.ui.text.font.FontStyle? getFontStyle-4Lr2A7w();
+ method public androidx.compose.ui.text.font.FontSynthesis? getFontSynthesis-ZQGJjVo();
+ method public androidx.compose.ui.text.font.FontWeight? getFontWeight();
+ method public long getLetterSpacing-XSAIIZE();
+ method public long getLineHeight-XSAIIZE();
+ method public androidx.compose.ui.text.intl.LocaleList? getLocaleList();
+ method public androidx.compose.ui.graphics.Shadow? getShadow();
+ method public androidx.compose.ui.text.style.TextAlign? getTextAlign-buA522U();
+ method public androidx.compose.ui.text.style.TextDecoration? getTextDecoration();
+ method public androidx.compose.ui.text.style.TextDirection? getTextDirection-mmuk1to();
+ method public androidx.compose.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+ method public androidx.compose.ui.text.style.TextIndent? getTextIndent();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.TextStyle merge(optional androidx.compose.ui.text.TextStyle? other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.SpanStyle other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.TextStyle merge(androidx.compose.ui.text.ParagraphStyle other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.TextStyle other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.ParagraphStyle other);
+ method @androidx.compose.runtime.Stable public operator androidx.compose.ui.text.TextStyle plus(androidx.compose.ui.text.SpanStyle other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.ParagraphStyle toParagraphStyle();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.text.SpanStyle toSpanStyle();
+ property public final long background;
+ property public final androidx.compose.ui.text.style.BaselineShift? baselineShift;
+ property public final long color;
+ property public final androidx.compose.ui.text.font.FontFamily? fontFamily;
+ property public final String? fontFeatureSettings;
+ property public final long fontSize;
+ property public final androidx.compose.ui.text.font.FontStyle? fontStyle;
+ property public final androidx.compose.ui.text.font.FontSynthesis? fontSynthesis;
+ property public final androidx.compose.ui.text.font.FontWeight? fontWeight;
+ property public final long letterSpacing;
+ property public final long lineHeight;
+ property public final androidx.compose.ui.text.intl.LocaleList? localeList;
+ property public final androidx.compose.ui.graphics.Shadow? shadow;
+ property public final androidx.compose.ui.text.style.TextAlign? textAlign;
+ property public final androidx.compose.ui.text.style.TextDecoration? textDecoration;
+ property public final androidx.compose.ui.text.style.TextDirection? textDirection;
+ property public final androidx.compose.ui.text.style.TextGeometricTransform? textGeometricTransform;
+ property public final androidx.compose.ui.text.style.TextIndent? textIndent;
+ field public static final androidx.compose.ui.text.TextStyle.Companion Companion;
+ }
+
+ public static final class TextStyle.Companion {
+ method public androidx.compose.ui.text.TextStyle getDefault();
+ property public final androidx.compose.ui.text.TextStyle Default;
+ }
+
+ public final class TextStyleKt {
+ method public static androidx.compose.ui.text.TextStyle lerp(androidx.compose.ui.text.TextStyle start, androidx.compose.ui.text.TextStyle stop, float fraction);
+ method public static androidx.compose.ui.text.TextStyle resolveDefaults(androidx.compose.ui.text.TextStyle style, androidx.compose.ui.unit.LayoutDirection direction);
+ }
+
+ public abstract sealed class TtsAnnotation {
+ }
+
+ public final class VerbatimTtsAnnotation extends androidx.compose.ui.text.TtsAnnotation {
+ ctor public VerbatimTtsAnnotation(String verbatim);
+ method public String getVerbatim();
+ property public final String verbatim;
+ }
+
+}
+
+package androidx.compose.ui.text.android {
+
+ public final class LayoutCompatKt {
+ }
+
+ public final class LayoutHelperKt {
+ }
+
+ public final class LayoutIntrinsicsKt {
+ }
+
+ public final class SpannedExtensionsKt {
+ }
+
+ public final class StaticLayoutFactoryKt {
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+ public final class TextLayoutKt {
+ }
+
+}
+
+package androidx.compose.ui.text.android.style {
+
+ public final class PlaceholderSpanKt {
+ }
+
+}
+
+package androidx.compose.ui.text.font {
+
+ public final class AndroidFontKt {
+ }
+
+ public final class AndroidTypeface_androidKt {
+ method public static androidx.compose.ui.text.font.FontFamily FontFamily(android.graphics.Typeface typeface);
+ method public static androidx.compose.ui.text.font.Typeface Typeface(android.content.Context context, androidx.compose.ui.text.font.FontFamily fontFamily, optional java.util.List<kotlin.Pair<androidx.compose.ui.text.font.FontWeight,androidx.compose.ui.text.font.FontStyle>>? styles);
+ method public static androidx.compose.ui.text.font.Typeface Typeface(android.graphics.Typeface typeface);
+ }
+
+ public abstract sealed class FileBasedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+ }
+
+ @androidx.compose.runtime.Immutable public interface Font {
+ method public int getStyle-_-LCdwA();
+ method public androidx.compose.ui.text.font.FontWeight getWeight();
+ property public abstract int style;
+ property public abstract androidx.compose.ui.text.font.FontWeight weight;
+ }
+
+ public static interface Font.ResourceLoader {
+ method public Object load(androidx.compose.ui.text.font.Font font);
+ }
+
+ @androidx.compose.runtime.Immutable public abstract sealed class FontFamily {
+ method public final boolean getCanLoadSynchronously();
+ property public final boolean canLoadSynchronously;
+ field public static final androidx.compose.ui.text.font.FontFamily.Companion Companion;
+ }
+
+ public static final class FontFamily.Companion {
+ method public androidx.compose.ui.text.font.GenericFontFamily getCursive();
+ method public androidx.compose.ui.text.font.SystemFontFamily getDefault();
+ method public androidx.compose.ui.text.font.GenericFontFamily getMonospace();
+ method public androidx.compose.ui.text.font.GenericFontFamily getSansSerif();
+ method public androidx.compose.ui.text.font.GenericFontFamily getSerif();
+ property public final androidx.compose.ui.text.font.GenericFontFamily Cursive;
+ property public final androidx.compose.ui.text.font.SystemFontFamily Default;
+ property public final androidx.compose.ui.text.font.GenericFontFamily Monospace;
+ property public final androidx.compose.ui.text.font.GenericFontFamily SansSerif;
+ property public final androidx.compose.ui.text.font.GenericFontFamily Serif;
+ }
+
+ public final class FontFamilyKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily FontFamily(java.util.List<? extends androidx.compose.ui.text.font.Font> fonts);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily FontFamily(androidx.compose.ui.text.font.Font... fonts);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily FontFamily(androidx.compose.ui.text.font.Typeface typeface);
+ }
+
+ public final class FontKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.Font Font-8TkSW9U(int resId, optional androidx.compose.ui.text.font.FontWeight weight, optional int style);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.text.font.FontFamily toFontFamily(androidx.compose.ui.text.font.Font);
+ }
+
+ @androidx.compose.runtime.Immutable public final class FontListFontFamily extends androidx.compose.ui.text.font.FileBasedFontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.compose.ui.text.font.Font> {
+ method public boolean contains(androidx.compose.ui.text.font.Font element);
+ method public boolean containsAll(java.util.Collection<?> elements);
+ method public androidx.compose.ui.text.font.Font get(int index);
+ method public java.util.List<androidx.compose.ui.text.font.Font> getFonts();
+ method public int getSize();
+ method public int indexOf(androidx.compose.ui.text.font.Font element);
+ method public boolean isEmpty();
+ method public java.util.Iterator<androidx.compose.ui.text.font.Font> iterator();
+ method public int lastIndexOf(androidx.compose.ui.text.font.Font element);
+ method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator();
+ method public java.util.ListIterator<androidx.compose.ui.text.font.Font> listIterator(int index);
+ method public java.util.List<androidx.compose.ui.text.font.Font> subList(int fromIndex, int toIndex);
+ property public final java.util.List<androidx.compose.ui.text.font.Font> fonts;
+ }
+
+ public final inline class FontStyle {
+ ctor public FontStyle();
+ method public static int constructor-impl(int value);
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public int getValue();
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ property public final int value;
+ field public static final androidx.compose.ui.text.font.FontStyle.Companion Companion;
+ }
+
+ public static final class FontStyle.Companion {
+ method public int getItalic-_-LCdwA();
+ method public int getNormal-_-LCdwA();
+ method public java.util.List<androidx.compose.ui.text.font.FontStyle> values();
+ property public final int Italic;
+ property public final int Normal;
+ }
+
+ public final inline class FontSynthesis {
+ ctor public FontSynthesis();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.font.FontSynthesis.Companion Companion;
+ }
+
+ public static final class FontSynthesis.Companion {
+ method public int getAll-GVVA2EU();
+ method public int getNone-GVVA2EU();
+ method public int getStyle-GVVA2EU();
+ method public int getWeight-GVVA2EU();
+ property public final int All;
+ property public final int None;
+ property public final int Style;
+ property public final int Weight;
+ }
+
+ @androidx.compose.runtime.Immutable public final class FontWeight implements java.lang.Comparable<androidx.compose.ui.text.font.FontWeight> {
+ ctor public FontWeight(int weight);
+ method public operator int compareTo(androidx.compose.ui.text.font.FontWeight other);
+ method public int getWeight();
+ property public final int weight;
+ field public static final androidx.compose.ui.text.font.FontWeight.Companion Companion;
+ }
+
+ public static final class FontWeight.Companion {
+ method public androidx.compose.ui.text.font.FontWeight getBlack();
+ method public androidx.compose.ui.text.font.FontWeight getBold();
+ method public androidx.compose.ui.text.font.FontWeight getExtraBold();
+ method public androidx.compose.ui.text.font.FontWeight getExtraLight();
+ method public androidx.compose.ui.text.font.FontWeight getLight();
+ method public androidx.compose.ui.text.font.FontWeight getMedium();
+ method public androidx.compose.ui.text.font.FontWeight getNormal();
+ method public androidx.compose.ui.text.font.FontWeight getSemiBold();
+ method public androidx.compose.ui.text.font.FontWeight getThin();
+ method public androidx.compose.ui.text.font.FontWeight getW100();
+ method public androidx.compose.ui.text.font.FontWeight getW200();
+ method public androidx.compose.ui.text.font.FontWeight getW300();
+ method public androidx.compose.ui.text.font.FontWeight getW400();
+ method public androidx.compose.ui.text.font.FontWeight getW500();
+ method public androidx.compose.ui.text.font.FontWeight getW600();
+ method public androidx.compose.ui.text.font.FontWeight getW700();
+ method public androidx.compose.ui.text.font.FontWeight getW800();
+ method public androidx.compose.ui.text.font.FontWeight getW900();
+ property public final androidx.compose.ui.text.font.FontWeight Black;
+ property public final androidx.compose.ui.text.font.FontWeight Bold;
+ property public final androidx.compose.ui.text.font.FontWeight ExtraBold;
+ property public final androidx.compose.ui.text.font.FontWeight ExtraLight;
+ property public final androidx.compose.ui.text.font.FontWeight Light;
+ property public final androidx.compose.ui.text.font.FontWeight Medium;
+ property public final androidx.compose.ui.text.font.FontWeight Normal;
+ property public final androidx.compose.ui.text.font.FontWeight SemiBold;
+ property public final androidx.compose.ui.text.font.FontWeight Thin;
+ property public final androidx.compose.ui.text.font.FontWeight W100;
+ property public final androidx.compose.ui.text.font.FontWeight W200;
+ property public final androidx.compose.ui.text.font.FontWeight W300;
+ property public final androidx.compose.ui.text.font.FontWeight W400;
+ property public final androidx.compose.ui.text.font.FontWeight W500;
+ property public final androidx.compose.ui.text.font.FontWeight W600;
+ property public final androidx.compose.ui.text.font.FontWeight W700;
+ property public final androidx.compose.ui.text.font.FontWeight W800;
+ property public final androidx.compose.ui.text.font.FontWeight W900;
+ }
+
+ public final class FontWeightKt {
+ method public static androidx.compose.ui.text.font.FontWeight lerp(androidx.compose.ui.text.font.FontWeight start, androidx.compose.ui.text.font.FontWeight stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class GenericFontFamily extends androidx.compose.ui.text.font.SystemFontFamily {
+ method public String getName();
+ property public final String name;
+ }
+
+ public final class LoadedFontFamily extends androidx.compose.ui.text.font.FontFamily {
+ method public androidx.compose.ui.text.font.Typeface getTypeface();
+ property public final androidx.compose.ui.text.font.Typeface typeface;
+ }
+
+ public final class ResourceFont implements androidx.compose.ui.text.font.Font {
+ method public androidx.compose.ui.text.font.ResourceFont copy-8TkSW9U(optional int resId, optional androidx.compose.ui.text.font.FontWeight weight, optional int style);
+ method public int getResId();
+ method public int getStyle-_-LCdwA();
+ method public androidx.compose.ui.text.font.FontWeight getWeight();
+ property public final int resId;
+ property public int style;
+ property public androidx.compose.ui.text.font.FontWeight weight;
+ }
+
+ public abstract sealed class SystemFontFamily extends androidx.compose.ui.text.font.FontFamily {
+ }
+
+ public interface Typeface {
+ method public androidx.compose.ui.text.font.FontFamily? getFontFamily();
+ property public abstract androidx.compose.ui.text.font.FontFamily? fontFamily;
+ }
+
+}
+
+package androidx.compose.ui.text.input {
+
+ public final class BackspaceCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public BackspaceCommand();
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class CommitTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public CommitTextCommand(androidx.compose.ui.text.AnnotatedString annotatedString, int newCursorPosition);
+ ctor public CommitTextCommand(String text, int newCursorPosition);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public int getNewCursorPosition();
+ method public String getText();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public final int newCursorPosition;
+ property public final String text;
+ }
+
+ public final class DeleteAllCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public DeleteAllCommand();
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class DeleteSurroundingTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public DeleteSurroundingTextCommand(int lengthBeforeCursor, int lengthAfterCursor);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getLengthAfterCursor();
+ method public int getLengthBeforeCursor();
+ property public final int lengthAfterCursor;
+ property public final int lengthBeforeCursor;
+ }
+
+ public final class DeleteSurroundingTextInCodePointsCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public DeleteSurroundingTextInCodePointsCommand(int lengthBeforeCursor, int lengthAfterCursor);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getLengthAfterCursor();
+ method public int getLengthBeforeCursor();
+ property public final int lengthAfterCursor;
+ property public final int lengthBeforeCursor;
+ }
+
+ public interface EditCommand {
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class EditCommandKt {
+ }
+
+ public final class EditProcessor {
+ ctor public EditProcessor();
+ method public androidx.compose.ui.text.input.TextFieldValue apply(java.util.List<? extends androidx.compose.ui.text.input.EditCommand> editCommands);
+ method public void reset(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.TextInputSession? textInputSession);
+ method public androidx.compose.ui.text.input.TextFieldValue toTextFieldValue();
+ }
+
+ public final class EditingBuffer {
+ }
+
+ public final class EditingBufferKt {
+ }
+
+ public final class FinishComposingTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public FinishComposingTextCommand();
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ }
+
+ public final class GapBufferKt {
+ }
+
+ public final inline class ImeAction {
+ ctor public ImeAction();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.input.ImeAction.Companion Companion;
+ }
+
+ public static final class ImeAction.Companion {
+ method public int getDefault-eUduSuo();
+ method public int getDone-eUduSuo();
+ method public int getGo-eUduSuo();
+ method public int getNext-eUduSuo();
+ method public int getNone-eUduSuo();
+ method public int getPrevious-eUduSuo();
+ method public int getSearch-eUduSuo();
+ method public int getSend-eUduSuo();
+ property public final int Default;
+ property public final int Done;
+ property public final int Go;
+ property public final int Next;
+ property public final int None;
+ property public final int Previous;
+ property public final int Search;
+ property public final int Send;
+ }
+
+ @androidx.compose.runtime.Immutable public final class ImeOptions {
+ method public androidx.compose.ui.text.input.ImeOptions copy-TWIFjAI(optional boolean singleLine, optional int capitalization, optional boolean autoCorrect, optional int keyboardType, optional int imeAction);
+ method public boolean getAutoCorrect();
+ method public int getCapitalization-IUNYP9k();
+ method public int getImeAction-eUduSuo();
+ method public int getKeyboardType-PjHm6EE();
+ method public boolean getSingleLine();
+ property public final boolean autoCorrect;
+ property public final int capitalization;
+ property public final int imeAction;
+ property public final int keyboardType;
+ property public final boolean singleLine;
+ field public static final androidx.compose.ui.text.input.ImeOptions.Companion Companion;
+ }
+
+ public static final class ImeOptions.Companion {
+ method public androidx.compose.ui.text.input.ImeOptions getDefault();
+ property public final androidx.compose.ui.text.input.ImeOptions Default;
+ }
+
+ @Deprecated public interface InputEventCallback {
+ method @Deprecated public void onEditCommands(java.util.List<? extends androidx.compose.ui.text.input.EditCommand> editCommands);
+ method @Deprecated public void onImeAction-KlQnJC8(int imeAction);
+ }
+
+ public final inline class KeyboardCapitalization {
+ ctor public KeyboardCapitalization();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.input.KeyboardCapitalization.Companion Companion;
+ }
+
+ public static final class KeyboardCapitalization.Companion {
+ method public int getCharacters-IUNYP9k();
+ method public int getNone-IUNYP9k();
+ method public int getSentences-IUNYP9k();
+ method public int getWords-IUNYP9k();
+ property public final int Characters;
+ property public final int None;
+ property public final int Sentences;
+ property public final int Words;
+ }
+
+ public final inline class KeyboardType {
+ ctor public KeyboardType();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.input.KeyboardType.Companion Companion;
+ }
+
+ public static final class KeyboardType.Companion {
+ method public int getAscii-PjHm6EE();
+ method public int getEmail-PjHm6EE();
+ method public int getNumber-PjHm6EE();
+ method public int getNumberPassword-PjHm6EE();
+ method public int getPassword-PjHm6EE();
+ method public int getPhone-PjHm6EE();
+ method public int getText-PjHm6EE();
+ method public int getUri-PjHm6EE();
+ property public final int Ascii;
+ property public final int Email;
+ property public final int Number;
+ property public final int NumberPassword;
+ property public final int Password;
+ property public final int Phone;
+ property public final int Text;
+ property public final int Uri;
+ }
+
+ public final class MoveCursorCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public MoveCursorCommand(int amount);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getAmount();
+ property public final int amount;
+ }
+
+ public interface OffsetMapping {
+ method public int originalToTransformed(int offset);
+ method public int transformedToOriginal(int offset);
+ field public static final androidx.compose.ui.text.input.OffsetMapping.Companion Companion;
+ }
+
+ public static final class OffsetMapping.Companion {
+ method public androidx.compose.ui.text.input.OffsetMapping getIdentity();
+ property public final androidx.compose.ui.text.input.OffsetMapping Identity;
+ }
+
+ public final class PasswordVisualTransformation implements androidx.compose.ui.text.input.VisualTransformation {
+ ctor public PasswordVisualTransformation(optional char mask);
+ method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+ method public char getMask();
+ property public final char mask;
+ }
+
+ public interface PlatformTextInputService {
+ method public void hideSoftwareKeyboard();
+ method public void notifyFocusedRect(androidx.compose.ui.geometry.Rect rect);
+ method public void showSoftwareKeyboard();
+ method public void startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.ImeOptions imeOptions, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditCommand>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+ method public void stopInput();
+ method public void updateState(androidx.compose.ui.text.input.TextFieldValue? oldValue, androidx.compose.ui.text.input.TextFieldValue newValue);
+ }
+
+ public final class SetComposingRegionCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public SetComposingRegionCommand(int start, int end);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getEnd();
+ method public int getStart();
+ property public final int end;
+ property public final int start;
+ }
+
+ public final class SetComposingTextCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public SetComposingTextCommand(androidx.compose.ui.text.AnnotatedString annotatedString, int newCursorPosition);
+ ctor public SetComposingTextCommand(String text, int newCursorPosition);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public int getNewCursorPosition();
+ method public String getText();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public final int newCursorPosition;
+ property public final String text;
+ }
+
+ public final class SetSelectionCommand implements androidx.compose.ui.text.input.EditCommand {
+ ctor public SetSelectionCommand(int start, int end);
+ method public void applyTo(androidx.compose.ui.text.input.EditingBuffer buffer);
+ method public int getEnd();
+ method public int getStart();
+ property public final int end;
+ property public final int start;
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextFieldValue {
+ method public androidx.compose.ui.text.input.TextFieldValue copy-Dr2r1M0(String text, optional long selection, optional androidx.compose.ui.text.TextRange? composition);
+ method public androidx.compose.ui.text.input.TextFieldValue copy-ec4yWi8(optional androidx.compose.ui.text.AnnotatedString annotatedString, optional long selection, optional androidx.compose.ui.text.TextRange? composition);
+ method public androidx.compose.ui.text.AnnotatedString getAnnotatedString();
+ method public androidx.compose.ui.text.TextRange? getComposition-MzsxiRA();
+ method public long getSelection-d9O1mEE();
+ method public String getText();
+ property public final androidx.compose.ui.text.AnnotatedString annotatedString;
+ property public final androidx.compose.ui.text.TextRange? composition;
+ property public final long selection;
+ property public final String text;
+ field public static final androidx.compose.ui.text.input.TextFieldValue.Companion Companion;
+ }
+
+ public static final class TextFieldValue.Companion {
+ method public androidx.compose.runtime.saveable.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> getSaver();
+ property public final androidx.compose.runtime.saveable.Saver<androidx.compose.ui.text.input.TextFieldValue,java.lang.Object> Saver;
+ }
+
+ public final class TextFieldValueKt {
+ method public static androidx.compose.ui.text.AnnotatedString getSelectedText(androidx.compose.ui.text.input.TextFieldValue);
+ method public static androidx.compose.ui.text.AnnotatedString getTextAfterSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+ method public static androidx.compose.ui.text.AnnotatedString getTextBeforeSelection(androidx.compose.ui.text.input.TextFieldValue, int maxChars);
+ }
+
+ public class TextInputService {
+ ctor public TextInputService(androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+ method public final void hideSoftwareKeyboard();
+ method public final void showSoftwareKeyboard();
+ method public androidx.compose.ui.text.input.TextInputSession startInput(androidx.compose.ui.text.input.TextFieldValue value, androidx.compose.ui.text.input.ImeOptions imeOptions, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.compose.ui.text.input.EditCommand>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+ method public void stopInput(androidx.compose.ui.text.input.TextInputSession session);
+ }
+
+ public final class TextInputSession {
+ ctor public TextInputSession(androidx.compose.ui.text.input.TextInputService textInputService, androidx.compose.ui.text.input.PlatformTextInputService platformTextInputService);
+ method public void dispose();
+ method public boolean hideSoftwareKeyboard();
+ method public boolean isOpen();
+ method public boolean notifyFocusedRect(androidx.compose.ui.geometry.Rect rect);
+ method public boolean showSoftwareKeyboard();
+ method public boolean updateState(androidx.compose.ui.text.input.TextFieldValue? oldValue, androidx.compose.ui.text.input.TextFieldValue newValue);
+ property public final boolean isOpen;
+ }
+
+ public final class TransformedText {
+ ctor public TransformedText(androidx.compose.ui.text.AnnotatedString text, androidx.compose.ui.text.input.OffsetMapping offsetMapping);
+ method public androidx.compose.ui.text.input.OffsetMapping getOffsetMapping();
+ method public androidx.compose.ui.text.AnnotatedString getText();
+ property public final androidx.compose.ui.text.input.OffsetMapping offsetMapping;
+ property public final androidx.compose.ui.text.AnnotatedString text;
+ }
+
+ @androidx.compose.runtime.Immutable public fun interface VisualTransformation {
+ method public androidx.compose.ui.text.input.TransformedText filter(androidx.compose.ui.text.AnnotatedString text);
+ field public static final androidx.compose.ui.text.input.VisualTransformation.Companion Companion;
+ }
+
+ public static final class VisualTransformation.Companion {
+ method public androidx.compose.ui.text.input.VisualTransformation getNone();
+ property public final androidx.compose.ui.text.input.VisualTransformation None;
+ }
+
+}
+
+package androidx.compose.ui.text.intl {
+
+ public final class AndroidPlatformLocale_androidKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class Locale {
+ ctor public Locale(String languageTag);
+ method public String getLanguage();
+ method public String getRegion();
+ method public String getScript();
+ method public String toLanguageTag();
+ property public final String language;
+ property public final String region;
+ property public final String script;
+ field public static final androidx.compose.ui.text.intl.Locale.Companion Companion;
+ }
+
+ public static final class Locale.Companion {
+ method public androidx.compose.ui.text.intl.Locale getCurrent();
+ property public final androidx.compose.ui.text.intl.Locale current;
+ }
+
+ @androidx.compose.runtime.Immutable public final class LocaleList implements java.util.Collection<androidx.compose.ui.text.intl.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+ ctor public LocaleList(java.util.List<androidx.compose.ui.text.intl.Locale> localeList);
+ ctor public LocaleList(String languageTags);
+ ctor public LocaleList(androidx.compose.ui.text.intl.Locale... locales);
+ method public operator boolean contains(androidx.compose.ui.text.intl.Locale element);
+ method public boolean containsAll(java.util.Collection<?> elements);
+ method public operator androidx.compose.ui.text.intl.Locale get(int i);
+ method public java.util.List<androidx.compose.ui.text.intl.Locale> getLocaleList();
+ method public int getSize();
+ method public boolean isEmpty();
+ method public java.util.Iterator<androidx.compose.ui.text.intl.Locale> iterator();
+ property public final java.util.List<androidx.compose.ui.text.intl.Locale> localeList;
+ property public int size;
+ field public static final androidx.compose.ui.text.intl.LocaleList.Companion Companion;
+ }
+
+ public static final class LocaleList.Companion {
+ method public androidx.compose.ui.text.intl.LocaleList getCurrent();
+ property public final androidx.compose.ui.text.intl.LocaleList current;
+ }
+
+ public final class PlatformLocaleKt {
+ }
+
+}
+
+package androidx.compose.ui.text.platform {
+
+ public final class AndroidAccessibilitySpannableString_androidKt {
+ }
+
+ public final class AndroidParagraphHelper_androidKt {
+ }
+
+ public final class AndroidParagraphIntrinsics_androidKt {
+ }
+
+ public final class AndroidParagraph_androidKt {
+ }
+
+ public final class AndroidStringDelegate_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.text.platform.extensions {
+
+ public final class LocaleExtensions_androidKt {
+ }
+
+ public final class PlaceholderExtensions_androidKt {
+ }
+
+ public final class SpannableExtensions_androidKt {
+ }
+
+ public final class TextPaintExtensions_androidKt {
+ }
+
+ public final class TtsAnnotationExtensions_androidKt {
+ method public static android.text.style.TtsSpan toSpan(androidx.compose.ui.text.TtsAnnotation);
+ method public static android.text.style.TtsSpan toSpan(androidx.compose.ui.text.VerbatimTtsAnnotation);
+ }
+
+}
+
+package androidx.compose.ui.text.style {
+
+ @androidx.compose.runtime.Immutable public final inline class BaselineShift {
+ ctor public BaselineShift();
+ method public static float constructor-impl(float multiplier);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(float p, Object? p1);
+ method public static boolean equals-impl0(float p1, float p2);
+ method public float getMultiplier();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(float p);
+ method @androidx.compose.runtime.Immutable public static inline String! toString-impl(float p);
+ property public final float multiplier;
+ field public static final androidx.compose.ui.text.style.BaselineShift.Companion Companion;
+ }
+
+ public static final class BaselineShift.Companion {
+ method public float getNone-y9eOQZs();
+ method public float getSubscript-y9eOQZs();
+ method public float getSuperscript-y9eOQZs();
+ property public final float None;
+ property public final float Subscript;
+ property public final float Superscript;
+ }
+
+ public final class BaselineShiftKt {
+ method @androidx.compose.runtime.Stable public static float lerp-ylBt8J4(float start, float stop, float fraction);
+ }
+
+ public enum ResolvedTextDirection {
+ enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Ltr;
+ enum_constant public static final androidx.compose.ui.text.style.ResolvedTextDirection Rtl;
+ }
+
+ public final inline class TextAlign {
+ ctor public TextAlign();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.style.TextAlign.Companion Companion;
+ }
+
+ public static final class TextAlign.Companion {
+ method public int getCenter-e0LSkKk();
+ method public int getEnd-e0LSkKk();
+ method public int getJustify-e0LSkKk();
+ method public int getLeft-e0LSkKk();
+ method public int getRight-e0LSkKk();
+ method public int getStart-e0LSkKk();
+ method public java.util.List<androidx.compose.ui.text.style.TextAlign> values();
+ property public final int Center;
+ property public final int End;
+ property public final int Justify;
+ property public final int Left;
+ property public final int Right;
+ property public final int Start;
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextDecoration {
+ method public operator boolean contains(androidx.compose.ui.text.style.TextDecoration other);
+ method public operator boolean equals(Object? other);
+ method public int getMask();
+ method public operator androidx.compose.ui.text.style.TextDecoration plus(androidx.compose.ui.text.style.TextDecoration decoration);
+ property public final int mask;
+ field public static final androidx.compose.ui.text.style.TextDecoration.Companion Companion;
+ }
+
+ public static final class TextDecoration.Companion {
+ method public androidx.compose.ui.text.style.TextDecoration combine(java.util.List<androidx.compose.ui.text.style.TextDecoration> decorations);
+ method public androidx.compose.ui.text.style.TextDecoration getLineThrough();
+ method public androidx.compose.ui.text.style.TextDecoration getNone();
+ method public androidx.compose.ui.text.style.TextDecoration getUnderline();
+ property public final androidx.compose.ui.text.style.TextDecoration LineThrough;
+ property public final androidx.compose.ui.text.style.TextDecoration None;
+ property public final androidx.compose.ui.text.style.TextDecoration Underline;
+ }
+
+ public final inline class TextDirection {
+ ctor public TextDirection();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.style.TextDirection.Companion Companion;
+ }
+
+ public static final class TextDirection.Companion {
+ method public int getContent-s_7X-co();
+ method public int getContentOrLtr-s_7X-co();
+ method public int getContentOrRtl-s_7X-co();
+ method public int getLtr-s_7X-co();
+ method public int getRtl-s_7X-co();
+ property public final int Content;
+ property public final int ContentOrLtr;
+ property public final int ContentOrRtl;
+ property public final int Ltr;
+ property public final int Rtl;
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextGeometricTransform {
+ ctor public TextGeometricTransform(optional float scaleX, optional float skewX);
+ method public androidx.compose.ui.text.style.TextGeometricTransform copy(optional float scaleX, optional float skewX);
+ method public operator boolean equals(Object? other);
+ method public float getScaleX();
+ method public float getSkewX();
+ property public final float scaleX;
+ property public final float skewX;
+ field public static final androidx.compose.ui.text.style.TextGeometricTransform.Companion Companion;
+ }
+
+ public static final class TextGeometricTransform.Companion {
+ }
+
+ public final class TextGeometricTransformKt {
+ method public static androidx.compose.ui.text.style.TextGeometricTransform lerp(androidx.compose.ui.text.style.TextGeometricTransform start, androidx.compose.ui.text.style.TextGeometricTransform stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final class TextIndent {
+ method public androidx.compose.ui.text.style.TextIndent copy-8E83U4Q(optional long firstLine, optional long restLine);
+ method public operator boolean equals(Object? other);
+ method public long getFirstLine-XSAIIZE();
+ method public long getRestLine-XSAIIZE();
+ property public final long firstLine;
+ property public final long restLine;
+ field public static final androidx.compose.ui.text.style.TextIndent.Companion Companion;
+ }
+
+ public static final class TextIndent.Companion {
+ method public androidx.compose.ui.text.style.TextIndent getNone();
+ property public final androidx.compose.ui.text.style.TextIndent None;
+ }
+
+ public final class TextIndentKt {
+ method public static androidx.compose.ui.text.style.TextIndent lerp(androidx.compose.ui.text.style.TextIndent start, androidx.compose.ui.text.style.TextIndent stop, float fraction);
+ }
+
+ public final inline class TextOverflow {
+ ctor public TextOverflow();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.text.style.TextOverflow.Companion Companion;
+ }
+
+ public static final class TextOverflow.Companion {
+ method public int getClip-gIe3tQ8();
+ method public int getEllipsis-gIe3tQ8();
+ method public int getVisible-gIe3tQ8();
+ property public final int Clip;
+ property public final int Ellipsis;
+ property public final int Visible;
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling-data/api/1.0.0-beta10.txt b/compose/ui/ui-tooling-data/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..ab1e1a2
--- /dev/null
+++ b/compose/ui/ui-tooling-data/api/1.0.0-beta10.txt
@@ -0,0 +1,8 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling.data {
+
+ public final class SlotTreeKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling-data/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-tooling-data/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..14c7473
--- /dev/null
+++ b/compose/ui/ui-tooling-data/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,101 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling.data {
+
+ @androidx.compose.ui.tooling.data.UiToolingDataApi public final class CallGroup extends androidx.compose.ui.tooling.data.Group {
+ ctor public CallGroup(Object? key, String? name, androidx.compose.ui.unit.IntRect box, androidx.compose.ui.tooling.data.SourceLocation? location, java.util.List<androidx.compose.ui.tooling.data.ParameterInformation> parameters, java.util.Collection<?> data, java.util.Collection<? extends androidx.compose.ui.tooling.data.Group> children);
+ property public java.util.List<androidx.compose.ui.tooling.data.ParameterInformation> parameters;
+ }
+
+ @androidx.compose.ui.tooling.data.UiToolingDataApi public abstract sealed class Group {
+ method public final androidx.compose.ui.unit.IntRect getBox();
+ method public final java.util.Collection<androidx.compose.ui.tooling.data.Group> getChildren();
+ method public final java.util.Collection<java.lang.Object> getData();
+ method public final Object? getKey();
+ method public final androidx.compose.ui.tooling.data.SourceLocation? getLocation();
+ method public java.util.List<androidx.compose.ui.layout.ModifierInfo> getModifierInfo();
+ method public final String? getName();
+ method public java.util.List<androidx.compose.ui.tooling.data.ParameterInformation> getParameters();
+ property public final androidx.compose.ui.unit.IntRect box;
+ property public final java.util.Collection<androidx.compose.ui.tooling.data.Group> children;
+ property public final java.util.Collection<java.lang.Object> data;
+ property public final Object? key;
+ property public final androidx.compose.ui.tooling.data.SourceLocation? location;
+ property public java.util.List<androidx.compose.ui.layout.ModifierInfo> modifierInfo;
+ property public final String? name;
+ property public java.util.List<androidx.compose.ui.tooling.data.ParameterInformation> parameters;
+ }
+
+ @androidx.compose.ui.tooling.data.UiToolingDataApi public final class JoinedKey {
+ ctor public JoinedKey(Object? left, Object? right);
+ method public Object? component1();
+ method public Object? component2();
+ method @androidx.compose.ui.tooling.data.UiToolingDataApi public androidx.compose.ui.tooling.data.JoinedKey copy(Object? left, Object? right);
+ method public Object? getLeft();
+ method public Object? getRight();
+ property public final Object? left;
+ property public final Object? right;
+ }
+
+ @androidx.compose.ui.tooling.data.UiToolingDataApi public final class NodeGroup extends androidx.compose.ui.tooling.data.Group {
+ ctor public NodeGroup(Object? key, Object node, androidx.compose.ui.unit.IntRect box, java.util.Collection<?> data, java.util.List<androidx.compose.ui.layout.ModifierInfo> modifierInfo, java.util.Collection<? extends androidx.compose.ui.tooling.data.Group> children);
+ method public Object getNode();
+ property public java.util.List<androidx.compose.ui.layout.ModifierInfo> modifierInfo;
+ property public final Object node;
+ }
+
+ @androidx.compose.ui.tooling.data.UiToolingDataApi public final class ParameterInformation {
+ ctor public ParameterInformation(String name, Object? value, boolean fromDefault, boolean p, boolean compared, String? inlineClass, boolean stable);
+ method public String component1();
+ method public Object? component2();
+ method public boolean component3();
+ method public boolean component4();
+ method public boolean component5();
+ method public String? component6();
+ method public boolean component7();
+ method @androidx.compose.ui.tooling.data.UiToolingDataApi public androidx.compose.ui.tooling.data.ParameterInformation copy(String name, Object? value, boolean fromDefault, boolean p, boolean compared, String? inlineClass, boolean stable);
+ method public boolean getCompared();
+ method public boolean getFromDefault();
+ method public String? getInlineClass();
+ method public String getName();
+ method public boolean getStable();
+ method public boolean getStatic();
+ method public Object? getValue();
+ property public final boolean compared;
+ property public final boolean fromDefault;
+ property public final String? inlineClass;
+ property public final String name;
+ property public final boolean stable;
+ property public final boolean static;
+ property public final Object? value;
+ }
+
+ public final class SlotTreeKt {
+ method @androidx.compose.ui.tooling.data.UiToolingDataApi public static androidx.compose.ui.tooling.data.Group asTree(androidx.compose.runtime.tooling.CompositionData);
+ method @androidx.compose.ui.tooling.data.UiToolingDataApi public static String? getPosition(androidx.compose.ui.tooling.data.Group);
+ }
+
+ @androidx.compose.ui.tooling.data.UiToolingDataApi public final class SourceLocation {
+ ctor public SourceLocation(int lineNumber, int offset, int length, String? sourceFile, int packageHash);
+ method public int component1();
+ method public int component2();
+ method public int component3();
+ method public String? component4();
+ method public int component5();
+ method @androidx.compose.ui.tooling.data.UiToolingDataApi public androidx.compose.ui.tooling.data.SourceLocation copy(int lineNumber, int offset, int length, String? sourceFile, int packageHash);
+ method public int getLength();
+ method public int getLineNumber();
+ method public int getOffset();
+ method public int getPackageHash();
+ method public String? getSourceFile();
+ property public final int length;
+ property public final int lineNumber;
+ property public final int offset;
+ property public final int packageHash;
+ property public final String? sourceFile;
+ }
+
+ @kotlin.RequiresOptIn(message="This API is for tooling only and is likely to change in the future.") public @interface UiToolingDataApi {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling-data/api/res-1.0.0-beta10.txt b/compose/ui/ui-tooling-data/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-tooling-data/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-tooling-data/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-tooling-data/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..ab1e1a2
--- /dev/null
+++ b/compose/ui/ui-tooling-data/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,8 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling.data {
+
+ public final class SlotTreeKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling/api/1.0.0-beta10.txt b/compose/ui/ui-tooling/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..1789ce2
--- /dev/null
+++ b/compose/ui/ui-tooling/api/1.0.0-beta10.txt
@@ -0,0 +1,113 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling {
+
+ public final class InspectableKt {
+ method @androidx.compose.runtime.Composable public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview {
+
+ public final class ComposeViewAdapterKt {
+ field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
+ }
+
+ public final class Devices {
+ field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
+ field public static final String DEFAULT = "";
+ field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
+ field public static final String NEXUS_10 = "name:Nexus 10";
+ field public static final String NEXUS_5 = "id:Nexus 5";
+ field public static final String NEXUS_5X = "id:Nexus 5X";
+ field public static final String NEXUS_6 = "id:Nexus 6";
+ field public static final String NEXUS_6P = "id:Nexus 6P";
+ field public static final String NEXUS_7 = "id:Nexus 7";
+ field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
+ field public static final String NEXUS_9 = "id:Nexus 9";
+ field public static final String PIXEL = "id:pixel";
+ field public static final String PIXEL_2 = "id:pixel_2";
+ field public static final String PIXEL_2_XL = "id:pixel_2_xl";
+ field public static final String PIXEL_3 = "id:pixel_3";
+ field public static final String PIXEL_3A = "id:pixel_3a";
+ field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
+ field public static final String PIXEL_3_XL = "id:pixel_3_xl";
+ field public static final String PIXEL_4 = "id:pixel_4";
+ field public static final String PIXEL_4_XL = "id:pixel_4_xl";
+ field public static final String PIXEL_C = "id:pixel_c";
+ field public static final String PIXEL_XL = "id:pixel_xl";
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
+ method public abstract int apiLevel() default -1;
+ method public abstract long backgroundColor() default 0L;
+ method public abstract String device() default "";
+ method public abstract float fontScale() default 1.0f;
+ method public abstract String group() default "";
+ method public abstract int heightDp() default -1;
+ method public abstract String locale() default "";
+ method public abstract String name() default "";
+ method public abstract boolean showBackground() default false;
+ method public abstract boolean showSystemUi() default false;
+ method public abstract int uiMode() default 0;
+ method public abstract int widthDp() default -1;
+ property public abstract int apiLevel;
+ property public abstract long backgroundColor;
+ property public abstract String device;
+ property public abstract float fontScale;
+ property public abstract String group;
+ property public abstract int heightDp;
+ property public abstract String locale;
+ property public abstract String name;
+ property public abstract boolean showBackground;
+ property public abstract boolean showSystemUi;
+ property public abstract int uiMode;
+ property public abstract int widthDp;
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
+ method public abstract int limit() default 2147483647;
+ method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
+ property public abstract int limit;
+ property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
+ }
+
+ public interface PreviewParameterProvider<T> {
+ method public default int getCount();
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public default int count;
+ property public abstract kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class PreviewUtilsKt {
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.animation {
+
+ public final class ComposeAnimationParserKt {
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.datasource {
+
+ public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
+ ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
+ ctor public LoremIpsum(int words);
+ ctor public LoremIpsum();
+ method public kotlin.sequences.Sequence<java.lang.String> getValues();
+ property public kotlin.sequences.Sequence<java.lang.String> values;
+ }
+
+ public final class LoremIpsumKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-tooling/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..1789ce2
--- /dev/null
+++ b/compose/ui/ui-tooling/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,113 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling {
+
+ public final class InspectableKt {
+ method @androidx.compose.runtime.Composable public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview {
+
+ public final class ComposeViewAdapterKt {
+ field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
+ }
+
+ public final class Devices {
+ field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
+ field public static final String DEFAULT = "";
+ field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
+ field public static final String NEXUS_10 = "name:Nexus 10";
+ field public static final String NEXUS_5 = "id:Nexus 5";
+ field public static final String NEXUS_5X = "id:Nexus 5X";
+ field public static final String NEXUS_6 = "id:Nexus 6";
+ field public static final String NEXUS_6P = "id:Nexus 6P";
+ field public static final String NEXUS_7 = "id:Nexus 7";
+ field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
+ field public static final String NEXUS_9 = "id:Nexus 9";
+ field public static final String PIXEL = "id:pixel";
+ field public static final String PIXEL_2 = "id:pixel_2";
+ field public static final String PIXEL_2_XL = "id:pixel_2_xl";
+ field public static final String PIXEL_3 = "id:pixel_3";
+ field public static final String PIXEL_3A = "id:pixel_3a";
+ field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
+ field public static final String PIXEL_3_XL = "id:pixel_3_xl";
+ field public static final String PIXEL_4 = "id:pixel_4";
+ field public static final String PIXEL_4_XL = "id:pixel_4_xl";
+ field public static final String PIXEL_C = "id:pixel_c";
+ field public static final String PIXEL_XL = "id:pixel_xl";
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
+ method public abstract int apiLevel() default -1;
+ method public abstract long backgroundColor() default 0L;
+ method public abstract String device() default "";
+ method public abstract float fontScale() default 1.0f;
+ method public abstract String group() default "";
+ method public abstract int heightDp() default -1;
+ method public abstract String locale() default "";
+ method public abstract String name() default "";
+ method public abstract boolean showBackground() default false;
+ method public abstract boolean showSystemUi() default false;
+ method public abstract int uiMode() default 0;
+ method public abstract int widthDp() default -1;
+ property public abstract int apiLevel;
+ property public abstract long backgroundColor;
+ property public abstract String device;
+ property public abstract float fontScale;
+ property public abstract String group;
+ property public abstract int heightDp;
+ property public abstract String locale;
+ property public abstract String name;
+ property public abstract boolean showBackground;
+ property public abstract boolean showSystemUi;
+ property public abstract int uiMode;
+ property public abstract int widthDp;
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
+ method public abstract int limit() default 2147483647;
+ method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
+ property public abstract int limit;
+ property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
+ }
+
+ public interface PreviewParameterProvider<T> {
+ method public default int getCount();
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public default int count;
+ property public abstract kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class PreviewUtilsKt {
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.animation {
+
+ public final class ComposeAnimationParserKt {
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.datasource {
+
+ public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
+ ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
+ ctor public LoremIpsum(int words);
+ ctor public LoremIpsum();
+ method public kotlin.sequences.Sequence<java.lang.String> getValues();
+ property public kotlin.sequences.Sequence<java.lang.String> values;
+ }
+
+ public final class LoremIpsumKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-tooling/api/res-1.0.0-beta10.txt b/compose/ui/ui-tooling/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-tooling/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-tooling/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-tooling/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..1789ce2
--- /dev/null
+++ b/compose/ui/ui-tooling/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,113 @@
+// Signature format: 4.0
+package androidx.compose.ui.tooling {
+
+ public final class InspectableKt {
+ method @androidx.compose.runtime.Composable public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview {
+
+ public final class ComposeViewAdapterKt {
+ field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
+ }
+
+ public final class Devices {
+ field public static final String AUTOMOTIVE_1024p = "id:automotive_1024p_landscape";
+ field public static final String DEFAULT = "";
+ field public static final androidx.compose.ui.tooling.preview.Devices INSTANCE;
+ field public static final String NEXUS_10 = "name:Nexus 10";
+ field public static final String NEXUS_5 = "id:Nexus 5";
+ field public static final String NEXUS_5X = "id:Nexus 5X";
+ field public static final String NEXUS_6 = "id:Nexus 6";
+ field public static final String NEXUS_6P = "id:Nexus 6P";
+ field public static final String NEXUS_7 = "id:Nexus 7";
+ field public static final String NEXUS_7_2013 = "id:Nexus 7 2013";
+ field public static final String NEXUS_9 = "id:Nexus 9";
+ field public static final String PIXEL = "id:pixel";
+ field public static final String PIXEL_2 = "id:pixel_2";
+ field public static final String PIXEL_2_XL = "id:pixel_2_xl";
+ field public static final String PIXEL_3 = "id:pixel_3";
+ field public static final String PIXEL_3A = "id:pixel_3a";
+ field public static final String PIXEL_3A_XL = "id:pixel_3a_xl";
+ field public static final String PIXEL_3_XL = "id:pixel_3_xl";
+ field public static final String PIXEL_4 = "id:pixel_4";
+ field public static final String PIXEL_4_XL = "id:pixel_4_xl";
+ field public static final String PIXEL_C = "id:pixel_c";
+ field public static final String PIXEL_XL = "id:pixel_xl";
+ }
+
+ @kotlin.annotation.MustBeDocumented @kotlin.annotation.Repeatable @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention) @kotlin.annotation.Target(allowedTargets=kotlin.annotation.AnnotationTarget) public @interface Preview {
+ method public abstract int apiLevel() default -1;
+ method public abstract long backgroundColor() default 0L;
+ method public abstract String device() default "";
+ method public abstract float fontScale() default 1.0f;
+ method public abstract String group() default "";
+ method public abstract int heightDp() default -1;
+ method public abstract String locale() default "";
+ method public abstract String name() default "";
+ method public abstract boolean showBackground() default false;
+ method public abstract boolean showSystemUi() default false;
+ method public abstract int uiMode() default 0;
+ method public abstract int widthDp() default -1;
+ property public abstract int apiLevel;
+ property public abstract long backgroundColor;
+ property public abstract String device;
+ property public abstract float fontScale;
+ property public abstract String group;
+ property public abstract int heightDp;
+ property public abstract String locale;
+ property public abstract String name;
+ property public abstract boolean showBackground;
+ property public abstract boolean showSystemUi;
+ property public abstract int uiMode;
+ property public abstract int widthDp;
+ }
+
+ @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) public @interface PreviewParameter {
+ method public abstract int limit() default 2147483647;
+ method public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider();
+ property public abstract int limit;
+ property public abstract Class<? extends androidx.compose.ui.tooling.preview.PreviewParameterProvider<?>> provider;
+ }
+
+ public interface PreviewParameterProvider<T> {
+ method public default int getCount();
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public default int count;
+ property public abstract kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class PreviewUtilsKt {
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.animation {
+
+ public final class ComposeAnimationParserKt {
+ }
+
+}
+
+package androidx.compose.ui.tooling.preview.datasource {
+
+ public class CollectionPreviewParameterProvider<T> implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<T> {
+ ctor public CollectionPreviewParameterProvider(java.util.Collection<? extends T> collection);
+ method public kotlin.sequences.Sequence<T> getValues();
+ property public kotlin.sequences.Sequence<T> values;
+ }
+
+ public final class LoremIpsum implements androidx.compose.ui.tooling.preview.PreviewParameterProvider<java.lang.String> {
+ ctor public LoremIpsum(int words);
+ ctor public LoremIpsum();
+ method public kotlin.sequences.Sequence<java.lang.String> getValues();
+ property public kotlin.sequences.Sequence<java.lang.String> values;
+ }
+
+ public final class LoremIpsumKt {
+ }
+
+}
+
diff --git a/compose/ui/ui-unit/api/1.0.0-beta10.txt b/compose/ui/ui-unit/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..b5e17d6
--- /dev/null
+++ b/compose/ui/ui-unit/api/1.0.0-beta10.txt
@@ -0,0 +1,387 @@
+// Signature format: 4.0
+package androidx.compose.ui.unit {
+
+ public final class AndroidDensity_androidKt {
+ method public static androidx.compose.ui.unit.Density Density(android.content.Context context);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Constraints {
+ ctor public Constraints();
+ method public static long constructor-impl(long value);
+ method public static long copy-msEJaDk(long $this, optional int minWidth, optional int maxWidth, optional int minHeight, optional int maxHeight);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static boolean getHasBoundedHeight-impl(long $this);
+ method public static boolean getHasBoundedWidth-impl(long $this);
+ method public static boolean getHasFixedHeight-impl(long $this);
+ method public static boolean getHasFixedWidth-impl(long $this);
+ method public static int getMaxHeight-impl(long $this);
+ method public static int getMaxWidth-impl(long $this);
+ method public static int getMinHeight-impl(long $this);
+ method public static int getMinWidth-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static boolean isZero-impl(long $this);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.Constraints.Companion Companion;
+ field public static final int Infinity = 2147483647; // 0x7fffffff
+ }
+
+ public static final class Constraints.Companion {
+ method @androidx.compose.runtime.Stable public long fixed-msEJaDk(int width, int height);
+ method @androidx.compose.runtime.Stable public long fixedHeight-msEJaDk(int height);
+ method @androidx.compose.runtime.Stable public long fixedWidth-msEJaDk(int width);
+ }
+
+ public final class ConstraintsKt {
+ method @androidx.compose.runtime.Stable public static long Constraints(optional int minWidth, optional int maxWidth, optional int minHeight, optional int maxHeight);
+ method public static long constrain-WVSBfsc(long, long otherConstraints);
+ method @androidx.compose.runtime.Stable public static long constrain-m9CmiCs(long, long size);
+ method @androidx.compose.runtime.Stable public static int constrainHeight-4A1wEdY(long, int height);
+ method @androidx.compose.runtime.Stable public static int constrainWidth-4A1wEdY(long, int width);
+ method @androidx.compose.runtime.Stable public static boolean isSatisfiedBy-m9CmiCs(long, long size);
+ method @androidx.compose.runtime.Stable public static long offset-dAqVMF8(long, optional int horizontal, optional int vertical);
+ }
+
+ @androidx.compose.runtime.Immutable public interface Density {
+ method public float getDensity();
+ method public float getFontScale();
+ method @androidx.compose.runtime.Stable public default int roundToPx--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public default int roundToPx-0680j_4(float);
+ method @androidx.compose.runtime.Stable public default float toDp--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public default float toDp-D9Ej5fM(int);
+ method @androidx.compose.runtime.Stable public default float toDp-D9Ej5fM(float);
+ method @androidx.compose.runtime.Stable public default float toPx--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public default float toPx-0680j_4(float);
+ method @androidx.compose.runtime.Stable public default androidx.compose.ui.geometry.Rect toRect(androidx.compose.ui.unit.DpRect);
+ method @androidx.compose.runtime.Stable public default long toSp-0680j_4(float);
+ method @androidx.compose.runtime.Stable public default long toSp-XSAIIZE(int);
+ method @androidx.compose.runtime.Stable public default long toSp-XSAIIZE(float);
+ property public abstract float density;
+ property public abstract float fontScale;
+ }
+
+ public final class DensityKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.Density Density(float density, optional float fontScale);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Dp implements java.lang.Comparable<androidx.compose.ui.unit.Dp> {
+ ctor public Dp();
+ method @androidx.compose.runtime.Stable public operator int compareTo-0680j_4(float p);
+ method @androidx.compose.runtime.Stable public static operator int compareTo-0680j_4(float $this, float other);
+ method public static float constructor-impl(float value);
+ method @androidx.compose.runtime.Stable public static inline operator float div-0680j_4(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float div-D9Ej5fM(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float div-D9Ej5fM(float $this, int other);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(float p, Object? p1);
+ method public static boolean equals-impl0(float p1, float p2);
+ method public float getValue();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(float p);
+ method @androidx.compose.runtime.Stable public static inline operator float minus-0680j_4(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float plus-0680j_4(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-D9Ej5fM(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-D9Ej5fM(float $this, int other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(float $this);
+ method @androidx.compose.runtime.Stable public static inline operator float unaryMinus-D9Ej5fM(float $this);
+ property public final float value;
+ field public static final androidx.compose.ui.unit.Dp.Companion Companion;
+ }
+
+ public static final class Dp.Companion {
+ method public float getHairline-D9Ej5fM();
+ method public float getInfinity-D9Ej5fM();
+ method public float getUnspecified-D9Ej5fM();
+ property public final float Hairline;
+ property public final float Infinity;
+ property public final float Unspecified;
+ }
+
+ public final class DpKt {
+ method @androidx.compose.runtime.Stable public static long DpOffset-ioHfwGI(float x, float y);
+ method @androidx.compose.runtime.Stable public static inline float coerceAtLeast-ioHfwGI(float, float minimumValue);
+ method @androidx.compose.runtime.Stable public static inline float coerceAtMost-ioHfwGI(float, float maximumValue);
+ method @androidx.compose.runtime.Stable public static inline float coerceIn-qYQSm_w(float, float minimumValue, float maximumValue);
+ method public static inline float getDp(int);
+ method public static inline float getDp(double);
+ method public static inline float getDp(float);
+ method public static inline float getHeight(androidx.compose.ui.unit.DpRect);
+ method public static inline float getWidth(androidx.compose.ui.unit.DpRect);
+ method public static inline boolean isFinite-0680j_4(float);
+ method public static inline boolean isSpecified-0680j_4(float);
+ method public static inline boolean isUnspecified-0680j_4(float);
+ method @androidx.compose.runtime.Stable public static float lerp-7oHWEOI(float start, float stop, float fraction);
+ method @androidx.compose.runtime.Stable public static long lerp-O0PuQT4(long start, long stop, float fraction);
+ method @androidx.compose.runtime.Stable public static inline float max-ioHfwGI(float a, float b);
+ method @androidx.compose.runtime.Stable public static inline float min-ioHfwGI(float a, float b);
+ method public static inline float takeOrElse-RiydCdY(float, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.Dp> block);
+ method @androidx.compose.runtime.Stable public static inline operator float times-Cp9Wa6o(int, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-NSq4UQk(double, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-NnR5yEA(float, float other);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class DpOffset {
+ ctor public DpOffset();
+ method public static long copy-ioHfwGI(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-D9Ej5fM(long $this);
+ method public static float getY-D9Ej5fM(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static inline operator long minus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long plus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.DpOffset.Companion Companion;
+ }
+
+ public static final class DpOffset.Companion {
+ method public long getZero-RKDOV3M();
+ property public final long Zero;
+ }
+
+ @androidx.compose.runtime.Immutable public final class DpRect {
+ method public float component1-D9Ej5fM();
+ method public float component2-D9Ej5fM();
+ method public float component3-D9Ej5fM();
+ method public float component4-D9Ej5fM();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.unit.DpRect copy-ZmiikuI(float left, float top, float right, float bottom);
+ method public float getBottom-D9Ej5fM();
+ method public float getLeft-D9Ej5fM();
+ method public float getRight-D9Ej5fM();
+ method public float getTop-D9Ej5fM();
+ property public final float bottom;
+ property public final float left;
+ property public final float right;
+ property public final float top;
+ field public static final androidx.compose.ui.unit.DpRect.Companion Companion;
+ }
+
+ public static final class DpRect.Companion {
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class IntOffset {
+ ctor public IntOffset();
+ method @androidx.compose.runtime.Stable public static operator int component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator int component2-impl(long $this);
+ method public static long copy-nOcc-ac(long $this, optional int x, optional int y);
+ method @androidx.compose.runtime.Stable public static operator long div-nOcc-ac(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static int getX-impl(long $this);
+ method public static int getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static inline operator long minus--gyyYBs(long $this, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long plus--gyyYBs(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long rem-nOcc-ac(long $this, int operand);
+ method @androidx.compose.runtime.Stable public static operator long times-nOcc-ac(long $this, float operand);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator long unaryMinus-nOcc-ac(long $this);
+ field public static final androidx.compose.ui.unit.IntOffset.Companion Companion;
+ }
+
+ public static final class IntOffset.Companion {
+ method public long getZero-nOcc-ac();
+ property public final long Zero;
+ }
+
+ public final class IntOffsetKt {
+ method @androidx.compose.runtime.Stable public static long IntOffset(int x, int y);
+ method @androidx.compose.runtime.Stable public static long lerp-t0UgTr0(long start, long stop, float fraction);
+ method @androidx.compose.runtime.Stable public static operator long minus-k5bmQ1s(long, long offset);
+ method @androidx.compose.runtime.Stable public static operator long minus-tRj9Ofw(long, long offset);
+ method @androidx.compose.runtime.Stable public static operator long plus-k5bmQ1s(long, long offset);
+ method @androidx.compose.runtime.Stable public static operator long plus-tRj9Ofw(long, long offset);
+ method @androidx.compose.runtime.Stable public static inline long round-k-4lQ0M(long);
+ method @androidx.compose.runtime.Stable public static inline long toOffset--gyyYBs(long);
+ }
+
+ @androidx.compose.runtime.Immutable public final class IntRect {
+ ctor public IntRect(@androidx.compose.runtime.Stable int left, @androidx.compose.runtime.Stable int top, @androidx.compose.runtime.Stable int right, @androidx.compose.runtime.Stable int bottom);
+ method public int component1();
+ method public int component2();
+ method public int component3();
+ method public int component4();
+ method public boolean contains--gyyYBs(long offset);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.unit.IntRect copy(int left, int top, int right, int bottom);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect deflate(int delta);
+ method public int getBottom();
+ method public long getBottomCenter-nOcc-ac();
+ method public long getBottomLeft-nOcc-ac();
+ method public long getBottomRight-nOcc-ac();
+ method public long getCenter-nOcc-ac();
+ method public long getCenterLeft-nOcc-ac();
+ method public long getCenterRight-nOcc-ac();
+ method public int getHeight();
+ method public int getLeft();
+ method public int getMaxDimension();
+ method public int getMinDimension();
+ method public int getRight();
+ method public long getSize-YbymL2g();
+ method public int getTop();
+ method public long getTopCenter-nOcc-ac();
+ method public long getTopLeft-nOcc-ac();
+ method public long getTopRight-nOcc-ac();
+ method public int getWidth();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect inflate(int delta);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect intersect(androidx.compose.ui.unit.IntRect other);
+ method public boolean isEmpty();
+ method public boolean overlaps(androidx.compose.ui.unit.IntRect other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect translate(int translateX, int translateY);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect translate--gyyYBs(long offset);
+ property public final int bottom;
+ property public final long bottomCenter;
+ property public final long bottomLeft;
+ property public final long bottomRight;
+ property public final long center;
+ property public final long centerLeft;
+ property public final long centerRight;
+ property public final int height;
+ property public final boolean isEmpty;
+ property public final int left;
+ property public final int maxDimension;
+ property public final int minDimension;
+ property public final int right;
+ property public final long size;
+ property public final int top;
+ property public final long topCenter;
+ property public final long topLeft;
+ property public final long topRight;
+ property public final int width;
+ field public static final androidx.compose.ui.unit.IntRect.Companion Companion;
+ }
+
+ public static final class IntRect.Companion {
+ method public androidx.compose.ui.unit.IntRect getZero();
+ property public final androidx.compose.ui.unit.IntRect Zero;
+ }
+
+ public final class IntRectKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect-TtQJ-B4(long offset, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect-cS3zvqc(long topLeft, long bottomRight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect-iAZ9QSk(long center, int radius);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect lerp(androidx.compose.ui.unit.IntRect start, androidx.compose.ui.unit.IntRect stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class IntSize {
+ ctor public IntSize();
+ method @androidx.compose.runtime.Stable public static inline operator int component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator int component2-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long div-YbymL2g(long $this, int other);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static int getHeight-impl(long $this);
+ method public static int getWidth-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long times-YbymL2g(long $this, int other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.IntSize.Companion Companion;
+ }
+
+ public static final class IntSize.Companion {
+ method public long getZero-YbymL2g();
+ property public final long Zero;
+ }
+
+ public final class IntSizeKt {
+ method @androidx.compose.runtime.Stable public static long IntSize(int width, int height);
+ method public static long getCenter-ozmzZPI(long);
+ method @androidx.compose.runtime.Stable public static operator long times-U1E2UwY(int, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect toIntRect-ozmzZPI(long);
+ method @androidx.compose.runtime.Stable public static long toSize-ozmzZPI(long);
+ }
+
+ public enum LayoutDirection {
+ enum_constant public static final androidx.compose.ui.unit.LayoutDirection Ltr;
+ enum_constant public static final androidx.compose.ui.unit.LayoutDirection Rtl;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TextUnit {
+ ctor public TextUnit();
+ method public static inline operator int compareTo--R2X_6o(long $this, long other);
+ method public static inline operator long div-XSAIIZE(long $this, float other);
+ method public static inline operator long div-XSAIIZE(long $this, double other);
+ method public static inline operator long div-XSAIIZE(long $this, int other);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static long getType-UIouoOA(long $this);
+ method public static float getValue-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static boolean isEm-impl(long $this);
+ method public static boolean isSp-impl(long $this);
+ method public static inline operator long times-XSAIIZE(long $this, float other);
+ method public static inline operator long times-XSAIIZE(long $this, double other);
+ method public static inline operator long times-XSAIIZE(long $this, int other);
+ method public static String toString-impl(long $this);
+ method public static inline operator long unaryMinus-XSAIIZE(long $this);
+ field public static final androidx.compose.ui.unit.TextUnit.Companion Companion;
+ }
+
+ public static final class TextUnit.Companion {
+ method public long getUnspecified-XSAIIZE();
+ property public final long Unspecified;
+ }
+
+ public final class TextUnitKt {
+ method public static long getEm(float);
+ method public static long getEm(double);
+ method public static long getEm(int);
+ method public static long getSp(float);
+ method public static long getSp(double);
+ method public static long getSp(int);
+ method public static inline boolean isSpecified--R2X_6o(long);
+ method public static boolean isUnspecified--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public static long lerp-KeuwX78(long start, long stop, float fraction);
+ method public static inline long takeOrElse-bAewZlA(long, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.TextUnit> block);
+ method @androidx.compose.runtime.Stable public static inline operator long times-0PRCd3Q(double, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long times-Ew26DjI(float, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long times-VJWtCv4(int, long other);
+ }
+
+ public final inline class TextUnitType {
+ ctor public TextUnitType();
+ method public static long constructor-impl(long type);
+ method public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.TextUnitType.Companion Companion;
+ }
+
+ public static final class TextUnitType.Companion {
+ method public long getEm-UIouoOA();
+ method public long getSp-UIouoOA();
+ method public long getUnspecified-UIouoOA();
+ property public final long Em;
+ property public final long Sp;
+ property public final long Unspecified;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Velocity {
+ ctor public Velocity();
+ method @androidx.compose.runtime.Stable public static operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component2-impl(long $this);
+ method public static long copy-9UxMQ8M(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Stable public static operator long div-9UxMQ8M(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-impl(long $this);
+ method public static float getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long minus-TH1AsA0(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long plus-TH1AsA0(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long rem-9UxMQ8M(long $this, float operand);
+ method @androidx.compose.runtime.Stable public static operator long times-9UxMQ8M(long $this, float operand);
+ method public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long unaryMinus-9UxMQ8M(long $this);
+ field public static final androidx.compose.ui.unit.Velocity.Companion Companion;
+ }
+
+ public static final class Velocity.Companion {
+ method public long getZero-9UxMQ8M();
+ property public final long Zero;
+ }
+
+ public final class VelocityKt {
+ method @androidx.compose.runtime.Stable public static long Velocity(float x, float y);
+ }
+
+}
+
diff --git a/compose/ui/ui-unit/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-unit/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..d4e9da6
--- /dev/null
+++ b/compose/ui/ui-unit/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,391 @@
+// Signature format: 4.0
+package androidx.compose.ui.unit {
+
+ public final class AndroidDensity_androidKt {
+ method public static androidx.compose.ui.unit.Density Density(android.content.Context context);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Constraints {
+ ctor public Constraints();
+ method public static long constructor-impl(long value);
+ method public static long copy-msEJaDk(long $this, optional int minWidth, optional int maxWidth, optional int minHeight, optional int maxHeight);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static boolean getHasBoundedHeight-impl(long $this);
+ method public static boolean getHasBoundedWidth-impl(long $this);
+ method public static boolean getHasFixedHeight-impl(long $this);
+ method public static boolean getHasFixedWidth-impl(long $this);
+ method public static int getMaxHeight-impl(long $this);
+ method public static int getMaxWidth-impl(long $this);
+ method public static int getMinHeight-impl(long $this);
+ method public static int getMinWidth-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static boolean isZero-impl(long $this);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.Constraints.Companion Companion;
+ field public static final int Infinity = 2147483647; // 0x7fffffff
+ }
+
+ public static final class Constraints.Companion {
+ method @androidx.compose.runtime.Stable public long fixed-msEJaDk(int width, int height);
+ method @androidx.compose.runtime.Stable public long fixedHeight-msEJaDk(int height);
+ method @androidx.compose.runtime.Stable public long fixedWidth-msEJaDk(int width);
+ }
+
+ public final class ConstraintsKt {
+ method @androidx.compose.runtime.Stable public static long Constraints(optional int minWidth, optional int maxWidth, optional int minHeight, optional int maxHeight);
+ method public static long constrain-WVSBfsc(long, long otherConstraints);
+ method @androidx.compose.runtime.Stable public static long constrain-m9CmiCs(long, long size);
+ method @androidx.compose.runtime.Stable public static int constrainHeight-4A1wEdY(long, int height);
+ method @androidx.compose.runtime.Stable public static int constrainWidth-4A1wEdY(long, int width);
+ method @androidx.compose.runtime.Stable public static boolean isSatisfiedBy-m9CmiCs(long, long size);
+ method @androidx.compose.runtime.Stable public static long offset-dAqVMF8(long, optional int horizontal, optional int vertical);
+ }
+
+ @androidx.compose.runtime.Immutable public interface Density {
+ method public float getDensity();
+ method public float getFontScale();
+ method @androidx.compose.runtime.Stable public default int roundToPx--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public default int roundToPx-0680j_4(float);
+ method @androidx.compose.runtime.Stable public default float toDp--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public default float toDp-D9Ej5fM(int);
+ method @androidx.compose.runtime.Stable public default float toDp-D9Ej5fM(float);
+ method @androidx.compose.runtime.Stable public default float toPx--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public default float toPx-0680j_4(float);
+ method @androidx.compose.runtime.Stable public default androidx.compose.ui.geometry.Rect toRect(androidx.compose.ui.unit.DpRect);
+ method @androidx.compose.runtime.Stable public default long toSp-0680j_4(float);
+ method @androidx.compose.runtime.Stable public default long toSp-XSAIIZE(int);
+ method @androidx.compose.runtime.Stable public default long toSp-XSAIIZE(float);
+ property public abstract float density;
+ property public abstract float fontScale;
+ }
+
+ public final class DensityKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.Density Density(float density, optional float fontScale);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Dp implements java.lang.Comparable<androidx.compose.ui.unit.Dp> {
+ ctor public Dp();
+ method @androidx.compose.runtime.Stable public operator int compareTo-0680j_4(float p);
+ method @androidx.compose.runtime.Stable public static operator int compareTo-0680j_4(float $this, float other);
+ method public static float constructor-impl(float value);
+ method @androidx.compose.runtime.Stable public static inline operator float div-0680j_4(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float div-D9Ej5fM(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float div-D9Ej5fM(float $this, int other);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(float p, Object? p1);
+ method public static boolean equals-impl0(float p1, float p2);
+ method public float getValue();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(float p);
+ method @androidx.compose.runtime.Stable public static inline operator float minus-0680j_4(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float plus-0680j_4(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-D9Ej5fM(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-D9Ej5fM(float $this, int other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(float $this);
+ method @androidx.compose.runtime.Stable public static inline operator float unaryMinus-D9Ej5fM(float $this);
+ property public final float value;
+ field public static final androidx.compose.ui.unit.Dp.Companion Companion;
+ }
+
+ public static final class Dp.Companion {
+ method public float getHairline-D9Ej5fM();
+ method public float getInfinity-D9Ej5fM();
+ method public float getUnspecified-D9Ej5fM();
+ property public final float Hairline;
+ property public final float Infinity;
+ property public final float Unspecified;
+ }
+
+ public final class DpKt {
+ method @androidx.compose.runtime.Stable public static long DpOffset-ioHfwGI(float x, float y);
+ method @androidx.compose.runtime.Stable public static inline float coerceAtLeast-ioHfwGI(float, float minimumValue);
+ method @androidx.compose.runtime.Stable public static inline float coerceAtMost-ioHfwGI(float, float maximumValue);
+ method @androidx.compose.runtime.Stable public static inline float coerceIn-qYQSm_w(float, float minimumValue, float maximumValue);
+ method public static inline float getDp(int);
+ method public static inline float getDp(double);
+ method public static inline float getDp(float);
+ method public static inline float getHeight(androidx.compose.ui.unit.DpRect);
+ method public static inline float getWidth(androidx.compose.ui.unit.DpRect);
+ method public static inline boolean isFinite-0680j_4(float);
+ method public static inline boolean isSpecified-0680j_4(float);
+ method public static inline boolean isUnspecified-0680j_4(float);
+ method @androidx.compose.runtime.Stable public static float lerp-7oHWEOI(float start, float stop, float fraction);
+ method @androidx.compose.runtime.Stable public static long lerp-O0PuQT4(long start, long stop, float fraction);
+ method @androidx.compose.runtime.Stable public static inline float max-ioHfwGI(float a, float b);
+ method @androidx.compose.runtime.Stable public static inline float min-ioHfwGI(float a, float b);
+ method public static inline float takeOrElse-RiydCdY(float, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.Dp> block);
+ method @androidx.compose.runtime.Stable public static inline operator float times-Cp9Wa6o(int, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-NSq4UQk(double, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-NnR5yEA(float, float other);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class DpOffset {
+ ctor public DpOffset();
+ method public static long copy-ioHfwGI(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-D9Ej5fM(long $this);
+ method public static float getY-D9Ej5fM(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static inline operator long minus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long plus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.DpOffset.Companion Companion;
+ }
+
+ public static final class DpOffset.Companion {
+ method public long getZero-RKDOV3M();
+ property public final long Zero;
+ }
+
+ @androidx.compose.runtime.Immutable public final class DpRect {
+ method public float component1-D9Ej5fM();
+ method public float component2-D9Ej5fM();
+ method public float component3-D9Ej5fM();
+ method public float component4-D9Ej5fM();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.unit.DpRect copy-ZmiikuI(float left, float top, float right, float bottom);
+ method public float getBottom-D9Ej5fM();
+ method public float getLeft-D9Ej5fM();
+ method public float getRight-D9Ej5fM();
+ method public float getTop-D9Ej5fM();
+ property public final float bottom;
+ property public final float left;
+ property public final float right;
+ property public final float top;
+ field public static final androidx.compose.ui.unit.DpRect.Companion Companion;
+ }
+
+ public static final class DpRect.Companion {
+ }
+
+ @kotlin.RequiresOptIn(message="This API is experimental and is likely to change in the future.") public @interface ExperimentalUnitApi {
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class IntOffset {
+ ctor public IntOffset();
+ method @androidx.compose.runtime.Stable public static operator int component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator int component2-impl(long $this);
+ method public static long copy-nOcc-ac(long $this, optional int x, optional int y);
+ method @androidx.compose.runtime.Stable public static operator long div-nOcc-ac(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static int getX-impl(long $this);
+ method public static int getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static inline operator long minus--gyyYBs(long $this, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long plus--gyyYBs(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long rem-nOcc-ac(long $this, int operand);
+ method @androidx.compose.runtime.Stable public static operator long times-nOcc-ac(long $this, float operand);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator long unaryMinus-nOcc-ac(long $this);
+ field public static final androidx.compose.ui.unit.IntOffset.Companion Companion;
+ }
+
+ public static final class IntOffset.Companion {
+ method public long getZero-nOcc-ac();
+ property public final long Zero;
+ }
+
+ public final class IntOffsetKt {
+ method @androidx.compose.runtime.Stable public static long IntOffset(int x, int y);
+ method @androidx.compose.runtime.Stable public static long lerp-t0UgTr0(long start, long stop, float fraction);
+ method @androidx.compose.runtime.Stable public static operator long minus-k5bmQ1s(long, long offset);
+ method @androidx.compose.runtime.Stable public static operator long minus-tRj9Ofw(long, long offset);
+ method @androidx.compose.runtime.Stable public static operator long plus-k5bmQ1s(long, long offset);
+ method @androidx.compose.runtime.Stable public static operator long plus-tRj9Ofw(long, long offset);
+ method @androidx.compose.runtime.Stable public static inline long round-k-4lQ0M(long);
+ method @androidx.compose.runtime.Stable public static inline long toOffset--gyyYBs(long);
+ }
+
+ @androidx.compose.runtime.Immutable public final class IntRect {
+ ctor public IntRect(@androidx.compose.runtime.Stable int left, @androidx.compose.runtime.Stable int top, @androidx.compose.runtime.Stable int right, @androidx.compose.runtime.Stable int bottom);
+ method public int component1();
+ method public int component2();
+ method public int component3();
+ method public int component4();
+ method public boolean contains--gyyYBs(long offset);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.unit.IntRect copy(int left, int top, int right, int bottom);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect deflate(int delta);
+ method public int getBottom();
+ method public long getBottomCenter-nOcc-ac();
+ method public long getBottomLeft-nOcc-ac();
+ method public long getBottomRight-nOcc-ac();
+ method public long getCenter-nOcc-ac();
+ method public long getCenterLeft-nOcc-ac();
+ method public long getCenterRight-nOcc-ac();
+ method public int getHeight();
+ method public int getLeft();
+ method public int getMaxDimension();
+ method public int getMinDimension();
+ method public int getRight();
+ method public long getSize-YbymL2g();
+ method public int getTop();
+ method public long getTopCenter-nOcc-ac();
+ method public long getTopLeft-nOcc-ac();
+ method public long getTopRight-nOcc-ac();
+ method public int getWidth();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect inflate(int delta);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect intersect(androidx.compose.ui.unit.IntRect other);
+ method public boolean isEmpty();
+ method public boolean overlaps(androidx.compose.ui.unit.IntRect other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect translate(int translateX, int translateY);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect translate--gyyYBs(long offset);
+ property public final int bottom;
+ property public final long bottomCenter;
+ property public final long bottomLeft;
+ property public final long bottomRight;
+ property public final long center;
+ property public final long centerLeft;
+ property public final long centerRight;
+ property public final int height;
+ property public final boolean isEmpty;
+ property public final int left;
+ property public final int maxDimension;
+ property public final int minDimension;
+ property public final int right;
+ property public final long size;
+ property public final int top;
+ property public final long topCenter;
+ property public final long topLeft;
+ property public final long topRight;
+ property public final int width;
+ field public static final androidx.compose.ui.unit.IntRect.Companion Companion;
+ }
+
+ public static final class IntRect.Companion {
+ method public androidx.compose.ui.unit.IntRect getZero();
+ property public final androidx.compose.ui.unit.IntRect Zero;
+ }
+
+ public final class IntRectKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect-TtQJ-B4(long offset, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect-cS3zvqc(long topLeft, long bottomRight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect-iAZ9QSk(long center, int radius);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect lerp(androidx.compose.ui.unit.IntRect start, androidx.compose.ui.unit.IntRect stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class IntSize {
+ ctor public IntSize();
+ method @androidx.compose.runtime.Stable public static inline operator int component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator int component2-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long div-YbymL2g(long $this, int other);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static int getHeight-impl(long $this);
+ method public static int getWidth-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long times-YbymL2g(long $this, int other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.IntSize.Companion Companion;
+ }
+
+ public static final class IntSize.Companion {
+ method public long getZero-YbymL2g();
+ property public final long Zero;
+ }
+
+ public final class IntSizeKt {
+ method @androidx.compose.runtime.Stable public static long IntSize(int width, int height);
+ method public static long getCenter-ozmzZPI(long);
+ method @androidx.compose.runtime.Stable public static operator long times-U1E2UwY(int, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect toIntRect-ozmzZPI(long);
+ method @androidx.compose.runtime.Stable public static long toSize-ozmzZPI(long);
+ }
+
+ public enum LayoutDirection {
+ enum_constant public static final androidx.compose.ui.unit.LayoutDirection Ltr;
+ enum_constant public static final androidx.compose.ui.unit.LayoutDirection Rtl;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TextUnit {
+ ctor public TextUnit();
+ method public static inline operator int compareTo--R2X_6o(long $this, long other);
+ method public static inline operator long div-XSAIIZE(long $this, float other);
+ method public static inline operator long div-XSAIIZE(long $this, double other);
+ method public static inline operator long div-XSAIIZE(long $this, int other);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static long getType-UIouoOA(long $this);
+ method public static float getValue-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static boolean isEm-impl(long $this);
+ method public static boolean isSp-impl(long $this);
+ method public static inline operator long times-XSAIIZE(long $this, float other);
+ method public static inline operator long times-XSAIIZE(long $this, double other);
+ method public static inline operator long times-XSAIIZE(long $this, int other);
+ method public static String toString-impl(long $this);
+ method public static inline operator long unaryMinus-XSAIIZE(long $this);
+ field public static final androidx.compose.ui.unit.TextUnit.Companion Companion;
+ }
+
+ public static final class TextUnit.Companion {
+ method public long getUnspecified-XSAIIZE();
+ property public final long Unspecified;
+ }
+
+ public final class TextUnitKt {
+ method @androidx.compose.ui.unit.ExperimentalUnitApi public static long TextUnit-MmGF8f8(float value, long type);
+ method public static long getEm(float);
+ method public static long getEm(double);
+ method public static long getEm(int);
+ method public static long getSp(float);
+ method public static long getSp(double);
+ method public static long getSp(int);
+ method public static inline boolean isSpecified--R2X_6o(long);
+ method public static boolean isUnspecified--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public static long lerp-KeuwX78(long start, long stop, float fraction);
+ method public static inline long takeOrElse-bAewZlA(long, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.TextUnit> block);
+ method @androidx.compose.runtime.Stable public static inline operator long times-0PRCd3Q(double, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long times-Ew26DjI(float, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long times-VJWtCv4(int, long other);
+ }
+
+ public final inline class TextUnitType {
+ ctor public TextUnitType();
+ method public static long constructor-impl(long type);
+ method public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.TextUnitType.Companion Companion;
+ }
+
+ public static final class TextUnitType.Companion {
+ method public long getEm-UIouoOA();
+ method public long getSp-UIouoOA();
+ method public long getUnspecified-UIouoOA();
+ property public final long Em;
+ property public final long Sp;
+ property public final long Unspecified;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Velocity {
+ ctor public Velocity();
+ method @androidx.compose.runtime.Stable public static operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component2-impl(long $this);
+ method public static long copy-9UxMQ8M(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Stable public static operator long div-9UxMQ8M(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-impl(long $this);
+ method public static float getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long minus-TH1AsA0(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long plus-TH1AsA0(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long rem-9UxMQ8M(long $this, float operand);
+ method @androidx.compose.runtime.Stable public static operator long times-9UxMQ8M(long $this, float operand);
+ method public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long unaryMinus-9UxMQ8M(long $this);
+ field public static final androidx.compose.ui.unit.Velocity.Companion Companion;
+ }
+
+ public static final class Velocity.Companion {
+ method public long getZero-9UxMQ8M();
+ property public final long Zero;
+ }
+
+ public final class VelocityKt {
+ method @androidx.compose.runtime.Stable public static long Velocity(float x, float y);
+ }
+
+}
+
diff --git a/compose/ui/ui-unit/api/res-1.0.0-beta10.txt b/compose/ui/ui-unit/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-unit/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-unit/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-unit/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..eefd9be
--- /dev/null
+++ b/compose/ui/ui-unit/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,391 @@
+// Signature format: 4.0
+package androidx.compose.ui.unit {
+
+ public final class AndroidDensity_androidKt {
+ method public static androidx.compose.ui.unit.Density Density(android.content.Context context);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Constraints {
+ ctor public Constraints();
+ method public static long constructor-impl(long value);
+ method public static long copy-msEJaDk(long $this, optional int minWidth, optional int maxWidth, optional int minHeight, optional int maxHeight);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static boolean getHasBoundedHeight-impl(long $this);
+ method public static boolean getHasBoundedWidth-impl(long $this);
+ method public static boolean getHasFixedHeight-impl(long $this);
+ method public static boolean getHasFixedWidth-impl(long $this);
+ method public static int getMaxHeight-impl(long $this);
+ method public static int getMaxWidth-impl(long $this);
+ method public static int getMinHeight-impl(long $this);
+ method public static int getMinWidth-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static boolean isZero-impl(long $this);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.Constraints.Companion Companion;
+ field public static final int Infinity = 2147483647; // 0x7fffffff
+ }
+
+ public static final class Constraints.Companion {
+ method @androidx.compose.runtime.Stable public long fixed-msEJaDk(int width, int height);
+ method @androidx.compose.runtime.Stable public long fixedHeight-msEJaDk(int height);
+ method @androidx.compose.runtime.Stable public long fixedWidth-msEJaDk(int width);
+ }
+
+ public final class ConstraintsKt {
+ method @androidx.compose.runtime.Stable public static long Constraints(optional int minWidth, optional int maxWidth, optional int minHeight, optional int maxHeight);
+ method public static long constrain-WVSBfsc(long, long otherConstraints);
+ method @androidx.compose.runtime.Stable public static long constrain-m9CmiCs(long, long size);
+ method @androidx.compose.runtime.Stable public static int constrainHeight-4A1wEdY(long, int height);
+ method @androidx.compose.runtime.Stable public static int constrainWidth-4A1wEdY(long, int width);
+ method @androidx.compose.runtime.Stable public static boolean isSatisfiedBy-m9CmiCs(long, long size);
+ method @androidx.compose.runtime.Stable public static long offset-dAqVMF8(long, optional int horizontal, optional int vertical);
+ }
+
+ @androidx.compose.runtime.Immutable public interface Density {
+ method public float getDensity();
+ method public float getFontScale();
+ method @androidx.compose.runtime.Stable public default int roundToPx--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public default int roundToPx-0680j_4(float);
+ method @androidx.compose.runtime.Stable public default float toDp--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public default float toDp-D9Ej5fM(int);
+ method @androidx.compose.runtime.Stable public default float toDp-D9Ej5fM(float);
+ method @androidx.compose.runtime.Stable public default float toPx--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public default float toPx-0680j_4(float);
+ method @androidx.compose.runtime.Stable public default androidx.compose.ui.geometry.Rect toRect(androidx.compose.ui.unit.DpRect);
+ method @androidx.compose.runtime.Stable public default long toSp-0680j_4(float);
+ method @androidx.compose.runtime.Stable public default long toSp-XSAIIZE(int);
+ method @androidx.compose.runtime.Stable public default long toSp-XSAIIZE(float);
+ property public abstract float density;
+ property public abstract float fontScale;
+ }
+
+ public final class DensityKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.Density Density(float density, optional float fontScale);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Dp implements java.lang.Comparable<androidx.compose.ui.unit.Dp> {
+ ctor public Dp();
+ method @androidx.compose.runtime.Stable public operator int compareTo-0680j_4(float p);
+ method @androidx.compose.runtime.Stable public static operator int compareTo-0680j_4(float $this, float other);
+ method public static float constructor-impl(float value);
+ method @androidx.compose.runtime.Stable public static inline operator float div-0680j_4(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float div-D9Ej5fM(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float div-D9Ej5fM(float $this, int other);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(float p, Object? p1);
+ method public static boolean equals-impl0(float p1, float p2);
+ method public float getValue();
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(float p);
+ method @androidx.compose.runtime.Stable public static inline operator float minus-0680j_4(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float plus-0680j_4(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-D9Ej5fM(float $this, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-D9Ej5fM(float $this, int other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(float $this);
+ method @androidx.compose.runtime.Stable public static inline operator float unaryMinus-D9Ej5fM(float $this);
+ property public final float value;
+ field public static final androidx.compose.ui.unit.Dp.Companion Companion;
+ }
+
+ public static final class Dp.Companion {
+ method public float getHairline-D9Ej5fM();
+ method public float getInfinity-D9Ej5fM();
+ method public float getUnspecified-D9Ej5fM();
+ property public final float Hairline;
+ property public final float Infinity;
+ property public final float Unspecified;
+ }
+
+ public final class DpKt {
+ method @androidx.compose.runtime.Stable public static long DpOffset-ioHfwGI(float x, float y);
+ method @androidx.compose.runtime.Stable public static inline float coerceAtLeast-ioHfwGI(float, float minimumValue);
+ method @androidx.compose.runtime.Stable public static inline float coerceAtMost-ioHfwGI(float, float maximumValue);
+ method @androidx.compose.runtime.Stable public static inline float coerceIn-qYQSm_w(float, float minimumValue, float maximumValue);
+ method public static inline float getDp(int);
+ method public static inline float getDp(double);
+ method public static inline float getDp(float);
+ method public static inline float getHeight(androidx.compose.ui.unit.DpRect);
+ method public static inline float getWidth(androidx.compose.ui.unit.DpRect);
+ method public static inline boolean isFinite-0680j_4(float);
+ method public static inline boolean isSpecified-0680j_4(float);
+ method public static inline boolean isUnspecified-0680j_4(float);
+ method @androidx.compose.runtime.Stable public static float lerp-7oHWEOI(float start, float stop, float fraction);
+ method @androidx.compose.runtime.Stable public static long lerp-O0PuQT4(long start, long stop, float fraction);
+ method @androidx.compose.runtime.Stable public static inline float max-ioHfwGI(float a, float b);
+ method @androidx.compose.runtime.Stable public static inline float min-ioHfwGI(float a, float b);
+ method public static inline float takeOrElse-RiydCdY(float, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.Dp> block);
+ method @androidx.compose.runtime.Stable public static inline operator float times-Cp9Wa6o(int, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-NSq4UQk(double, float other);
+ method @androidx.compose.runtime.Stable public static inline operator float times-NnR5yEA(float, float other);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class DpOffset {
+ ctor public DpOffset();
+ method public static long copy-ioHfwGI(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-D9Ej5fM(long $this);
+ method public static float getY-D9Ej5fM(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static inline operator long minus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long plus-jo-Fl9I(long $this, long other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.DpOffset.Companion Companion;
+ }
+
+ public static final class DpOffset.Companion {
+ method public long getZero-RKDOV3M();
+ property public final long Zero;
+ }
+
+ @androidx.compose.runtime.Immutable public final class DpRect {
+ method public float component1-D9Ej5fM();
+ method public float component2-D9Ej5fM();
+ method public float component3-D9Ej5fM();
+ method public float component4-D9Ej5fM();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.unit.DpRect copy-ZmiikuI(float left, float top, float right, float bottom);
+ method public float getBottom-D9Ej5fM();
+ method public float getLeft-D9Ej5fM();
+ method public float getRight-D9Ej5fM();
+ method public float getTop-D9Ej5fM();
+ property public final float bottom;
+ property public final float left;
+ property public final float right;
+ property public final float top;
+ field public static final androidx.compose.ui.unit.DpRect.Companion Companion;
+ }
+
+ public static final class DpRect.Companion {
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class IntOffset {
+ ctor public IntOffset();
+ method @androidx.compose.runtime.Stable public static operator int component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator int component2-impl(long $this);
+ method public static long copy-nOcc-ac(long $this, optional int x, optional int y);
+ method @androidx.compose.runtime.Stable public static operator long div-nOcc-ac(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static int getX-impl(long $this);
+ method public static int getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static inline operator long minus--gyyYBs(long $this, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long plus--gyyYBs(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long rem-nOcc-ac(long $this, int operand);
+ method @androidx.compose.runtime.Stable public static operator long times-nOcc-ac(long $this, float operand);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator long unaryMinus-nOcc-ac(long $this);
+ field public static final androidx.compose.ui.unit.IntOffset.Companion Companion;
+ }
+
+ public static final class IntOffset.Companion {
+ method public long getZero-nOcc-ac();
+ property public final long Zero;
+ }
+
+ public final class IntOffsetKt {
+ method @androidx.compose.runtime.Stable public static long IntOffset(int x, int y);
+ method @androidx.compose.runtime.Stable public static long lerp-t0UgTr0(long start, long stop, float fraction);
+ method @androidx.compose.runtime.Stable public static operator long minus-k5bmQ1s(long, long offset);
+ method @androidx.compose.runtime.Stable public static operator long minus-tRj9Ofw(long, long offset);
+ method @androidx.compose.runtime.Stable public static operator long plus-k5bmQ1s(long, long offset);
+ method @androidx.compose.runtime.Stable public static operator long plus-tRj9Ofw(long, long offset);
+ method @androidx.compose.runtime.Stable public static inline long round-k-4lQ0M(long);
+ method @androidx.compose.runtime.Stable public static inline long toOffset--gyyYBs(long);
+ }
+
+ @androidx.compose.runtime.Immutable public final class IntRect {
+ ctor public IntRect(@androidx.compose.runtime.Stable int left, @androidx.compose.runtime.Stable int top, @androidx.compose.runtime.Stable int right, @androidx.compose.runtime.Stable int bottom);
+ method public int component1();
+ method public int component2();
+ method public int component3();
+ method public int component4();
+ method public boolean contains--gyyYBs(long offset);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.unit.IntRect copy(int left, int top, int right, int bottom);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect deflate(int delta);
+ method public int getBottom();
+ method public long getBottomCenter-nOcc-ac();
+ method public long getBottomLeft-nOcc-ac();
+ method public long getBottomRight-nOcc-ac();
+ method public long getCenter-nOcc-ac();
+ method public long getCenterLeft-nOcc-ac();
+ method public long getCenterRight-nOcc-ac();
+ method public int getHeight();
+ method public int getLeft();
+ method public int getMaxDimension();
+ method public int getMinDimension();
+ method public int getRight();
+ method public long getSize-YbymL2g();
+ method public int getTop();
+ method public long getTopCenter-nOcc-ac();
+ method public long getTopLeft-nOcc-ac();
+ method public long getTopRight-nOcc-ac();
+ method public int getWidth();
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect inflate(int delta);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect intersect(androidx.compose.ui.unit.IntRect other);
+ method public boolean isEmpty();
+ method public boolean overlaps(androidx.compose.ui.unit.IntRect other);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect translate(int translateX, int translateY);
+ method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect translate--gyyYBs(long offset);
+ property public final int bottom;
+ property public final long bottomCenter;
+ property public final long bottomLeft;
+ property public final long bottomRight;
+ property public final long center;
+ property public final long centerLeft;
+ property public final long centerRight;
+ property public final int height;
+ property public final boolean isEmpty;
+ property public final int left;
+ property public final int maxDimension;
+ property public final int minDimension;
+ property public final int right;
+ property public final long size;
+ property public final int top;
+ property public final long topCenter;
+ property public final long topLeft;
+ property public final long topRight;
+ property public final int width;
+ field public static final androidx.compose.ui.unit.IntRect.Companion Companion;
+ }
+
+ public static final class IntRect.Companion {
+ method public androidx.compose.ui.unit.IntRect getZero();
+ property public final androidx.compose.ui.unit.IntRect Zero;
+ }
+
+ public final class IntRectKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect-TtQJ-B4(long offset, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect-cS3zvqc(long topLeft, long bottomRight);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect-iAZ9QSk(long center, int radius);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect lerp(androidx.compose.ui.unit.IntRect start, androidx.compose.ui.unit.IntRect stop, float fraction);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class IntSize {
+ ctor public IntSize();
+ method @androidx.compose.runtime.Stable public static inline operator int component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator int component2-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long div-YbymL2g(long $this, int other);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static int getHeight-impl(long $this);
+ method public static int getWidth-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long times-YbymL2g(long $this, int other);
+ method @androidx.compose.runtime.Stable public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.IntSize.Companion Companion;
+ }
+
+ public static final class IntSize.Companion {
+ method public long getZero-YbymL2g();
+ property public final long Zero;
+ }
+
+ public final class IntSizeKt {
+ method @androidx.compose.runtime.Stable public static long IntSize(int width, int height);
+ method public static long getCenter-ozmzZPI(long);
+ method @androidx.compose.runtime.Stable public static operator long times-U1E2UwY(int, long size);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect toIntRect-ozmzZPI(long);
+ method @androidx.compose.runtime.Stable public static long toSize-ozmzZPI(long);
+ }
+
+ public enum LayoutDirection {
+ enum_constant public static final androidx.compose.ui.unit.LayoutDirection Ltr;
+ enum_constant public static final androidx.compose.ui.unit.LayoutDirection Rtl;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TextUnit {
+ ctor public TextUnit();
+ method public static inline operator int compareTo--R2X_6o(long $this, long other);
+ method public static inline operator long div-XSAIIZE(long $this, float other);
+ method public static inline operator long div-XSAIIZE(long $this, double other);
+ method public static inline operator long div-XSAIIZE(long $this, int other);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static long getType-UIouoOA(long $this);
+ method public static float getValue-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method public static boolean isEm-impl(long $this);
+ method public static boolean isSp-impl(long $this);
+ method public static inline operator long times-XSAIIZE(long $this, float other);
+ method public static inline operator long times-XSAIIZE(long $this, double other);
+ method public static inline operator long times-XSAIIZE(long $this, int other);
+ method public static String toString-impl(long $this);
+ method public static inline operator long unaryMinus-XSAIIZE(long $this);
+ field public static final androidx.compose.ui.unit.TextUnit.Companion Companion;
+ }
+
+ public static final class TextUnit.Companion {
+ method public long getUnspecified-XSAIIZE();
+ property public final long Unspecified;
+ }
+
+ public final class TextUnitKt {
+ method @kotlin.PublishedApi internal static void checkArithmetic--R2X_6o(long a);
+ method @kotlin.PublishedApi internal static void checkArithmetic-8E83U4Q(long a, long b);
+ method @kotlin.PublishedApi internal static void checkArithmetic-HxQ2Pkc(long a, long b, long c);
+ method public static long getEm(float);
+ method public static long getEm(double);
+ method public static long getEm(int);
+ method public static long getSp(float);
+ method public static long getSp(double);
+ method public static long getSp(int);
+ method public static inline boolean isSpecified--R2X_6o(long);
+ method public static boolean isUnspecified--R2X_6o(long);
+ method @androidx.compose.runtime.Stable public static long lerp-KeuwX78(long start, long stop, float fraction);
+ method @kotlin.PublishedApi internal static long pack(long unitType, float v);
+ method public static inline long takeOrElse-bAewZlA(long, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.TextUnit> block);
+ method @androidx.compose.runtime.Stable public static inline operator long times-0PRCd3Q(double, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long times-Ew26DjI(float, long other);
+ method @androidx.compose.runtime.Stable public static inline operator long times-VJWtCv4(int, long other);
+ }
+
+ public final inline class TextUnitType {
+ ctor public TextUnitType();
+ method public static long constructor-impl(long type);
+ method public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.unit.TextUnitType.Companion Companion;
+ }
+
+ public static final class TextUnitType.Companion {
+ method public long getEm-UIouoOA();
+ method public long getSp-UIouoOA();
+ method public long getUnspecified-UIouoOA();
+ property public final long Em;
+ property public final long Sp;
+ property public final long Unspecified;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Velocity {
+ ctor public Velocity();
+ method @androidx.compose.runtime.Stable public static operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator float component2-impl(long $this);
+ method public static long copy-9UxMQ8M(long $this, optional float x, optional float y);
+ method @androidx.compose.runtime.Stable public static operator long div-9UxMQ8M(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getX-impl(long $this);
+ method public static float getY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long minus-TH1AsA0(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long plus-TH1AsA0(long $this, long other);
+ method @androidx.compose.runtime.Stable public static operator long rem-9UxMQ8M(long $this, float operand);
+ method @androidx.compose.runtime.Stable public static operator long times-9UxMQ8M(long $this, float operand);
+ method public static String toString-impl(long $this);
+ method @androidx.compose.runtime.Stable public static operator long unaryMinus-9UxMQ8M(long $this);
+ field public static final androidx.compose.ui.unit.Velocity.Companion Companion;
+ }
+
+ public static final class Velocity.Companion {
+ method public long getZero-9UxMQ8M();
+ property public final long Zero;
+ }
+
+ public final class VelocityKt {
+ method @androidx.compose.runtime.Stable public static long Velocity(float x, float y);
+ }
+
+}
+
diff --git a/compose/ui/ui-util/api/1.0.0-beta10.txt b/compose/ui/ui-util/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..b71072e
--- /dev/null
+++ b/compose/ui/ui-util/api/1.0.0-beta10.txt
@@ -0,0 +1,36 @@
+// Signature format: 4.0
+package androidx.compose.ui.util {
+
+ public final class AndroidTrace_androidKt {
+ method public static inline <T> T! trace(String sectionName, kotlin.jvm.functions.Function0<? extends T> block);
+ }
+
+ public final class InlineClassHelperKt {
+ method public static inline long packFloats(float val1, float val2);
+ method public static inline long packInts(int val1, int val2);
+ method public static inline float unpackFloat1(long value);
+ method public static inline float unpackFloat2(long value);
+ method public static inline int unpackInt1(long value);
+ method public static inline int unpackInt2(long value);
+ }
+
+ public final class ListUtilsKt {
+ method public static inline <T> boolean fastAll(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public static inline <T> boolean fastAny(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public static inline <T> T? fastFirstOrNull(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public static inline <T> void fastForEach(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> action);
+ method public static inline <T> void fastForEachIndexed(java.util.List<? extends T>, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> action);
+ method public static inline <T, R> java.util.List<R> fastMap(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public static inline <T, R, C extends java.util.Collection<? super R>> C fastMapTo(java.util.List<? extends T>, C destination, kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public static inline <T, R extends java.lang.Comparable<? super R>> T? fastMaxBy(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,? extends R> selector);
+ method public static inline <T> int fastSumBy(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Integer> selector);
+ }
+
+ public final class MathHelpersKt {
+ method public static float lerp(float start, float stop, float fraction);
+ method public static int lerp(int start, int stop, float fraction);
+ method public static long lerp(long start, long stop, float fraction);
+ }
+
+}
+
diff --git a/compose/ui/ui-util/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-util/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..b71072e
--- /dev/null
+++ b/compose/ui/ui-util/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,36 @@
+// Signature format: 4.0
+package androidx.compose.ui.util {
+
+ public final class AndroidTrace_androidKt {
+ method public static inline <T> T! trace(String sectionName, kotlin.jvm.functions.Function0<? extends T> block);
+ }
+
+ public final class InlineClassHelperKt {
+ method public static inline long packFloats(float val1, float val2);
+ method public static inline long packInts(int val1, int val2);
+ method public static inline float unpackFloat1(long value);
+ method public static inline float unpackFloat2(long value);
+ method public static inline int unpackInt1(long value);
+ method public static inline int unpackInt2(long value);
+ }
+
+ public final class ListUtilsKt {
+ method public static inline <T> boolean fastAll(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public static inline <T> boolean fastAny(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public static inline <T> T? fastFirstOrNull(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public static inline <T> void fastForEach(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> action);
+ method public static inline <T> void fastForEachIndexed(java.util.List<? extends T>, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> action);
+ method public static inline <T, R> java.util.List<R> fastMap(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public static inline <T, R, C extends java.util.Collection<? super R>> C fastMapTo(java.util.List<? extends T>, C destination, kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public static inline <T, R extends java.lang.Comparable<? super R>> T? fastMaxBy(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,? extends R> selector);
+ method public static inline <T> int fastSumBy(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Integer> selector);
+ }
+
+ public final class MathHelpersKt {
+ method public static float lerp(float start, float stop, float fraction);
+ method public static int lerp(int start, int stop, float fraction);
+ method public static long lerp(long start, long stop, float fraction);
+ }
+
+}
+
diff --git a/compose/ui/ui-util/api/res-1.0.0-beta10.txt b/compose/ui/ui-util/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-util/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-util/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-util/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..b71072e
--- /dev/null
+++ b/compose/ui/ui-util/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,36 @@
+// Signature format: 4.0
+package androidx.compose.ui.util {
+
+ public final class AndroidTrace_androidKt {
+ method public static inline <T> T! trace(String sectionName, kotlin.jvm.functions.Function0<? extends T> block);
+ }
+
+ public final class InlineClassHelperKt {
+ method public static inline long packFloats(float val1, float val2);
+ method public static inline long packInts(int val1, int val2);
+ method public static inline float unpackFloat1(long value);
+ method public static inline float unpackFloat2(long value);
+ method public static inline int unpackInt1(long value);
+ method public static inline int unpackInt2(long value);
+ }
+
+ public final class ListUtilsKt {
+ method public static inline <T> boolean fastAll(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public static inline <T> boolean fastAny(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public static inline <T> T? fastFirstOrNull(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
+ method public static inline <T> void fastForEach(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> action);
+ method public static inline <T> void fastForEachIndexed(java.util.List<? extends T>, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> action);
+ method public static inline <T, R> java.util.List<R> fastMap(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public static inline <T, R, C extends java.util.Collection<? super R>> C fastMapTo(java.util.List<? extends T>, C destination, kotlin.jvm.functions.Function1<? super T,? extends R> transform);
+ method public static inline <T, R extends java.lang.Comparable<? super R>> T? fastMaxBy(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,? extends R> selector);
+ method public static inline <T> int fastSumBy(java.util.List<? extends T>, kotlin.jvm.functions.Function1<? super T,java.lang.Integer> selector);
+ }
+
+ public final class MathHelpersKt {
+ method public static float lerp(float start, float stop, float fraction);
+ method public static int lerp(int start, int stop, float fraction);
+ method public static long lerp(long start, long stop, float fraction);
+ }
+
+}
+
diff --git a/compose/ui/ui-viewbinding/api/1.0.0-beta10.txt b/compose/ui/ui-viewbinding/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..07ba909
--- /dev/null
+++ b/compose/ui/ui-viewbinding/api/1.0.0-beta10.txt
@@ -0,0 +1,9 @@
+// Signature format: 4.0
+package androidx.compose.ui.viewinterop {
+
+ public final class AndroidViewBindingKt {
+ method @androidx.compose.runtime.Composable public static <T extends androidx.viewbinding.ViewBinding> void AndroidViewBinding(kotlin.jvm.functions.Function3<? super android.view.LayoutInflater,? super android.view.ViewGroup,? super java.lang.Boolean,? extends T> factory, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit> update);
+ }
+
+}
+
diff --git a/compose/ui/ui-viewbinding/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui-viewbinding/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..07ba909
--- /dev/null
+++ b/compose/ui/ui-viewbinding/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,9 @@
+// Signature format: 4.0
+package androidx.compose.ui.viewinterop {
+
+ public final class AndroidViewBindingKt {
+ method @androidx.compose.runtime.Composable public static <T extends androidx.viewbinding.ViewBinding> void AndroidViewBinding(kotlin.jvm.functions.Function3<? super android.view.LayoutInflater,? super android.view.ViewGroup,? super java.lang.Boolean,? extends T> factory, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit> update);
+ }
+
+}
+
diff --git a/compose/ui/ui-viewbinding/api/res-1.0.0-beta10.txt b/compose/ui/ui-viewbinding/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui-viewbinding/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui-viewbinding/api/restricted_1.0.0-beta10.txt b/compose/ui/ui-viewbinding/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..07ba909
--- /dev/null
+++ b/compose/ui/ui-viewbinding/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,9 @@
+// Signature format: 4.0
+package androidx.compose.ui.viewinterop {
+
+ public final class AndroidViewBindingKt {
+ method @androidx.compose.runtime.Composable public static <T extends androidx.viewbinding.ViewBinding> void AndroidViewBinding(kotlin.jvm.functions.Function3<? super android.view.LayoutInflater,? super android.view.ViewGroup,? super java.lang.Boolean,? extends T> factory, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit> update);
+ }
+
+}
+
diff --git a/compose/ui/ui/api/1.0.0-beta10.txt b/compose/ui/ui/api/1.0.0-beta10.txt
new file mode 100644
index 0000000..f0cf560
--- /dev/null
+++ b/compose/ui/ui/api/1.0.0-beta10.txt
@@ -0,0 +1,2641 @@
+// Signature format: 4.0
+package androidx.compose.ui {
+
+ public final class AbsoluteAlignment {
+ method public androidx.compose.ui.Alignment getBottomLeft();
+ method public androidx.compose.ui.Alignment getBottomRight();
+ method public androidx.compose.ui.Alignment getCenterLeft();
+ method public androidx.compose.ui.Alignment getCenterRight();
+ method public androidx.compose.ui.Alignment.Horizontal getLeft();
+ method public androidx.compose.ui.Alignment.Horizontal getRight();
+ method public androidx.compose.ui.Alignment getTopLeft();
+ method public androidx.compose.ui.Alignment getTopRight();
+ property public final androidx.compose.ui.Alignment BottomLeft;
+ property public final androidx.compose.ui.Alignment BottomRight;
+ property public final androidx.compose.ui.Alignment CenterLeft;
+ property public final androidx.compose.ui.Alignment CenterRight;
+ property public final androidx.compose.ui.Alignment.Horizontal Left;
+ property public final androidx.compose.ui.Alignment.Horizontal Right;
+ property public final androidx.compose.ui.Alignment TopLeft;
+ property public final androidx.compose.ui.Alignment TopRight;
+ field public static final androidx.compose.ui.AbsoluteAlignment INSTANCE;
+ }
+
+ @androidx.compose.runtime.Stable public fun interface Alignment {
+ method public long align-oYSo38o(long size, long space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ field public static final androidx.compose.ui.Alignment.Companion Companion;
+ }
+
+ public static final class Alignment.Companion {
+ method public androidx.compose.ui.Alignment.Vertical getBottom();
+ method public androidx.compose.ui.Alignment getBottomCenter();
+ method public androidx.compose.ui.Alignment getBottomEnd();
+ method public androidx.compose.ui.Alignment getBottomStart();
+ method public androidx.compose.ui.Alignment getCenter();
+ method public androidx.compose.ui.Alignment getCenterEnd();
+ method public androidx.compose.ui.Alignment.Horizontal getCenterHorizontally();
+ method public androidx.compose.ui.Alignment getCenterStart();
+ method public androidx.compose.ui.Alignment.Vertical getCenterVertically();
+ method public androidx.compose.ui.Alignment.Horizontal getEnd();
+ method public androidx.compose.ui.Alignment.Horizontal getStart();
+ method public androidx.compose.ui.Alignment.Vertical getTop();
+ method public androidx.compose.ui.Alignment getTopCenter();
+ method public androidx.compose.ui.Alignment getTopEnd();
+ method public androidx.compose.ui.Alignment getTopStart();
+ property public final androidx.compose.ui.Alignment.Vertical Bottom;
+ property public final androidx.compose.ui.Alignment BottomCenter;
+ property public final androidx.compose.ui.Alignment BottomEnd;
+ property public final androidx.compose.ui.Alignment BottomStart;
+ property public final androidx.compose.ui.Alignment Center;
+ property public final androidx.compose.ui.Alignment CenterEnd;
+ property public final androidx.compose.ui.Alignment.Horizontal CenterHorizontally;
+ property public final androidx.compose.ui.Alignment CenterStart;
+ property public final androidx.compose.ui.Alignment.Vertical CenterVertically;
+ property public final androidx.compose.ui.Alignment.Horizontal End;
+ property public final androidx.compose.ui.Alignment.Horizontal Start;
+ property public final androidx.compose.ui.Alignment.Vertical Top;
+ property public final androidx.compose.ui.Alignment TopCenter;
+ property public final androidx.compose.ui.Alignment TopEnd;
+ property public final androidx.compose.ui.Alignment TopStart;
+ }
+
+ @androidx.compose.runtime.Stable public static fun interface Alignment.Horizontal {
+ method public int align(int size, int space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ @androidx.compose.runtime.Stable public static fun interface Alignment.Vertical {
+ method public int align(int size, int space);
+ }
+
+ @androidx.compose.runtime.Immutable public final class BiasAbsoluteAlignment implements androidx.compose.ui.Alignment {
+ ctor public BiasAbsoluteAlignment(float horizontalBias, float verticalBias);
+ method public long align-oYSo38o(long size, long space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAbsoluteAlignment copy(float horizontalBias, float verticalBias);
+ }
+
+ @androidx.compose.runtime.Immutable public static final class BiasAbsoluteAlignment.Horizontal implements androidx.compose.ui.Alignment.Horizontal {
+ ctor public BiasAbsoluteAlignment.Horizontal(float bias);
+ method public int align(int size, int space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAbsoluteAlignment.Horizontal copy(float bias);
+ }
+
+ @androidx.compose.runtime.Immutable public final class BiasAlignment implements androidx.compose.ui.Alignment {
+ ctor public BiasAlignment(float horizontalBias, float verticalBias);
+ method public long align-oYSo38o(long size, long space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAlignment copy(float horizontalBias, float verticalBias);
+ method public float getHorizontalBias();
+ method public float getVerticalBias();
+ property public final float horizontalBias;
+ property public final float verticalBias;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class BiasAlignment.Horizontal implements androidx.compose.ui.Alignment.Horizontal {
+ ctor public BiasAlignment.Horizontal(float bias);
+ method public int align(int size, int space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAlignment.Horizontal copy(float bias);
+ }
+
+ @androidx.compose.runtime.Immutable public static final class BiasAlignment.Vertical implements androidx.compose.ui.Alignment.Vertical {
+ ctor public BiasAlignment.Vertical(float bias);
+ method public int align(int size, int space);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAlignment.Vertical copy(float bias);
+ }
+
+ public final class CombinedModifier implements androidx.compose.ui.Modifier {
+ ctor public CombinedModifier(androidx.compose.ui.Modifier outer, androidx.compose.ui.Modifier inner);
+ method public boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ }
+
+ public final class ComposedModifierKt {
+ method public static androidx.compose.ui.Modifier composed(androidx.compose.ui.Modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> inspectorInfo, kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier,? extends androidx.compose.ui.Modifier> factory);
+ method public static androidx.compose.ui.Modifier materialize(androidx.compose.runtime.Composer, androidx.compose.ui.Modifier modifier);
+ }
+
+ @androidx.compose.runtime.Stable public interface Modifier {
+ method public boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ method public default infix androidx.compose.ui.Modifier then(androidx.compose.ui.Modifier other);
+ field public static final androidx.compose.ui.Modifier.Companion Companion;
+ }
+
+ public static final class Modifier.Companion implements androidx.compose.ui.Modifier {
+ method public boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ }
+
+ public static interface Modifier.Element extends androidx.compose.ui.Modifier {
+ method public default boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public default boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public default <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+ public final class ZIndexModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier zIndex(androidx.compose.ui.Modifier, float zIndex);
+ }
+
+}
+
+package androidx.compose.ui.autofill {
+
+ public final class AndroidAutofillType_androidKt {
+ }
+
+ public final class AndroidAutofill_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.draw {
+
+ public final class AlphaKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier alpha(androidx.compose.ui.Modifier, float alpha);
+ }
+
+ public interface BuildDrawCacheParams {
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public long getSize-NH-jbRc();
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public abstract long size;
+ }
+
+ public final class CacheDrawScope implements androidx.compose.ui.unit.Density {
+ method public float getDensity();
+ method public float getFontScale();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public long getSize-NH-jbRc();
+ method public androidx.compose.ui.draw.DrawResult onDrawBehind(kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public androidx.compose.ui.draw.DrawResult onDrawWithContent(kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.ContentDrawScope,kotlin.Unit> block);
+ property public float density;
+ property public float fontScale;
+ property public final androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public final long size;
+ }
+
+ public final class ClipKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier clip(androidx.compose.ui.Modifier, androidx.compose.ui.graphics.Shape shape);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier clipToBounds(androidx.compose.ui.Modifier);
+ }
+
+ public interface DrawCacheModifier extends androidx.compose.ui.draw.DrawModifier {
+ method public void onBuildCache(androidx.compose.ui.draw.BuildDrawCacheParams params);
+ }
+
+ public interface DrawModifier extends androidx.compose.ui.Modifier.Element {
+ method public void draw(androidx.compose.ui.graphics.drawscope.ContentDrawScope);
+ }
+
+ public final class DrawModifierKt {
+ method public static androidx.compose.ui.Modifier drawBehind(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> onDraw);
+ method public static androidx.compose.ui.Modifier drawWithCache(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.draw.CacheDrawScope,androidx.compose.ui.draw.DrawResult> onBuildDrawCache);
+ method public static androidx.compose.ui.Modifier drawWithContent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.ContentDrawScope,kotlin.Unit> onDraw);
+ }
+
+ public final class DrawResult {
+ }
+
+ public final class PainterModifierKt {
+ method public static androidx.compose.ui.Modifier paint(androidx.compose.ui.Modifier, androidx.compose.ui.graphics.painter.Painter painter, optional boolean sizeToIntrinsics, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ }
+
+ public final class RotateKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier rotate(androidx.compose.ui.Modifier, float degrees);
+ }
+
+ public final class ScaleKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier scale(androidx.compose.ui.Modifier, float scaleX, float scaleY);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier scale(androidx.compose.ui.Modifier, float scale);
+ }
+
+ public final class ShadowKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier shadow-HfQes2E(androidx.compose.ui.Modifier, float elevation, optional androidx.compose.ui.graphics.Shape shape, optional boolean clip);
+ }
+
+}
+
+package androidx.compose.ui.focus {
+
+ public final class FocusChangedModifierKt {
+ method public static androidx.compose.ui.Modifier onFocusChanged(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusState,kotlin.Unit> onFocusChanged);
+ }
+
+ public final inline class FocusDirection {
+ ctor public FocusDirection();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.focus.FocusDirection.Companion Companion;
+ }
+
+ public static final class FocusDirection.Companion {
+ method public int getDown-dhqQ-8s();
+ method public int getIn-dhqQ-8s();
+ method public int getLeft-dhqQ-8s();
+ method public int getNext-dhqQ-8s();
+ method public int getOut-dhqQ-8s();
+ method public int getPrevious-dhqQ-8s();
+ method public int getRight-dhqQ-8s();
+ method public int getUp-dhqQ-8s();
+ property public final int Down;
+ property public final int In;
+ property public final int Left;
+ property public final int Next;
+ property public final int Out;
+ property public final int Previous;
+ property public final int Right;
+ property public final int Up;
+ }
+
+ public interface FocusEventModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onFocusEvent(androidx.compose.ui.focus.FocusState focusState);
+ }
+
+ public final class FocusEventModifierKt {
+ method public static androidx.compose.ui.Modifier onFocusEvent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusState,kotlin.Unit> onFocusEvent);
+ }
+
+ public interface FocusManager {
+ method public void clearFocus(optional boolean force);
+ method public boolean moveFocus-3ESFkO8(int focusDirection);
+ }
+
+ public final class FocusModifierKt {
+ method @Deprecated public static androidx.compose.ui.Modifier focusModifier(androidx.compose.ui.Modifier);
+ method public static androidx.compose.ui.Modifier focusTarget(androidx.compose.ui.Modifier);
+ }
+
+ public final class FocusNodeUtilsKt {
+ }
+
+ public final class FocusOrder {
+ ctor public FocusOrder();
+ method public androidx.compose.ui.focus.FocusRequester getDown();
+ method public androidx.compose.ui.focus.FocusRequester getEnd();
+ method public androidx.compose.ui.focus.FocusRequester getLeft();
+ method public androidx.compose.ui.focus.FocusRequester getNext();
+ method public androidx.compose.ui.focus.FocusRequester getPrevious();
+ method public androidx.compose.ui.focus.FocusRequester getRight();
+ method public androidx.compose.ui.focus.FocusRequester getStart();
+ method public androidx.compose.ui.focus.FocusRequester getUp();
+ method public void setDown(androidx.compose.ui.focus.FocusRequester p);
+ method public void setEnd(androidx.compose.ui.focus.FocusRequester p);
+ method public void setLeft(androidx.compose.ui.focus.FocusRequester p);
+ method public void setNext(androidx.compose.ui.focus.FocusRequester p);
+ method public void setPrevious(androidx.compose.ui.focus.FocusRequester p);
+ method public void setRight(androidx.compose.ui.focus.FocusRequester p);
+ method public void setStart(androidx.compose.ui.focus.FocusRequester p);
+ method public void setUp(androidx.compose.ui.focus.FocusRequester p);
+ property public final androidx.compose.ui.focus.FocusRequester down;
+ property public final androidx.compose.ui.focus.FocusRequester end;
+ property public final androidx.compose.ui.focus.FocusRequester left;
+ property public final androidx.compose.ui.focus.FocusRequester next;
+ property public final androidx.compose.ui.focus.FocusRequester previous;
+ property public final androidx.compose.ui.focus.FocusRequester right;
+ property public final androidx.compose.ui.focus.FocusRequester start;
+ property public final androidx.compose.ui.focus.FocusRequester up;
+ }
+
+ public interface FocusOrderModifier extends androidx.compose.ui.Modifier.Element {
+ method public void populateFocusOrder(androidx.compose.ui.focus.FocusOrder focusOrder);
+ }
+
+ public final class FocusOrderModifierKt {
+ method public static androidx.compose.ui.Modifier focusOrder(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusOrder,kotlin.Unit> focusOrderReceiver);
+ method public static androidx.compose.ui.Modifier focusOrder(androidx.compose.ui.Modifier, androidx.compose.ui.focus.FocusRequester focusRequester);
+ method public static androidx.compose.ui.Modifier focusOrder(androidx.compose.ui.Modifier, androidx.compose.ui.focus.FocusRequester focusRequester, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusOrder,kotlin.Unit> focusOrderReceiver);
+ }
+
+ public final class FocusRequester {
+ ctor public FocusRequester();
+ method public boolean captureFocus();
+ method public boolean freeFocus();
+ method public void requestFocus();
+ field public static final androidx.compose.ui.focus.FocusRequester.Companion Companion;
+ }
+
+ public static final class FocusRequester.Companion {
+ method public androidx.compose.ui.focus.FocusRequester getDefault();
+ property public final androidx.compose.ui.focus.FocusRequester Default;
+ }
+
+ public final class FocusRequesterKt {
+ }
+
+ public interface FocusRequesterModifier extends androidx.compose.ui.Modifier.Element {
+ method public androidx.compose.ui.focus.FocusRequester getFocusRequester();
+ property public abstract androidx.compose.ui.focus.FocusRequester focusRequester;
+ }
+
+ public final class FocusRequesterModifierKt {
+ method public static androidx.compose.ui.Modifier focusRequester(androidx.compose.ui.Modifier, androidx.compose.ui.focus.FocusRequester focusRequester);
+ }
+
+ public interface FocusState {
+ method public boolean getHasFocus();
+ method public boolean isCaptured();
+ method public boolean isFocused();
+ property public abstract boolean hasFocus;
+ property public abstract boolean isCaptured;
+ property public abstract boolean isFocused;
+ }
+
+ public final class FocusTransactionsKt {
+ }
+
+ public final class FocusTraversalKt {
+ }
+
+ public final class TwoDimensionalFocusSearchKt {
+ }
+
+}
+
+package androidx.compose.ui.graphics {
+
+ public final class GraphicsLayerModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier graphicsLayer(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> block);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier graphicsLayer-i_P0lGk(androidx.compose.ui.Modifier, optional float scaleX, optional float scaleY, optional float alpha, optional float translationX, optional float translationY, optional float shadowElevation, optional float rotationX, optional float rotationY, optional float rotationZ, optional float cameraDistance, optional long transformOrigin, optional androidx.compose.ui.graphics.Shape shape, optional boolean clip);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier toolingGraphicsLayer(androidx.compose.ui.Modifier);
+ }
+
+ public interface GraphicsLayerScope extends androidx.compose.ui.unit.Density {
+ method public float getAlpha();
+ method public float getCameraDistance();
+ method public boolean getClip();
+ method public float getRotationX();
+ method public float getRotationY();
+ method public float getRotationZ();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public float getShadowElevation();
+ method public androidx.compose.ui.graphics.Shape getShape();
+ method public long getTransformOrigin-SzJe1aQ();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public void setAlpha(float p);
+ method public void setCameraDistance(float p);
+ method public void setClip(boolean p);
+ method public void setRotationX(float p);
+ method public void setRotationY(float p);
+ method public void setRotationZ(float p);
+ method public void setScaleX(float p);
+ method public void setScaleY(float p);
+ method public void setShadowElevation(float p);
+ method public void setShape(androidx.compose.ui.graphics.Shape p);
+ method public void setTransformOrigin-__ExYCQ(long p);
+ method public void setTranslationX(float p);
+ method public void setTranslationY(float p);
+ property public abstract float alpha;
+ property public abstract float cameraDistance;
+ property public abstract boolean clip;
+ property public abstract float rotationX;
+ property public abstract float rotationY;
+ property public abstract float rotationZ;
+ property public abstract float scaleX;
+ property public abstract float scaleY;
+ property public abstract float shadowElevation;
+ property public abstract androidx.compose.ui.graphics.Shape shape;
+ property public abstract long transformOrigin;
+ property public abstract float translationX;
+ property public abstract float translationY;
+ }
+
+ public final class GraphicsLayerScopeKt {
+ method public static androidx.compose.ui.graphics.GraphicsLayerScope GraphicsLayerScope();
+ field public static final float DefaultCameraDistance = 8.0f;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TransformOrigin {
+ ctor public TransformOrigin();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-SzJe1aQ(long $this, optional float pivotFractionX, optional float pivotFractionY);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getPivotFractionX-impl(long $this);
+ method public static float getPivotFractionY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Immutable public static inline String! toString-impl(long p);
+ field public static final androidx.compose.ui.graphics.TransformOrigin.Companion Companion;
+ }
+
+ public static final class TransformOrigin.Companion {
+ method public long getCenter-SzJe1aQ();
+ property public final long Center;
+ }
+
+ public final class TransformOriginKt {
+ method public static long TransformOrigin(float pivotFractionX, float pivotFractionY);
+ }
+
+}
+
+package androidx.compose.ui.graphics.vector {
+
+ public final class AnimatorKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class ImageVector {
+ method public float getDefaultHeight-D9Ej5fM();
+ method public float getDefaultWidth-D9Ej5fM();
+ method public String getName();
+ method public androidx.compose.ui.graphics.vector.VectorGroup getRoot();
+ method public int getTintBlendMode-0nO6VwU();
+ method public long getTintColor-0d7_KjU();
+ method public float getViewportHeight();
+ method public float getViewportWidth();
+ property public final float defaultHeight;
+ property public final float defaultWidth;
+ property public final String name;
+ property public final androidx.compose.ui.graphics.vector.VectorGroup root;
+ property public final int tintBlendMode;
+ property public final long tintColor;
+ property public final float viewportHeight;
+ property public final float viewportWidth;
+ field public static final androidx.compose.ui.graphics.vector.ImageVector.Companion Companion;
+ }
+
+ public static final class ImageVector.Builder {
+ method public androidx.compose.ui.graphics.vector.ImageVector.Builder addGroup(optional String name, optional float rotate, optional float pivotX, optional float pivotY, optional float scaleX, optional float scaleY, optional float translationX, optional float translationY, optional java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> clipPathData);
+ method public androidx.compose.ui.graphics.vector.ImageVector.Builder addPath-MBUPpgE(java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> pathData, optional int pathFillType, optional String name, optional androidx.compose.ui.graphics.Brush? fill, optional float fillAlpha, optional androidx.compose.ui.graphics.Brush? stroke, optional float strokeAlpha, optional float strokeLineWidth, optional int strokeLineCap, optional int strokeLineJoin, optional float strokeLineMiter, optional float trimPathStart, optional float trimPathEnd, optional float trimPathOffset);
+ method public androidx.compose.ui.graphics.vector.ImageVector build();
+ method public androidx.compose.ui.graphics.vector.ImageVector.Builder clearGroup();
+ }
+
+ public static final class ImageVector.Companion {
+ }
+
+ public final class ImageVectorKt {
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder group(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional String name, optional float rotate, optional float pivotX, optional float pivotY, optional float scaleX, optional float scaleY, optional float translationX, optional float translationY, optional java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> clipPathData, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,kotlin.Unit> block);
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder path-XZu8tSg(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional String name, optional androidx.compose.ui.graphics.Brush? fill, optional float fillAlpha, optional androidx.compose.ui.graphics.Brush? stroke, optional float strokeAlpha, optional float strokeLineWidth, optional int strokeLineCap, optional int strokeLineJoin, optional float strokeLineMiter, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+ }
+
+ public abstract sealed class VNode {
+ method public abstract void draw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ method public final void invalidate();
+ }
+
+ public final class VectorApplier extends androidx.compose.runtime.AbstractApplier<androidx.compose.ui.graphics.vector.VNode> {
+ ctor public VectorApplier(androidx.compose.ui.graphics.vector.VNode root);
+ method public void insertBottomUp(int index, androidx.compose.ui.graphics.vector.VNode instance);
+ method public void insertTopDown(int index, androidx.compose.ui.graphics.vector.VNode instance);
+ method public void move(int from, int to, int count);
+ method protected void onClear();
+ method public void remove(int index, int count);
+ }
+
+ public final class VectorComposeKt {
+ method @androidx.compose.runtime.Composable public static void Group(optional String name, optional float rotation, optional float pivotX, optional float pivotY, optional float scaleX, optional float scaleY, optional float translationX, optional float translationY, optional java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> clipPathData, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Path-MBUPpgE(java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> pathData, optional int pathFillType, optional String name, optional androidx.compose.ui.graphics.Brush? fill, optional float fillAlpha, optional androidx.compose.ui.graphics.Brush? stroke, optional float strokeAlpha, optional float strokeLineWidth, optional int strokeLineCap, optional int strokeLineJoin, optional float strokeLineMiter, optional float trimPathStart, optional float trimPathEnd, optional float trimPathOffset);
+ }
+
+ @androidx.compose.runtime.Immutable public final class VectorGroup extends androidx.compose.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.compose.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+ method public operator androidx.compose.ui.graphics.vector.VectorNode get(int index);
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> getClipPathData();
+ method public String getName();
+ method public float getPivotX();
+ method public float getPivotY();
+ method public float getRotation();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public int getSize();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public java.util.Iterator<androidx.compose.ui.graphics.vector.VectorNode> iterator();
+ property public final java.util.List<androidx.compose.ui.graphics.vector.PathNode> clipPathData;
+ property public final String name;
+ property public final float pivotX;
+ property public final float pivotY;
+ property public final float rotation;
+ property public final float scaleX;
+ property public final float scaleY;
+ property public final int size;
+ property public final float translationX;
+ property public final float translationY;
+ }
+
+ public final class VectorKt {
+ method public static inline java.util.List<androidx.compose.ui.graphics.vector.PathNode> PathData(kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> block);
+ method public static java.util.List<androidx.compose.ui.graphics.vector.PathNode> addPathNodes(String? pathStr);
+ method public static int getDefaultFillType();
+ method public static int getDefaultStrokeLineCap();
+ method public static int getDefaultStrokeLineJoin();
+ method public static int getDefaultTintBlendMode();
+ method public static long getDefaultTintColor();
+ method public static java.util.List<androidx.compose.ui.graphics.vector.PathNode> getEmptyPath();
+ field public static final String DefaultGroupName = "";
+ field public static final String DefaultPathName = "";
+ field public static final float DefaultPivotX = 0.0f;
+ field public static final float DefaultPivotY = 0.0f;
+ field public static final float DefaultRotation = 0.0f;
+ field public static final float DefaultScaleX = 1.0f;
+ field public static final float DefaultScaleY = 1.0f;
+ field public static final float DefaultStrokeLineMiter = 4.0f;
+ field public static final float DefaultStrokeLineWidth = 0.0f;
+ field public static final float DefaultTranslationX = 0.0f;
+ field public static final float DefaultTranslationY = 0.0f;
+ field public static final float DefaultTrimPathEnd = 1.0f;
+ field public static final float DefaultTrimPathOffset = 0.0f;
+ field public static final float DefaultTrimPathStart = 0.0f;
+ }
+
+ public abstract sealed class VectorNode {
+ }
+
+ public final class VectorPainter extends androidx.compose.ui.graphics.painter.Painter {
+ method public long getIntrinsicSize-NH-jbRc();
+ method protected void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public long intrinsicSize;
+ }
+
+ public final class VectorPainterKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.vector.VectorPainter rememberVectorPainter(androidx.compose.ui.graphics.vector.ImageVector image);
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.vector.VectorPainter rememberVectorPainter-u_AqRoo(float defaultWidth, float defaultHeight, optional float viewportWidth, optional float viewportHeight, optional String name, optional long tintColor, optional int tintBlendMode, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> content);
+ field public static final String RootGroupName = "VectorRootGroup";
+ }
+
+ @androidx.compose.runtime.Immutable public final class VectorPath extends androidx.compose.ui.graphics.vector.VectorNode {
+ method public androidx.compose.ui.graphics.Brush? getFill();
+ method public float getFillAlpha();
+ method public String getName();
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> getPathData();
+ method public int getPathFillType-Rg-k1Os();
+ method public androidx.compose.ui.graphics.Brush? getStroke();
+ method public float getStrokeAlpha();
+ method public int getStrokeLineCap-KaPHkGw();
+ method public int getStrokeLineJoin-LxFBmk8();
+ method public float getStrokeLineMiter();
+ method public float getStrokeLineWidth();
+ method public float getTrimPathEnd();
+ method public float getTrimPathOffset();
+ method public float getTrimPathStart();
+ property public final androidx.compose.ui.graphics.Brush? fill;
+ property public final float fillAlpha;
+ property public final String name;
+ property public final java.util.List<androidx.compose.ui.graphics.vector.PathNode> pathData;
+ property public final int pathFillType;
+ property public final androidx.compose.ui.graphics.Brush? stroke;
+ property public final float strokeAlpha;
+ property public final int strokeLineCap;
+ property public final int strokeLineJoin;
+ property public final float strokeLineMiter;
+ property public final float strokeLineWidth;
+ property public final float trimPathEnd;
+ property public final float trimPathOffset;
+ property public final float trimPathStart;
+ }
+
+}
+
+package androidx.compose.ui.graphics.vector.compat {
+
+ public final class XmlAnimatedVectorParser_androidKt {
+ }
+
+ public final class XmlAnimatorParser_androidKt {
+ }
+
+ public final class XmlPullParserUtils_androidKt {
+ }
+
+ public final class XmlVectorParser_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.hapticfeedback {
+
+ public interface HapticFeedback {
+ method public void performHapticFeedback-CdsT49E(int hapticFeedbackType);
+ }
+
+ public final inline class HapticFeedbackType {
+ ctor public HapticFeedbackType();
+ method public static int constructor-impl(int value);
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.hapticfeedback.HapticFeedbackType.Companion Companion;
+ }
+
+ public static final class HapticFeedbackType.Companion {
+ method public int getLongPress-5zf0vsI();
+ method public int getTextHandleMove-5zf0vsI();
+ method public java.util.List<androidx.compose.ui.hapticfeedback.HapticFeedbackType> values();
+ property public final int LongPress;
+ property public final int TextHandleMove;
+ }
+
+}
+
+package androidx.compose.ui.input.key {
+
+ public final inline class Key {
+ ctor public Key();
+ method public static long constructor-impl(long keyCode);
+ method public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public long getKeyCode();
+ method public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ property public final long keyCode;
+ field public static final androidx.compose.ui.input.key.Key.Companion Companion;
+ }
+
+ public static final class Key.Companion {
+ method public long getA-EK5gGoQ();
+ method public long getAllApps-EK5gGoQ();
+ method public long getAltLeft-EK5gGoQ();
+ method public long getAltRight-EK5gGoQ();
+ method public long getApostrophe-EK5gGoQ();
+ method public long getAppSwitch-EK5gGoQ();
+ method public long getAssist-EK5gGoQ();
+ method public long getAt-EK5gGoQ();
+ method public long getAvReceiverInput-EK5gGoQ();
+ method public long getAvReceiverPower-EK5gGoQ();
+ method public long getB-EK5gGoQ();
+ method public long getBack-EK5gGoQ();
+ method public long getBackslash-EK5gGoQ();
+ method public long getBackspace-EK5gGoQ();
+ method public long getBookmark-EK5gGoQ();
+ method public long getBreak-EK5gGoQ();
+ method public long getBrightnessDown-EK5gGoQ();
+ method public long getBrightnessUp-EK5gGoQ();
+ method public long getBrowser-EK5gGoQ();
+ method public long getButton1-EK5gGoQ();
+ method public long getButton10-EK5gGoQ();
+ method public long getButton11-EK5gGoQ();
+ method public long getButton12-EK5gGoQ();
+ method public long getButton13-EK5gGoQ();
+ method public long getButton14-EK5gGoQ();
+ method public long getButton15-EK5gGoQ();
+ method public long getButton16-EK5gGoQ();
+ method public long getButton2-EK5gGoQ();
+ method public long getButton3-EK5gGoQ();
+ method public long getButton4-EK5gGoQ();
+ method public long getButton5-EK5gGoQ();
+ method public long getButton6-EK5gGoQ();
+ method public long getButton7-EK5gGoQ();
+ method public long getButton8-EK5gGoQ();
+ method public long getButton9-EK5gGoQ();
+ method public long getButtonA-EK5gGoQ();
+ method public long getButtonB-EK5gGoQ();
+ method public long getButtonC-EK5gGoQ();
+ method public long getButtonL1-EK5gGoQ();
+ method public long getButtonL2-EK5gGoQ();
+ method public long getButtonMode-EK5gGoQ();
+ method public long getButtonR1-EK5gGoQ();
+ method public long getButtonR2-EK5gGoQ();
+ method public long getButtonSelect-EK5gGoQ();
+ method public long getButtonStart-EK5gGoQ();
+ method public long getButtonThumbLeft-EK5gGoQ();
+ method public long getButtonThumbRight-EK5gGoQ();
+ method public long getButtonX-EK5gGoQ();
+ method public long getButtonY-EK5gGoQ();
+ method public long getButtonZ-EK5gGoQ();
+ method public long getC-EK5gGoQ();
+ method public long getCalculator-EK5gGoQ();
+ method public long getCalendar-EK5gGoQ();
+ method public long getCall-EK5gGoQ();
+ method public long getCamera-EK5gGoQ();
+ method public long getCapsLock-EK5gGoQ();
+ method public long getCaptions-EK5gGoQ();
+ method public long getChannelDown-EK5gGoQ();
+ method public long getChannelUp-EK5gGoQ();
+ method public long getClear-EK5gGoQ();
+ method public long getComma-EK5gGoQ();
+ method public long getContacts-EK5gGoQ();
+ method public long getCopy-EK5gGoQ();
+ method public long getCtrlLeft-EK5gGoQ();
+ method public long getCtrlRight-EK5gGoQ();
+ method public long getCut-EK5gGoQ();
+ method public long getD-EK5gGoQ();
+ method public long getDelete-EK5gGoQ();
+ method public long getDirectionCenter-EK5gGoQ();
+ method public long getDirectionDown-EK5gGoQ();
+ method public long getDirectionDownLeft-EK5gGoQ();
+ method public long getDirectionDownRight-EK5gGoQ();
+ method public long getDirectionLeft-EK5gGoQ();
+ method public long getDirectionRight-EK5gGoQ();
+ method public long getDirectionUp-EK5gGoQ();
+ method public long getDirectionUpLeft-EK5gGoQ();
+ method public long getDirectionUpRight-EK5gGoQ();
+ method public long getDvr-EK5gGoQ();
+ method public long getE-EK5gGoQ();
+ method public long getEight-EK5gGoQ();
+ method public long getEisu-EK5gGoQ();
+ method public long getEndCall-EK5gGoQ();
+ method public long getEnter-EK5gGoQ();
+ method public long getEnvelope-EK5gGoQ();
+ method public long getEquals-EK5gGoQ();
+ method public long getEscape-EK5gGoQ();
+ method public long getF-EK5gGoQ();
+ method public long getF1-EK5gGoQ();
+ method public long getF10-EK5gGoQ();
+ method public long getF11-EK5gGoQ();
+ method public long getF12-EK5gGoQ();
+ method public long getF2-EK5gGoQ();
+ method public long getF3-EK5gGoQ();
+ method public long getF4-EK5gGoQ();
+ method public long getF5-EK5gGoQ();
+ method public long getF6-EK5gGoQ();
+ method public long getF7-EK5gGoQ();
+ method public long getF8-EK5gGoQ();
+ method public long getF9-EK5gGoQ();
+ method public long getFive-EK5gGoQ();
+ method public long getFocus-EK5gGoQ();
+ method public long getForward-EK5gGoQ();
+ method public long getFour-EK5gGoQ();
+ method public long getFunction-EK5gGoQ();
+ method public long getG-EK5gGoQ();
+ method public long getGrave-EK5gGoQ();
+ method public long getGuide-EK5gGoQ();
+ method public long getH-EK5gGoQ();
+ method public long getHeadsetHook-EK5gGoQ();
+ method public long getHelp-EK5gGoQ();
+ method public long getHenkan-EK5gGoQ();
+ method public long getHome-EK5gGoQ();
+ method public long getI-EK5gGoQ();
+ method public long getInfo-EK5gGoQ();
+ method public long getInsert-EK5gGoQ();
+ method public long getJ-EK5gGoQ();
+ method public long getK-EK5gGoQ();
+ method public long getKana-EK5gGoQ();
+ method public long getKatakanaHiragana-EK5gGoQ();
+ method public long getL-EK5gGoQ();
+ method public long getLanguageSwitch-EK5gGoQ();
+ method public long getLastChannel-EK5gGoQ();
+ method public long getLeftBracket-EK5gGoQ();
+ method public long getM-EK5gGoQ();
+ method public long getMannerMode-EK5gGoQ();
+ method public long getMediaAudioTrack-EK5gGoQ();
+ method public long getMediaClose-EK5gGoQ();
+ method public long getMediaEject-EK5gGoQ();
+ method public long getMediaFastForward-EK5gGoQ();
+ method public long getMediaNext-EK5gGoQ();
+ method public long getMediaPause-EK5gGoQ();
+ method public long getMediaPlay-EK5gGoQ();
+ method public long getMediaPlayPause-EK5gGoQ();
+ method public long getMediaPrevious-EK5gGoQ();
+ method public long getMediaRecord-EK5gGoQ();
+ method public long getMediaRewind-EK5gGoQ();
+ method public long getMediaSkipBackward-EK5gGoQ();
+ method public long getMediaSkipForward-EK5gGoQ();
+ method public long getMediaStepBackward-EK5gGoQ();
+ method public long getMediaStepForward-EK5gGoQ();
+ method public long getMediaStop-EK5gGoQ();
+ method public long getMediaTopMenu-EK5gGoQ();
+ method public long getMenu-EK5gGoQ();
+ method public long getMetaLeft-EK5gGoQ();
+ method public long getMetaRight-EK5gGoQ();
+ method public long getMicrophoneMute-EK5gGoQ();
+ method public long getMinus-EK5gGoQ();
+ method public long getMoveEnd-EK5gGoQ();
+ method public long getMoveHome-EK5gGoQ();
+ method public long getMuhenkan-EK5gGoQ();
+ method public long getMultiply-EK5gGoQ();
+ method public long getMusic-EK5gGoQ();
+ method public long getN-EK5gGoQ();
+ method public long getNavigateIn-EK5gGoQ();
+ method public long getNavigateNext-EK5gGoQ();
+ method public long getNavigateOut-EK5gGoQ();
+ method public long getNavigatePrevious-EK5gGoQ();
+ method public long getNine-EK5gGoQ();
+ method public long getNotification-EK5gGoQ();
+ method public long getNumLock-EK5gGoQ();
+ method public long getNumPad0-EK5gGoQ();
+ method public long getNumPad1-EK5gGoQ();
+ method public long getNumPad2-EK5gGoQ();
+ method public long getNumPad3-EK5gGoQ();
+ method public long getNumPad4-EK5gGoQ();
+ method public long getNumPad5-EK5gGoQ();
+ method public long getNumPad6-EK5gGoQ();
+ method public long getNumPad7-EK5gGoQ();
+ method public long getNumPad8-EK5gGoQ();
+ method public long getNumPad9-EK5gGoQ();
+ method public long getNumPadAdd-EK5gGoQ();
+ method public long getNumPadComma-EK5gGoQ();
+ method public long getNumPadDivide-EK5gGoQ();
+ method public long getNumPadDot-EK5gGoQ();
+ method public long getNumPadEnter-EK5gGoQ();
+ method public long getNumPadEquals-EK5gGoQ();
+ method public long getNumPadLeftParenthesis-EK5gGoQ();
+ method public long getNumPadMultiply-EK5gGoQ();
+ method public long getNumPadRightParenthesis-EK5gGoQ();
+ method public long getNumPadSubtract-EK5gGoQ();
+ method public long getNumber-EK5gGoQ();
+ method public long getO-EK5gGoQ();
+ method public long getOne-EK5gGoQ();
+ method public long getP-EK5gGoQ();
+ method public long getPageDown-EK5gGoQ();
+ method public long getPageUp-EK5gGoQ();
+ method public long getPairing-EK5gGoQ();
+ method public long getPaste-EK5gGoQ();
+ method public long getPeriod-EK5gGoQ();
+ method public long getPictureSymbols-EK5gGoQ();
+ method public long getPlus-EK5gGoQ();
+ method public long getPound-EK5gGoQ();
+ method public long getPower-EK5gGoQ();
+ method public long getPrintScreen-EK5gGoQ();
+ method public long getProfileSwitch-EK5gGoQ();
+ method public long getProgramBlue-EK5gGoQ();
+ method public long getProgramGreen-EK5gGoQ();
+ method public long getProgramRed-EK5gGoQ();
+ method public long getProgramYellow-EK5gGoQ();
+ method public long getQ-EK5gGoQ();
+ method public long getR-EK5gGoQ();
+ method public long getRefresh-EK5gGoQ();
+ method public long getRightBracket-EK5gGoQ();
+ method public long getRo-EK5gGoQ();
+ method public long getS-EK5gGoQ();
+ method public long getScrollLock-EK5gGoQ();
+ method public long getSearch-EK5gGoQ();
+ method public long getSemicolon-EK5gGoQ();
+ method public long getSetTopBoxInput-EK5gGoQ();
+ method public long getSetTopBoxPower-EK5gGoQ();
+ method public long getSettings-EK5gGoQ();
+ method public long getSeven-EK5gGoQ();
+ method public long getShiftLeft-EK5gGoQ();
+ method public long getShiftRight-EK5gGoQ();
+ method public long getSix-EK5gGoQ();
+ method public long getSlash-EK5gGoQ();
+ method public long getSleep-EK5gGoQ();
+ method public long getSoftLeft-EK5gGoQ();
+ method public long getSoftRight-EK5gGoQ();
+ method public long getSoftSleep-EK5gGoQ();
+ method public long getSpacebar-EK5gGoQ();
+ method public long getStem1-EK5gGoQ();
+ method public long getStem2-EK5gGoQ();
+ method public long getStem3-EK5gGoQ();
+ method public long getStemPrimary-EK5gGoQ();
+ method public long getSwitchCharset-EK5gGoQ();
+ method public long getSymbol-EK5gGoQ();
+ method public long getSystemNavigationDown-EK5gGoQ();
+ method public long getSystemNavigationLeft-EK5gGoQ();
+ method public long getSystemNavigationRight-EK5gGoQ();
+ method public long getSystemNavigationUp-EK5gGoQ();
+ method public long getT-EK5gGoQ();
+ method public long getTab-EK5gGoQ();
+ method public long getThree-EK5gGoQ();
+ method public long getThumbsDown-EK5gGoQ();
+ method public long getThumbsUp-EK5gGoQ();
+ method public long getToggle2D3D-EK5gGoQ();
+ method public long getTv-EK5gGoQ();
+ method public long getTvAntennaCable-EK5gGoQ();
+ method public long getTvAudioDescription-EK5gGoQ();
+ method public long getTvAudioDescriptionMixingVolumeDown-EK5gGoQ();
+ method public long getTvAudioDescriptionMixingVolumeUp-EK5gGoQ();
+ method public long getTvContentsMenu-EK5gGoQ();
+ method public long getTvDataService-EK5gGoQ();
+ method public long getTvInput-EK5gGoQ();
+ method public long getTvInputComponent1-EK5gGoQ();
+ method public long getTvInputComponent2-EK5gGoQ();
+ method public long getTvInputComposite1-EK5gGoQ();
+ method public long getTvInputComposite2-EK5gGoQ();
+ method public long getTvInputHdmi1-EK5gGoQ();
+ method public long getTvInputHdmi2-EK5gGoQ();
+ method public long getTvInputHdmi3-EK5gGoQ();
+ method public long getTvInputHdmi4-EK5gGoQ();
+ method public long getTvInputVga1-EK5gGoQ();
+ method public long getTvMediaContextMenu-EK5gGoQ();
+ method public long getTvNetwork-EK5gGoQ();
+ method public long getTvNumberEntry-EK5gGoQ();
+ method public long getTvPower-EK5gGoQ();
+ method public long getTvRadioService-EK5gGoQ();
+ method public long getTvSatellite-EK5gGoQ();
+ method public long getTvSatelliteBs-EK5gGoQ();
+ method public long getTvSatelliteCs-EK5gGoQ();
+ method public long getTvSatelliteService-EK5gGoQ();
+ method public long getTvTeletext-EK5gGoQ();
+ method public long getTvTerrestrialAnalog-EK5gGoQ();
+ method public long getTvTerrestrialDigital-EK5gGoQ();
+ method public long getTvTimerProgramming-EK5gGoQ();
+ method public long getTvZoomMode-EK5gGoQ();
+ method public long getTwo-EK5gGoQ();
+ method public long getU-EK5gGoQ();
+ method public long getUnknown-EK5gGoQ();
+ method public long getV-EK5gGoQ();
+ method public long getVoiceAssist-EK5gGoQ();
+ method public long getVolumeDown-EK5gGoQ();
+ method public long getVolumeMute-EK5gGoQ();
+ method public long getVolumeUp-EK5gGoQ();
+ method public long getW-EK5gGoQ();
+ method public long getWakeUp-EK5gGoQ();
+ method public long getWindow-EK5gGoQ();
+ method public long getX-EK5gGoQ();
+ method public long getY-EK5gGoQ();
+ method public long getYen-EK5gGoQ();
+ method public long getZ-EK5gGoQ();
+ method public long getZenkakuHankaru-EK5gGoQ();
+ method public long getZero-EK5gGoQ();
+ method public long getZoomIn-EK5gGoQ();
+ method public long getZoomOut-EK5gGoQ();
+ property public final long A;
+ property public final long AllApps;
+ property public final long AltLeft;
+ property public final long AltRight;
+ property public final long Apostrophe;
+ property public final long AppSwitch;
+ property public final long Assist;
+ property public final long At;
+ property public final long AvReceiverInput;
+ property public final long AvReceiverPower;
+ property public final long B;
+ property public final long Back;
+ property public final long Backslash;
+ property public final long Backspace;
+ property public final long Bookmark;
+ property public final long Break;
+ property public final long BrightnessDown;
+ property public final long BrightnessUp;
+ property public final long Browser;
+ property public final long Button1;
+ property public final long Button10;
+ property public final long Button11;
+ property public final long Button12;
+ property public final long Button13;
+ property public final long Button14;
+ property public final long Button15;
+ property public final long Button16;
+ property public final long Button2;
+ property public final long Button3;
+ property public final long Button4;
+ property public final long Button5;
+ property public final long Button6;
+ property public final long Button7;
+ property public final long Button8;
+ property public final long Button9;
+ property public final long ButtonA;
+ property public final long ButtonB;
+ property public final long ButtonC;
+ property public final long ButtonL1;
+ property public final long ButtonL2;
+ property public final long ButtonMode;
+ property public final long ButtonR1;
+ property public final long ButtonR2;
+ property public final long ButtonSelect;
+ property public final long ButtonStart;
+ property public final long ButtonThumbLeft;
+ property public final long ButtonThumbRight;
+ property public final long ButtonX;
+ property public final long ButtonY;
+ property public final long ButtonZ;
+ property public final long C;
+ property public final long Calculator;
+ property public final long Calendar;
+ property public final long Call;
+ property public final long Camera;
+ property public final long CapsLock;
+ property public final long Captions;
+ property public final long ChannelDown;
+ property public final long ChannelUp;
+ property public final long Clear;
+ property public final long Comma;
+ property public final long Contacts;
+ property public final long Copy;
+ property public final long CtrlLeft;
+ property public final long CtrlRight;
+ property public final long Cut;
+ property public final long D;
+ property public final long Delete;
+ property public final long DirectionCenter;
+ property public final long DirectionDown;
+ property public final long DirectionDownLeft;
+ property public final long DirectionDownRight;
+ property public final long DirectionLeft;
+ property public final long DirectionRight;
+ property public final long DirectionUp;
+ property public final long DirectionUpLeft;
+ property public final long DirectionUpRight;
+ property public final long Dvr;
+ property public final long E;
+ property public final long Eight;
+ property public final long Eisu;
+ property public final long EndCall;
+ property public final long Enter;
+ property public final long Envelope;
+ property public final long Equals;
+ property public final long Escape;
+ property public final long F;
+ property public final long F1;
+ property public final long F10;
+ property public final long F11;
+ property public final long F12;
+ property public final long F2;
+ property public final long F3;
+ property public final long F4;
+ property public final long F5;
+ property public final long F6;
+ property public final long F7;
+ property public final long F8;
+ property public final long F9;
+ property public final long Five;
+ property public final long Focus;
+ property public final long Forward;
+ property public final long Four;
+ property public final long Function;
+ property public final long G;
+ property public final long Grave;
+ property public final long Guide;
+ property public final long H;
+ property public final long HeadsetHook;
+ property public final long Help;
+ property public final long Henkan;
+ property public final long Home;
+ property public final long I;
+ property public final long Info;
+ property public final long Insert;
+ property public final long J;
+ property public final long K;
+ property public final long Kana;
+ property public final long KatakanaHiragana;
+ property public final long L;
+ property public final long LanguageSwitch;
+ property public final long LastChannel;
+ property public final long LeftBracket;
+ property public final long M;
+ property public final long MannerMode;
+ property public final long MediaAudioTrack;
+ property public final long MediaClose;
+ property public final long MediaEject;
+ property public final long MediaFastForward;
+ property public final long MediaNext;
+ property public final long MediaPause;
+ property public final long MediaPlay;
+ property public final long MediaPlayPause;
+ property public final long MediaPrevious;
+ property public final long MediaRecord;
+ property public final long MediaRewind;
+ property public final long MediaSkipBackward;
+ property public final long MediaSkipForward;
+ property public final long MediaStepBackward;
+ property public final long MediaStepForward;
+ property public final long MediaStop;
+ property public final long MediaTopMenu;
+ property public final long Menu;
+ property public final long MetaLeft;
+ property public final long MetaRight;
+ property public final long MicrophoneMute;
+ property public final long Minus;
+ property public final long MoveEnd;
+ property public final long MoveHome;
+ property public final long Muhenkan;
+ property public final long Multiply;
+ property public final long Music;
+ property public final long N;
+ property public final long NavigateIn;
+ property public final long NavigateNext;
+ property public final long NavigateOut;
+ property public final long NavigatePrevious;
+ property public final long Nine;
+ property public final long Notification;
+ property public final long NumLock;
+ property public final long NumPad0;
+ property public final long NumPad1;
+ property public final long NumPad2;
+ property public final long NumPad3;
+ property public final long NumPad4;
+ property public final long NumPad5;
+ property public final long NumPad6;
+ property public final long NumPad7;
+ property public final long NumPad8;
+ property public final long NumPad9;
+ property public final long NumPadAdd;
+ property public final long NumPadComma;
+ property public final long NumPadDivide;
+ property public final long NumPadDot;
+ property public final long NumPadEnter;
+ property public final long NumPadEquals;
+ property public final long NumPadLeftParenthesis;
+ property public final long NumPadMultiply;
+ property public final long NumPadRightParenthesis;
+ property public final long NumPadSubtract;
+ property public final long Number;
+ property public final long O;
+ property public final long One;
+ property public final long P;
+ property public final long PageDown;
+ property public final long PageUp;
+ property public final long Pairing;
+ property public final long Paste;
+ property public final long Period;
+ property public final long PictureSymbols;
+ property public final long Plus;
+ property public final long Pound;
+ property public final long Power;
+ property public final long PrintScreen;
+ property public final long ProfileSwitch;
+ property public final long ProgramBlue;
+ property public final long ProgramGreen;
+ property public final long ProgramRed;
+ property public final long ProgramYellow;
+ property public final long Q;
+ property public final long R;
+ property public final long Refresh;
+ property public final long RightBracket;
+ property public final long Ro;
+ property public final long S;
+ property public final long ScrollLock;
+ property public final long Search;
+ property public final long Semicolon;
+ property public final long SetTopBoxInput;
+ property public final long SetTopBoxPower;
+ property public final long Settings;
+ property public final long Seven;
+ property public final long ShiftLeft;
+ property public final long ShiftRight;
+ property public final long Six;
+ property public final long Slash;
+ property public final long Sleep;
+ property public final long SoftLeft;
+ property public final long SoftRight;
+ property public final long SoftSleep;
+ property public final long Spacebar;
+ property public final long Stem1;
+ property public final long Stem2;
+ property public final long Stem3;
+ property public final long StemPrimary;
+ property public final long SwitchCharset;
+ property public final long Symbol;
+ property public final long SystemNavigationDown;
+ property public final long SystemNavigationLeft;
+ property public final long SystemNavigationRight;
+ property public final long SystemNavigationUp;
+ property public final long T;
+ property public final long Tab;
+ property public final long Three;
+ property public final long ThumbsDown;
+ property public final long ThumbsUp;
+ property public final long Toggle2D3D;
+ property public final long Tv;
+ property public final long TvAntennaCable;
+ property public final long TvAudioDescription;
+ property public final long TvAudioDescriptionMixingVolumeDown;
+ property public final long TvAudioDescriptionMixingVolumeUp;
+ property public final long TvContentsMenu;
+ property public final long TvDataService;
+ property public final long TvInput;
+ property public final long TvInputComponent1;
+ property public final long TvInputComponent2;
+ property public final long TvInputComposite1;
+ property public final long TvInputComposite2;
+ property public final long TvInputHdmi1;
+ property public final long TvInputHdmi2;
+ property public final long TvInputHdmi3;
+ property public final long TvInputHdmi4;
+ property public final long TvInputVga1;
+ property public final long TvMediaContextMenu;
+ property public final long TvNetwork;
+ property public final long TvNumberEntry;
+ property public final long TvPower;
+ property public final long TvRadioService;
+ property public final long TvSatellite;
+ property public final long TvSatelliteBs;
+ property public final long TvSatelliteCs;
+ property public final long TvSatelliteService;
+ property public final long TvTeletext;
+ property public final long TvTerrestrialAnalog;
+ property public final long TvTerrestrialDigital;
+ property public final long TvTimerProgramming;
+ property public final long TvZoomMode;
+ property public final long Two;
+ property public final long U;
+ property public final long Unknown;
+ property public final long V;
+ property public final long VoiceAssist;
+ property public final long VolumeDown;
+ property public final long VolumeMute;
+ property public final long VolumeUp;
+ property public final long W;
+ property public final long WakeUp;
+ property public final long Window;
+ property public final long X;
+ property public final long Y;
+ property public final long Yen;
+ property public final long Z;
+ property public final long ZenkakuHankaru;
+ property public final long Zero;
+ property public final long ZoomIn;
+ property public final long ZoomOut;
+ }
+
+ public final inline class KeyEvent {
+ ctor public KeyEvent();
+ method public static android.view.KeyEvent! constructor-impl(android.view.KeyEvent nativeKeyEvent);
+ method public static inline boolean equals-impl(android.view.KeyEvent! p, Object? p1);
+ method public static boolean equals-impl0(android.view.KeyEvent p1, android.view.KeyEvent p2);
+ method public android.view.KeyEvent getNativeKeyEvent();
+ method public static inline int hashCode-impl(android.view.KeyEvent! p);
+ method public static inline String! toString-impl(android.view.KeyEvent! p);
+ property public final android.view.KeyEvent nativeKeyEvent;
+ }
+
+ public final inline class KeyEventType {
+ ctor public KeyEventType();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.input.key.KeyEventType.Companion Companion;
+ }
+
+ public static final class KeyEventType.Companion {
+ method public int getKeyDown-CS__XNY();
+ method public int getKeyUp-CS__XNY();
+ method public int getUnknown-CS__XNY();
+ property public final int KeyDown;
+ property public final int KeyUp;
+ property public final int Unknown;
+ }
+
+ public final class KeyEvent_androidKt {
+ method public static long getKey-ZmokQxo(android.view.KeyEvent);
+ method public static int getType-ZmokQxo(android.view.KeyEvent);
+ method public static int getUtf16CodePoint-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isAltPressed-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isCtrlPressed-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isMetaPressed-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isShiftPressed-ZmokQxo(android.view.KeyEvent);
+ }
+
+ public final class KeyInputModifierKt {
+ method public static androidx.compose.ui.Modifier onKeyEvent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.key.KeyEvent,java.lang.Boolean> onKeyEvent);
+ method public static androidx.compose.ui.Modifier onPreviewKeyEvent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.key.KeyEvent,java.lang.Boolean> onPreviewKeyEvent);
+ }
+
+ public final class Key_androidKt {
+ method public static long Key(int nativeKeyCode);
+ method public static int getNativeKeyCode-YVgTNJs(long);
+ }
+
+}
+
+package androidx.compose.ui.input.nestedscroll {
+
+ public interface NestedScrollConnection {
+ method public default suspend Object? onPostFling-k5p9STU(long consumed, long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public default long onPostScroll-61dr0bI(long consumed, long available, int source);
+ method public default suspend Object? onPreFling-bHeVL4A(long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public default long onPreScroll-ScU7Jk8(long available, int source);
+ }
+
+ public final class NestedScrollDelegatingWrapperKt {
+ }
+
+ public final class NestedScrollDispatcher {
+ ctor public NestedScrollDispatcher();
+ method public suspend Object? dispatchPostFling-k5p9STU(long consumed, long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public long dispatchPostScroll-61dr0bI(long consumed, long available, int source);
+ method public suspend Object? dispatchPreFling-bHeVL4A(long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public long dispatchPreScroll-ScU7Jk8(long available, int source);
+ method public kotlinx.coroutines.CoroutineScope getCoroutineScope();
+ property public final kotlinx.coroutines.CoroutineScope coroutineScope;
+ }
+
+ public final class NestedScrollModifierKt {
+ method public static androidx.compose.ui.Modifier nestedScroll(androidx.compose.ui.Modifier, androidx.compose.ui.input.nestedscroll.NestedScrollConnection connection, optional androidx.compose.ui.input.nestedscroll.NestedScrollDispatcher? dispatcher);
+ }
+
+ public final inline class NestedScrollSource {
+ ctor public NestedScrollSource();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.input.nestedscroll.NestedScrollSource.Companion Companion;
+ }
+
+ public static final class NestedScrollSource.Companion {
+ method public int getDrag-WNlRxjI();
+ method public int getFling-WNlRxjI();
+ method @Deprecated public int getRelocate-WNlRxjI();
+ property public final int Drag;
+ property public final int Fling;
+ property @Deprecated public final int Relocate;
+ }
+
+}
+
+package androidx.compose.ui.input.pointer {
+
+ @kotlin.coroutines.RestrictsSuspension public interface AwaitPointerEventScope extends androidx.compose.ui.unit.Density {
+ method public suspend Object? awaitPointerEvent(optional androidx.compose.ui.input.pointer.PointerEventPass pass, optional kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerEvent> p);
+ method public androidx.compose.ui.input.pointer.PointerEvent getCurrentEvent();
+ method public long getSize-YbymL2g();
+ method public androidx.compose.ui.platform.ViewConfiguration getViewConfiguration();
+ property public abstract androidx.compose.ui.input.pointer.PointerEvent currentEvent;
+ property public abstract long size;
+ property public abstract androidx.compose.ui.platform.ViewConfiguration viewConfiguration;
+ }
+
+ public final class ConsumedData {
+ ctor public ConsumedData(optional boolean positionChange, optional boolean downChange);
+ method public boolean getDownChange();
+ method public boolean getPositionChange();
+ method public void setDownChange(boolean p);
+ method public void setPositionChange(boolean p);
+ property public final boolean downChange;
+ property public final boolean positionChange;
+ }
+
+ public final class MotionEventAdapter_androidKt {
+ }
+
+ public final class PointerEvent {
+ ctor public PointerEvent(java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> changes);
+ method public java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> component1();
+ method public androidx.compose.ui.input.pointer.PointerEvent copy(java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> changes, android.view.MotionEvent? motionEvent);
+ method public java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> getChanges();
+ property public final java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> changes;
+ }
+
+ public final class PointerEventKt {
+ method public static boolean anyChangeConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToDown(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToDownIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToUp(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToUpIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static void consumeAllChanges(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static void consumeDownChange(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static void consumePositionChange(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean isOutOfBounds-MReStF0(androidx.compose.ui.input.pointer.PointerInputChange, long size);
+ method public static long positionChange(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean positionChangeConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static long positionChangeIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean positionChanged(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean positionChangedIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ }
+
+ public enum PointerEventPass {
+ enum_constant public static final androidx.compose.ui.input.pointer.PointerEventPass Final;
+ enum_constant public static final androidx.compose.ui.input.pointer.PointerEventPass Initial;
+ enum_constant public static final androidx.compose.ui.input.pointer.PointerEventPass Main;
+ }
+
+ public final inline class PointerId {
+ ctor public PointerId();
+ method public static long constructor-impl(long value);
+ method public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public long getValue();
+ method public static inline int hashCode-impl(long p);
+ method public static inline String! toString-impl(long p);
+ property public final long value;
+ }
+
+ @androidx.compose.runtime.Immutable public final class PointerInputChange {
+ method public androidx.compose.ui.input.pointer.PointerInputChange copy-aJ2ieLA(optional long id, optional long currentTime, optional long currentPosition, optional boolean currentPressed, optional long previousTime, optional long previousPosition, optional boolean previousPressed, optional androidx.compose.ui.input.pointer.ConsumedData consumed, optional int type);
+ method public androidx.compose.ui.input.pointer.ConsumedData getConsumed();
+ method public long getId-J3iCeTQ();
+ method public long getPosition-F1C5BW0();
+ method public boolean getPressed();
+ method public long getPreviousPosition-F1C5BW0();
+ method public boolean getPreviousPressed();
+ method public long getPreviousUptimeMillis();
+ method public int getType-T8wyACA();
+ method public long getUptimeMillis();
+ property public final androidx.compose.ui.input.pointer.ConsumedData consumed;
+ property public final long id;
+ property public final long position;
+ property public final boolean pressed;
+ property public final long previousPosition;
+ property public final boolean previousPressed;
+ property public final long previousUptimeMillis;
+ property public final int type;
+ property public final long uptimeMillis;
+ }
+
+ public final class PointerInputEventProcessorKt {
+ }
+
+ public abstract class PointerInputFilter {
+ ctor public PointerInputFilter();
+ method public final long getSize-YbymL2g();
+ method public abstract void onCancel();
+ method public abstract void onPointerEvent-d1fqKvQ(androidx.compose.ui.input.pointer.PointerEvent pointerEvent, androidx.compose.ui.input.pointer.PointerEventPass pass, long bounds);
+ property public final long size;
+ }
+
+ public interface PointerInputModifier extends androidx.compose.ui.Modifier.Element {
+ method public androidx.compose.ui.input.pointer.PointerInputFilter getPointerInputFilter();
+ property public abstract androidx.compose.ui.input.pointer.PointerInputFilter pointerInputFilter;
+ }
+
+ public interface PointerInputScope extends androidx.compose.ui.unit.Density {
+ method public suspend <R> Object? awaitPointerEventScope(kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.AwaitPointerEventScope,? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ method public long getSize-YbymL2g();
+ method public androidx.compose.ui.platform.ViewConfiguration getViewConfiguration();
+ property public abstract long size;
+ property public abstract androidx.compose.ui.platform.ViewConfiguration viewConfiguration;
+ }
+
+ public final class PointerInputTestUtilKt {
+ }
+
+ public final class PointerInteropFilter_androidKt {
+ }
+
+ public final class PointerInteropUtils_androidKt {
+ }
+
+ public final inline class PointerType {
+ ctor public PointerType();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.input.pointer.PointerType.Companion Companion;
+ }
+
+ public static final class PointerType.Companion {
+ method public int getEraser-T8wyACA();
+ method public int getMouse-T8wyACA();
+ method public int getStylus-T8wyACA();
+ method public int getTouch-T8wyACA();
+ method public int getUnknown-T8wyACA();
+ property public final int Eraser;
+ property public final int Mouse;
+ property public final int Stylus;
+ property public final int Touch;
+ property public final int Unknown;
+ }
+
+ public final class SuspendingPointerInputFilterKt {
+ method @Deprecated public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, Object? key1, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, Object![]? keys, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ }
+
+}
+
+package androidx.compose.ui.input.pointer.util {
+
+ public final class VelocityTracker {
+ ctor public VelocityTracker();
+ method public void addPosition-OX7LsLU(long timeMillis, long position);
+ method public long calculateVelocity-9UxMQ8M();
+ method public void resetTracking();
+ }
+
+ public final class VelocityTrackerKt {
+ }
+
+}
+
+package androidx.compose.ui.layout {
+
+ @androidx.compose.runtime.Immutable public abstract sealed class AlignmentLine {
+ field public static final androidx.compose.ui.layout.AlignmentLine.Companion Companion;
+ field public static final int Unspecified = -2147483648; // 0x80000000
+ }
+
+ public static final class AlignmentLine.Companion {
+ }
+
+ public final class AlignmentLineKt {
+ method public static androidx.compose.ui.layout.HorizontalAlignmentLine getFirstBaseline();
+ method public static androidx.compose.ui.layout.HorizontalAlignmentLine getLastBaseline();
+ }
+
+ @androidx.compose.runtime.Stable public interface ContentScale {
+ method public long computeScaleFactor-AhF4CD4(long srcSize, long dstSize);
+ field public static final androidx.compose.ui.layout.ContentScale.Companion Companion;
+ }
+
+ public static final class ContentScale.Companion {
+ method public androidx.compose.ui.layout.ContentScale getCrop();
+ method public androidx.compose.ui.layout.ContentScale getFillBounds();
+ method public androidx.compose.ui.layout.ContentScale getFillHeight();
+ method public androidx.compose.ui.layout.ContentScale getFillWidth();
+ method public androidx.compose.ui.layout.ContentScale getFit();
+ method public androidx.compose.ui.layout.ContentScale getInside();
+ method public androidx.compose.ui.layout.FixedScale getNone();
+ property public final androidx.compose.ui.layout.ContentScale Crop;
+ property public final androidx.compose.ui.layout.ContentScale FillBounds;
+ property public final androidx.compose.ui.layout.ContentScale FillHeight;
+ property public final androidx.compose.ui.layout.ContentScale FillWidth;
+ property public final androidx.compose.ui.layout.ContentScale Fit;
+ property public final androidx.compose.ui.layout.ContentScale Inside;
+ property public final androidx.compose.ui.layout.FixedScale None;
+ }
+
+ public final class ContentScaleKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class FixedScale implements androidx.compose.ui.layout.ContentScale {
+ ctor public FixedScale(float value);
+ method public float component1();
+ method public long computeScaleFactor-AhF4CD4(long srcSize, long dstSize);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.layout.FixedScale copy(float value);
+ method public float getValue();
+ property public final float value;
+ }
+
+ public interface GraphicLayerInfo {
+ method public long getLayerId();
+ property public abstract long layerId;
+ }
+
+ public final class HorizontalAlignmentLine extends androidx.compose.ui.layout.AlignmentLine {
+ ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
+ }
+
+ public interface IntrinsicMeasurable {
+ method public Object? getParentData();
+ method public int maxIntrinsicHeight(int width);
+ method public int maxIntrinsicWidth(int height);
+ method public int minIntrinsicHeight(int width);
+ method public int minIntrinsicWidth(int height);
+ property public abstract Object? parentData;
+ }
+
+ public final class IntrinsicMeasurableKt {
+ }
+
+ public interface IntrinsicMeasureScope extends androidx.compose.ui.unit.Density {
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ }
+
+ public interface LayoutCoordinates {
+ method public operator int get(androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public androidx.compose.ui.layout.LayoutCoordinates? getParentCoordinates();
+ method public androidx.compose.ui.layout.LayoutCoordinates? getParentLayoutCoordinates();
+ method public java.util.Set<androidx.compose.ui.layout.AlignmentLine> getProvidedAlignmentLines();
+ method public long getSize-YbymL2g();
+ method public boolean isAttached();
+ method public androidx.compose.ui.geometry.Rect localBoundingBoxOf(androidx.compose.ui.layout.LayoutCoordinates sourceCoordinates, optional boolean clipBounds);
+ method public long localPositionOf-YJiYy8w(androidx.compose.ui.layout.LayoutCoordinates sourceCoordinates, long relativeToSource);
+ method public long localToRoot-k-4lQ0M(long relativeToLocal);
+ method public long localToWindow-k-4lQ0M(long relativeToLocal);
+ method public long windowToLocal-k-4lQ0M(long relativeToWindow);
+ property public abstract boolean isAttached;
+ property public abstract androidx.compose.ui.layout.LayoutCoordinates? parentCoordinates;
+ property public abstract androidx.compose.ui.layout.LayoutCoordinates? parentLayoutCoordinates;
+ property public abstract java.util.Set<androidx.compose.ui.layout.AlignmentLine> providedAlignmentLines;
+ property public abstract long size;
+ }
+
+ public final class LayoutCoordinatesKt {
+ method public static androidx.compose.ui.geometry.Rect boundsInParent(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static androidx.compose.ui.geometry.Rect boundsInRoot(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static androidx.compose.ui.geometry.Rect boundsInWindow(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static long positionInParent(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static long positionInRoot(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static long positionInWindow(androidx.compose.ui.layout.LayoutCoordinates);
+ }
+
+ public final class LayoutIdKt {
+ method public static Object? getLayoutId(androidx.compose.ui.layout.Measurable);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier layoutId(androidx.compose.ui.Modifier, Object layoutId);
+ }
+
+ public interface LayoutIdParentData {
+ method public Object getLayoutId();
+ property public abstract Object layoutId;
+ }
+
+ public interface LayoutInfo {
+ method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
+ method public int getHeight();
+ method public java.util.List<androidx.compose.ui.layout.ModifierInfo> getModifierInfo();
+ method public androidx.compose.ui.layout.LayoutInfo? getParentInfo();
+ method public int getWidth();
+ method public boolean isAttached();
+ method public boolean isPlaced();
+ property public abstract androidx.compose.ui.layout.LayoutCoordinates coordinates;
+ property public abstract int height;
+ property public abstract boolean isAttached;
+ property public abstract boolean isPlaced;
+ property public abstract androidx.compose.ui.layout.LayoutInfo? parentInfo;
+ property public abstract int width;
+ }
+
+ public final class LayoutKt {
+ method @androidx.compose.runtime.Composable public static inline void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> content, optional androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.MeasurePolicy measurePolicy);
+ method @Deprecated @androidx.compose.runtime.Composable public static void MultiMeasureLayout(optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content, androidx.compose.ui.layout.MeasurePolicy measurePolicy);
+ }
+
+ public interface LayoutModifier extends androidx.compose.ui.Modifier.Element {
+ method public default int maxIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int width);
+ method public default int maxIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int height);
+ method public androidx.compose.ui.layout.MeasureResult measure-za8Wrwc(androidx.compose.ui.layout.MeasureScope, androidx.compose.ui.layout.Measurable measurable, long constraints);
+ method public default int minIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int width);
+ method public default int minIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int height);
+ }
+
+ public final class LayoutModifierKt {
+ method public static androidx.compose.ui.Modifier layout(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function3<? super androidx.compose.ui.layout.MeasureScope,? super androidx.compose.ui.layout.Measurable,? super androidx.compose.ui.unit.Constraints,? extends androidx.compose.ui.layout.MeasureResult> measure);
+ }
+
+ public interface Measurable extends androidx.compose.ui.layout.IntrinsicMeasurable {
+ method public androidx.compose.ui.layout.Placeable measure-BRTryo0(long constraints);
+ }
+
+ @androidx.compose.runtime.Stable public fun interface MeasurePolicy {
+ method public default int maxIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int width);
+ method public default int maxIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int height);
+ method public androidx.compose.ui.layout.MeasureResult measure-8A2P9vY(androidx.compose.ui.layout.MeasureScope, java.util.List<? extends androidx.compose.ui.layout.Measurable> measurables, long constraints);
+ method public default int minIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int width);
+ method public default int minIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int height);
+ }
+
+ public interface MeasureResult {
+ method public java.util.Map<androidx.compose.ui.layout.AlignmentLine,java.lang.Integer> getAlignmentLines();
+ method public int getHeight();
+ method public int getWidth();
+ method public void placeChildren();
+ property public abstract java.util.Map<androidx.compose.ui.layout.AlignmentLine,java.lang.Integer> alignmentLines;
+ property public abstract int height;
+ property public abstract int width;
+ }
+
+ public interface MeasureScope extends androidx.compose.ui.layout.IntrinsicMeasureScope {
+ method public default androidx.compose.ui.layout.MeasureResult layout(int width, int height, optional java.util.Map<androidx.compose.ui.layout.AlignmentLine,java.lang.Integer> alignmentLines, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.Placeable.PlacementScope,kotlin.Unit> placementBlock);
+ }
+
+ public final class MeasureScopeKt {
+ }
+
+ public interface Measured {
+ method public operator int get(androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public int getMeasuredHeight();
+ method public int getMeasuredWidth();
+ property public abstract int measuredHeight;
+ property public abstract int measuredWidth;
+ }
+
+ public final class ModifierInfo {
+ ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, optional Object? extra);
+ method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
+ method public Object? getExtra();
+ method public androidx.compose.ui.Modifier getModifier();
+ property public final androidx.compose.ui.layout.LayoutCoordinates coordinates;
+ property public final Object? extra;
+ property public final androidx.compose.ui.Modifier modifier;
+ }
+
+ public interface OnGloballyPositionedModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onGloballyPositioned(androidx.compose.ui.layout.LayoutCoordinates coordinates);
+ }
+
+ public final class OnGloballyPositionedModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier onGloballyPositioned(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.LayoutCoordinates,kotlin.Unit> onGloballyPositioned);
+ }
+
+ public interface OnRemeasuredModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onRemeasured-ozmzZPI(long size);
+ }
+
+ public final class OnRemeasuredModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier onSizeChanged(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,kotlin.Unit> onSizeChanged);
+ }
+
+ public interface ParentDataModifier extends androidx.compose.ui.Modifier.Element {
+ method public Object? modifyParentData(androidx.compose.ui.unit.Density, Object? parentData);
+ }
+
+ public abstract class Placeable implements androidx.compose.ui.layout.Measured {
+ ctor public Placeable();
+ method protected final long getApparentToRealOffset-nOcc-ac();
+ method public final int getHeight();
+ method public int getMeasuredHeight();
+ method protected final long getMeasuredSize-YbymL2g();
+ method public int getMeasuredWidth();
+ method protected final long getMeasurementConstraints-msEJaDk();
+ method public final int getWidth();
+ method protected abstract void placeAt-rMeLuDI(long position, float zIndex, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit>? layerBlock);
+ method protected final void setMeasuredSize-ozmzZPI(long value);
+ method protected final void setMeasurementConstraints-BRTryo0(long value);
+ property protected final long apparentToRealOffset;
+ property public final int height;
+ property public int measuredHeight;
+ property protected final long measuredSize;
+ property public int measuredWidth;
+ property protected final long measurementConstraints;
+ property public final int width;
+ }
+
+ public abstract static class Placeable.PlacementScope {
+ ctor public Placeable.PlacementScope();
+ method protected abstract androidx.compose.ui.unit.LayoutDirection getParentLayoutDirection();
+ method protected abstract int getParentWidth();
+ method public final void place(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex);
+ method public final void place-z2mxYZE(androidx.compose.ui.layout.Placeable, long position, optional float zIndex);
+ method public final void placeRelative(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex);
+ method public final void placeRelative-z2mxYZE(androidx.compose.ui.layout.Placeable, long position, optional float zIndex);
+ method public final void placeRelativeWithLayer(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ method public final void placeRelativeWithLayer-muyPCdA(androidx.compose.ui.layout.Placeable, long position, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ method public final void placeWithLayer(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ method public final void placeWithLayer-muyPCdA(androidx.compose.ui.layout.Placeable, long position, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ property protected abstract androidx.compose.ui.unit.LayoutDirection parentLayoutDirection;
+ property protected abstract int parentWidth;
+ }
+
+ public final class PlaceableKt {
+ }
+
+ public final class RelocationRequesterModifierKt {
+ }
+
+ public interface Remeasurement {
+ method public void forceRemeasure();
+ }
+
+ public interface RemeasurementModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onRemeasurementAvailable(androidx.compose.ui.layout.Remeasurement remeasurement);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ScaleFactor {
+ ctor public ScaleFactor();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-_hLwfpc(long $this, optional float scaleX, optional float scaleY);
+ method @androidx.compose.runtime.Stable public static operator long div-_hLwfpc(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getScaleX-impl(long $this);
+ method public static float getScaleY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long times-_hLwfpc(long $this, float operand);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.layout.ScaleFactor.Companion Companion;
+ }
+
+ public static final class ScaleFactor.Companion {
+ method public long getUnspecified-_hLwfpc();
+ property public final long Unspecified;
+ }
+
+ public final class ScaleFactorKt {
+ method @androidx.compose.runtime.Stable public static long ScaleFactor(float scaleX, float scaleY);
+ method @androidx.compose.runtime.Stable public static operator long div-ngKnWWw(long, long scaleFactor);
+ method public static inline boolean isSpecified-FK8aYYs(long);
+ method public static inline boolean isUnspecified-FK8aYYs(long);
+ method @androidx.compose.runtime.Stable public static long lerp-bKVCie4(long start, long stop, float fraction);
+ method public static inline long takeOrElse-L-byAFk(long, kotlin.jvm.functions.Function0<androidx.compose.ui.layout.ScaleFactor> block);
+ method @androidx.compose.runtime.Stable public static operator long times-Sp6zcS4(long, long size);
+ method @androidx.compose.runtime.Stable public static operator long times-ngKnWWw(long, long scaleFactor);
+ }
+
+ public final class SubcomposeLayoutKt {
+ method @androidx.compose.runtime.Composable public static void SubcomposeLayout(optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function2<? super androidx.compose.ui.layout.SubcomposeMeasureScope,? super androidx.compose.ui.unit.Constraints,? extends androidx.compose.ui.layout.MeasureResult> measurePolicy);
+ method @androidx.compose.runtime.Composable public static void SubcomposeLayout(androidx.compose.ui.layout.SubcomposeLayoutState state, optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function2<? super androidx.compose.ui.layout.SubcomposeMeasureScope,? super androidx.compose.ui.unit.Constraints,? extends androidx.compose.ui.layout.MeasureResult> measurePolicy);
+ }
+
+ public final class SubcomposeLayoutState {
+ ctor public SubcomposeLayoutState(int maxSlotsToRetainForReuse);
+ ctor public SubcomposeLayoutState();
+ method public androidx.compose.ui.layout.SubcomposeLayoutState.PrecomposedSlotHandle precompose(Object? slotId, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public static interface SubcomposeLayoutState.PrecomposedSlotHandle {
+ method public void dispose();
+ }
+
+ public interface SubcomposeMeasureScope extends androidx.compose.ui.layout.MeasureScope {
+ method public java.util.List<androidx.compose.ui.layout.Measurable> subcompose(Object? slotId, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class TestModifierUpdaterKt {
+ }
+
+ public final class VerticalAlignmentLine extends androidx.compose.ui.layout.AlignmentLine {
+ ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
+ }
+
+}
+
+package androidx.compose.ui.node {
+
+ public final class LayoutNodeKt {
+ }
+
+ public final class Ref<T> {
+ ctor public Ref();
+ method public T? getValue();
+ method public void setValue(T? p);
+ property public final T? value;
+ }
+
+ public interface RootForTest {
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.semantics.SemanticsOwner getSemanticsOwner();
+ method public androidx.compose.ui.text.input.TextInputService getTextInputService();
+ method public boolean sendKeyEvent-ZmokQxo(android.view.KeyEvent keyEvent);
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.semantics.SemanticsOwner semanticsOwner;
+ property public abstract androidx.compose.ui.text.input.TextInputService textInputService;
+ }
+
+ public final class ViewInterop_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.platform {
+
+ public abstract class AbstractComposeView extends android.view.ViewGroup {
+ ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+ ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
+ ctor public AbstractComposeView(android.content.Context context);
+ method @androidx.compose.runtime.Composable public abstract void Content();
+ method public final void createComposition();
+ method public final void disposeComposition();
+ method public final boolean getHasComposition();
+ method protected boolean getShouldCreateCompositionOnAttachedToWindow();
+ method public final boolean getShowLayoutBounds();
+ method protected final void onLayout(boolean changed, int left, int top, int right, int bottom);
+ method protected final void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
+ method public final void setParentCompositionContext(androidx.compose.runtime.CompositionContext? parent);
+ method public final void setShowLayoutBounds(boolean value);
+ method public final void setViewCompositionStrategy(androidx.compose.ui.platform.ViewCompositionStrategy strategy);
+ property public final boolean hasComposition;
+ property protected boolean shouldCreateCompositionOnAttachedToWindow;
+ property public final boolean showLayoutBounds;
+ }
+
+ public interface AccessibilityManager {
+ method public long calculateRecommendedTimeoutMillis(long originalTimeoutMillis, optional boolean containsIcons, optional boolean containsText, optional boolean containsControls);
+ }
+
+ public final class AndroidClipboardManager_androidKt {
+ }
+
+ public final class AndroidComposeViewAccessibilityDelegateCompat_androidKt {
+ }
+
+ public final class AndroidComposeView_androidKt {
+ }
+
+ public final class AndroidCompositionLocals_androidKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<android.content.res.Configuration> getLocalConfiguration();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<android.content.Context> getLocalContext();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.lifecycle.LifecycleOwner> getLocalLifecycleOwner();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.savedstate.SavedStateRegistryOwner> getLocalSavedStateRegistryOwner();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<android.view.View> getLocalView();
+ }
+
+ public final class AndroidUiDispatcher extends kotlinx.coroutines.CoroutineDispatcher {
+ method public void dispatch(kotlin.coroutines.CoroutineContext context, Runnable block);
+ method public android.view.Choreographer getChoreographer();
+ method public androidx.compose.runtime.MonotonicFrameClock getFrameClock();
+ property public final android.view.Choreographer choreographer;
+ property public final androidx.compose.runtime.MonotonicFrameClock frameClock;
+ field public static final androidx.compose.ui.platform.AndroidUiDispatcher.Companion Companion;
+ }
+
+ public static final class AndroidUiDispatcher.Companion {
+ method public kotlin.coroutines.CoroutineContext getCurrentThread();
+ method public kotlin.coroutines.CoroutineContext getMain();
+ property public final kotlin.coroutines.CoroutineContext CurrentThread;
+ property public final kotlin.coroutines.CoroutineContext Main;
+ }
+
+ public final class AndroidUiDispatcher_androidKt {
+ }
+
+ public final class AndroidUiFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public AndroidUiFrameClock(android.view.Choreographer choreographer);
+ method public android.view.Choreographer getChoreographer();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final android.view.Choreographer choreographer;
+ }
+
+ public final class AndroidUriHandler implements androidx.compose.ui.platform.UriHandler {
+ ctor public AndroidUriHandler(android.content.Context context);
+ method public void openUri(String uri);
+ }
+
+ public final class AndroidViewConfiguration implements androidx.compose.ui.platform.ViewConfiguration {
+ ctor public AndroidViewConfiguration(android.view.ViewConfiguration viewConfiguration);
+ method public long getDoubleTapMinTimeMillis();
+ method public long getDoubleTapTimeoutMillis();
+ method public long getLongPressTimeoutMillis();
+ method public float getTouchSlop();
+ property public long doubleTapMinTimeMillis;
+ property public long doubleTapTimeoutMillis;
+ property public long longPressTimeoutMillis;
+ property public float touchSlop;
+ }
+
+ public interface ClipboardManager {
+ method public androidx.compose.ui.text.AnnotatedString? getText();
+ method public void setText(androidx.compose.ui.text.AnnotatedString annotatedString);
+ }
+
+ public final class ComposeView extends androidx.compose.ui.platform.AbstractComposeView {
+ ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+ ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
+ ctor public ComposeView(android.content.Context context);
+ method @androidx.compose.runtime.Composable public void Content();
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ property protected boolean shouldCreateCompositionOnAttachedToWindow;
+ }
+
+ public final class CompositionLocalsKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.AccessibilityManager> getLocalAccessibilityManager();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.ClipboardManager> getLocalClipboardManager();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.unit.Density> getLocalDensity();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.focus.FocusManager> getLocalFocusManager();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.hapticfeedback.HapticFeedback> getLocalHapticFeedback();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.unit.LayoutDirection> getLocalLayoutDirection();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.text.input.TextInputService> getLocalTextInputService();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.TextToolbar> getLocalTextToolbar();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.UriHandler> getLocalUriHandler();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.ViewConfiguration> getLocalViewConfiguration();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.WindowInfo> getLocalWindowInfo();
+ }
+
+ public final class DebugUtilsKt {
+ }
+
+ public final class DisposableSaveableStateRegistry_androidKt {
+ }
+
+ public interface InspectableValue {
+ method public default kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> getInspectableElements();
+ method public default String? getNameFallback();
+ method public default Object? getValueOverride();
+ property public default kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> inspectableElements;
+ property public default String? nameFallback;
+ property public default Object? valueOverride;
+ }
+
+ public final class InspectableValueKt {
+ method public static inline kotlin.jvm.functions.Function1<androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> debugInspectorInfo(kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> definitions);
+ method public static kotlin.jvm.functions.Function1<androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> getNoInspectorInfo();
+ method public static boolean isDebugInspectorInfoEnabled();
+ method public static void setDebugInspectorInfoEnabled(boolean p);
+ }
+
+ public final class InspectionModeKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<java.lang.Boolean> getLocalInspectionMode();
+ }
+
+ public final class InspectorInfo {
+ ctor public InspectorInfo();
+ method public String? getName();
+ method public androidx.compose.ui.platform.ValueElementSequence getProperties();
+ method public Object? getValue();
+ method public void setName(String? p);
+ method public void setValue(Object? p);
+ property public final String? name;
+ property public final androidx.compose.ui.platform.ValueElementSequence properties;
+ property public final Object? value;
+ }
+
+ public abstract class InspectorValueInfo implements androidx.compose.ui.platform.InspectableValue {
+ ctor public InspectorValueInfo(kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> info);
+ property public kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> inspectableElements;
+ property public String? nameFallback;
+ property public Object? valueOverride;
+ }
+
+ public final class JvmActuals_jvmKt {
+ }
+
+ public final class ShapeContainingUtilKt {
+ }
+
+ public final class TestTagKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier testTag(androidx.compose.ui.Modifier, String tag);
+ }
+
+ public interface TextToolbar {
+ method public androidx.compose.ui.platform.TextToolbarStatus getStatus();
+ method public void hide();
+ method public void showMenu(androidx.compose.ui.geometry.Rect rect, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onCopyRequested, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onPasteRequested, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onCutRequested, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onSelectAllRequested);
+ property public abstract androidx.compose.ui.platform.TextToolbarStatus status;
+ }
+
+ public final class TextToolbarKt {
+ }
+
+ public enum TextToolbarStatus {
+ enum_constant public static final androidx.compose.ui.platform.TextToolbarStatus Hidden;
+ enum_constant public static final androidx.compose.ui.platform.TextToolbarStatus Shown;
+ }
+
+ public interface UriHandler {
+ method public void openUri(String uri);
+ }
+
+ public final class ValueElement {
+ ctor public ValueElement(String name, Object? value);
+ method public String component1();
+ method public Object? component2();
+ method public androidx.compose.ui.platform.ValueElement copy(String name, Object? value);
+ method public String getName();
+ method public Object? getValue();
+ property public final String name;
+ property public final Object? value;
+ }
+
+ public final class ValueElementSequence implements kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> {
+ ctor public ValueElementSequence();
+ method public java.util.Iterator<androidx.compose.ui.platform.ValueElement> iterator();
+ method public operator void set(String name, Object? value);
+ }
+
+ public interface ViewCompositionStrategy {
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ field public static final androidx.compose.ui.platform.ViewCompositionStrategy.Companion Companion;
+ }
+
+ public static final class ViewCompositionStrategy.Companion {
+ }
+
+ public static final class ViewCompositionStrategy.DisposeOnDetachedFromWindow implements androidx.compose.ui.platform.ViewCompositionStrategy {
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ field public static final androidx.compose.ui.platform.ViewCompositionStrategy.DisposeOnDetachedFromWindow INSTANCE;
+ }
+
+ public static final class ViewCompositionStrategy.DisposeOnLifecycleDestroyed implements androidx.compose.ui.platform.ViewCompositionStrategy {
+ ctor public ViewCompositionStrategy.DisposeOnLifecycleDestroyed(androidx.lifecycle.Lifecycle lifecycle);
+ ctor public ViewCompositionStrategy.DisposeOnLifecycleDestroyed(androidx.lifecycle.LifecycleOwner lifecycleOwner);
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ }
+
+ public static final class ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed implements androidx.compose.ui.platform.ViewCompositionStrategy {
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ field public static final androidx.compose.ui.platform.ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed INSTANCE;
+ }
+
+ public final class ViewCompositionStrategy_androidKt {
+ }
+
+ public interface ViewConfiguration {
+ method public long getDoubleTapMinTimeMillis();
+ method public long getDoubleTapTimeoutMillis();
+ method public long getLongPressTimeoutMillis();
+ method public float getTouchSlop();
+ property public abstract long doubleTapMinTimeMillis;
+ property public abstract long doubleTapTimeoutMillis;
+ property public abstract long longPressTimeoutMillis;
+ property public abstract float touchSlop;
+ }
+
+ @VisibleForTesting public interface ViewRootForTest extends androidx.compose.ui.node.RootForTest {
+ method public boolean getHasPendingMeasureOrLayout();
+ method public android.view.View getView();
+ method public void invalidateDescendants();
+ method public boolean isLifecycleInResumedState();
+ property public abstract boolean hasPendingMeasureOrLayout;
+ property public abstract boolean isLifecycleInResumedState;
+ property public abstract android.view.View view;
+ field public static final androidx.compose.ui.platform.ViewRootForTest.Companion Companion;
+ }
+
+ public static final class ViewRootForTest.Companion {
+ method public kotlin.jvm.functions.Function1<androidx.compose.ui.platform.ViewRootForTest,kotlin.Unit>? getOnViewCreatedCallback();
+ method public void setOnViewCreatedCallback(kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.ViewRootForTest,kotlin.Unit>? p);
+ property public final kotlin.jvm.functions.Function1<androidx.compose.ui.platform.ViewRootForTest,kotlin.Unit>? onViewCreatedCallback;
+ }
+
+ @androidx.compose.runtime.Stable public interface WindowInfo {
+ method public boolean isWindowFocused();
+ property public abstract boolean isWindowFocused;
+ }
+
+ public final class WindowInfoKt {
+ }
+
+ public final class WindowRecomposer_androidKt {
+ method public static androidx.compose.runtime.CompositionContext? findViewTreeCompositionContext(android.view.View);
+ method public static androidx.compose.runtime.CompositionContext? getCompositionContext(android.view.View);
+ method public static void setCompositionContext(android.view.View, androidx.compose.runtime.CompositionContext? value);
+ }
+
+ public final class Wrapper_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.platform.accessibility {
+
+ public final class CollectionInfoKt {
+ }
+
+}
+
+package androidx.compose.ui.platform.actionmodecallback {
+
+ public final class TextActionModeCallback_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.res {
+
+ public final class AnimatedVectorResources_androidKt {
+ }
+
+ public final class AnimatorResources_androidKt {
+ }
+
+ public final class ColorResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static long colorResource(@ColorRes int id);
+ }
+
+ public final class FontResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static androidx.compose.ui.text.font.Typeface fontResource(androidx.compose.ui.text.font.FontFamily fontFamily);
+ }
+
+ public final class ImageResources_androidKt {
+ method public static androidx.compose.ui.graphics.ImageBitmap imageResource(androidx.compose.ui.graphics.ImageBitmap.Companion, android.content.res.Resources res, @DrawableRes int id);
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.ImageBitmap imageResource(androidx.compose.ui.graphics.ImageBitmap.Companion, @DrawableRes int id);
+ }
+
+ public final class PainterResources_androidKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.painter.Painter painterResource(@DrawableRes int id);
+ }
+
+ public final class PrimitiveResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static boolean booleanResource(@BoolRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static float dimensionResource(@DimenRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static int[] integerArrayResource(@ArrayRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static int integerResource(@IntegerRes int id);
+ }
+
+ public final class StringResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static String![] stringArrayResource(@ArrayRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static String stringResource(@StringRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
+ }
+
+ public final class VectorResources_androidKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.vector.ImageVector vectorResource(androidx.compose.ui.graphics.vector.ImageVector.Companion, @DrawableRes int id);
+ method @kotlin.jvm.Throws(exceptionClasses=XmlPullParserException::class) public static androidx.compose.ui.graphics.vector.ImageVector vectorResource(androidx.compose.ui.graphics.vector.ImageVector.Companion, optional android.content.res.Resources.Theme? theme, android.content.res.Resources res, int resId) throws org.xmlpull.v1.XmlPullParserException;
+ }
+
+}
+
+package androidx.compose.ui.semantics {
+
+ public final class AccessibilityAction<T extends kotlin.Function<? extends java.lang.Boolean>> {
+ ctor public AccessibilityAction(String? label, T? action);
+ method public T? getAction();
+ method public String? getLabel();
+ property public final T? action;
+ property public final String? label;
+ }
+
+ public final class CollectionInfo {
+ ctor public CollectionInfo(int rowCount, int columnCount);
+ method public int getColumnCount();
+ method public int getRowCount();
+ property public final int columnCount;
+ property public final int rowCount;
+ }
+
+ public final class CollectionItemInfo {
+ ctor public CollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, int columnSpan);
+ method public int getColumnIndex();
+ method public int getColumnSpan();
+ method public int getRowIndex();
+ method public int getRowSpan();
+ property public final int columnIndex;
+ property public final int columnSpan;
+ property public final int rowIndex;
+ property public final int rowSpan;
+ }
+
+ public final class CustomAccessibilityAction {
+ ctor public CustomAccessibilityAction(String label, kotlin.jvm.functions.Function0<java.lang.Boolean> action);
+ method public kotlin.jvm.functions.Function0<java.lang.Boolean> getAction();
+ method public String getLabel();
+ property public final kotlin.jvm.functions.Function0<java.lang.Boolean> action;
+ property public final String label;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class LiveRegionMode {
+ ctor public LiveRegionMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.semantics.LiveRegionMode.Companion Companion;
+ }
+
+ public static final class LiveRegionMode.Companion {
+ method public int getAssertive-0phEisY();
+ method public int getPolite-0phEisY();
+ property public final int Assertive;
+ property public final int Polite;
+ }
+
+ public final class ProgressBarRangeInfo {
+ ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, optional int steps);
+ method public float getCurrent();
+ method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getRange();
+ method public int getSteps();
+ property public final float current;
+ property public final kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range;
+ property public final int steps;
+ field public static final androidx.compose.ui.semantics.ProgressBarRangeInfo.Companion Companion;
+ }
+
+ public static final class ProgressBarRangeInfo.Companion {
+ method public androidx.compose.ui.semantics.ProgressBarRangeInfo getIndeterminate();
+ property public final androidx.compose.ui.semantics.ProgressBarRangeInfo Indeterminate;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Role {
+ ctor public Role();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.semantics.Role.Companion Companion;
+ }
+
+ public static final class Role.Companion {
+ method public int getButton-o7Vup1c();
+ method public int getCheckbox-o7Vup1c();
+ method public int getImage-o7Vup1c();
+ method public int getRadioButton-o7Vup1c();
+ method public int getSwitch-o7Vup1c();
+ method public int getTab-o7Vup1c();
+ property public final int Button;
+ property public final int Checkbox;
+ property public final int Image;
+ property public final int RadioButton;
+ property public final int Switch;
+ property public final int Tab;
+ }
+
+ public final class ScrollAxisRange {
+ ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, optional boolean reverseScrolling);
+ method public kotlin.jvm.functions.Function0<java.lang.Float> getMaxValue();
+ method public boolean getReverseScrolling();
+ method public kotlin.jvm.functions.Function0<java.lang.Float> getValue();
+ property public final kotlin.jvm.functions.Function0<java.lang.Float> maxValue;
+ property public final boolean reverseScrolling;
+ property public final kotlin.jvm.functions.Function0<java.lang.Float> value;
+ }
+
+ public final class SemanticsActions {
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getCollapse();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getCopyText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction>> getCustomActions();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getCutText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getDismiss();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getExpand();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnClick();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnLongClick();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getPasteText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> getScrollBy();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Integer,java.lang.Boolean>>> getScrollToIndex();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> getSetProgress();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> getSetSelection();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> Collapse;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> CopyText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction>> CustomActions;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> CutText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> Dismiss;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> Expand;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnClick;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnLongClick;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> PasteText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> ScrollBy;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Integer,java.lang.Boolean>>> ScrollToIndex;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> SetProgress;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> SetSelection;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
+ field public static final androidx.compose.ui.semantics.SemanticsActions INSTANCE;
+ }
+
+ public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.compose.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.compose.ui.semantics.SemanticsPropertyReceiver {
+ ctor public SemanticsConfiguration();
+ method public operator <T> boolean contains(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ method public androidx.compose.ui.semantics.SemanticsConfiguration copy();
+ method public operator <T> T! get(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ method public <T> T! getOrElse(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+ method public <T> T? getOrElseNullable(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+ method public boolean isClearingSemantics();
+ method public boolean isMergingSemanticsOfDescendants();
+ method public java.util.Iterator<java.util.Map.Entry<androidx.compose.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+ method public <T> void set(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+ method public void setClearingSemantics(boolean p);
+ method public void setMergingSemanticsOfDescendants(boolean p);
+ property public final boolean isClearingSemantics;
+ property public final boolean isMergingSemanticsOfDescendants;
+ }
+
+ public final class SemanticsConfigurationKt {
+ method public static <T> T? getOrNull(androidx.compose.ui.semantics.SemanticsConfiguration, androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ }
+
+ public interface SemanticsModifier extends androidx.compose.ui.Modifier.Element {
+ method public int getId();
+ method public androidx.compose.ui.semantics.SemanticsConfiguration getSemanticsConfiguration();
+ property public abstract int id;
+ property public abstract androidx.compose.ui.semantics.SemanticsConfiguration semanticsConfiguration;
+ }
+
+ public final class SemanticsModifierKt {
+ method public static androidx.compose.ui.Modifier clearAndSetSemantics(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit> properties);
+ method public static androidx.compose.ui.Modifier semantics(androidx.compose.ui.Modifier, optional boolean mergeDescendants, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit> properties);
+ }
+
+ public final class SemanticsNode {
+ method public int getAlignmentLinePosition(androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public androidx.compose.ui.geometry.Rect getBoundsInRoot();
+ method public androidx.compose.ui.geometry.Rect getBoundsInWindow();
+ method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getChildren();
+ method public androidx.compose.ui.semantics.SemanticsConfiguration getConfig();
+ method public int getId();
+ method public androidx.compose.ui.layout.LayoutInfo getLayoutInfo();
+ method public boolean getMergingEnabled();
+ method public androidx.compose.ui.semantics.SemanticsNode? getParent();
+ method public long getPositionInRoot-F1C5BW0();
+ method public long getPositionInWindow-F1C5BW0();
+ method public androidx.compose.ui.node.RootForTest? getRoot();
+ method public long getSize-YbymL2g();
+ method public boolean isRoot();
+ property public final androidx.compose.ui.geometry.Rect boundsInRoot;
+ property public final androidx.compose.ui.geometry.Rect boundsInWindow;
+ property public final java.util.List<androidx.compose.ui.semantics.SemanticsNode> children;
+ property public final androidx.compose.ui.semantics.SemanticsConfiguration config;
+ property public final int id;
+ property public final boolean isRoot;
+ property public final androidx.compose.ui.layout.LayoutInfo layoutInfo;
+ property public final boolean mergingEnabled;
+ property public final androidx.compose.ui.semantics.SemanticsNode? parent;
+ property public final long positionInRoot;
+ property public final long positionInWindow;
+ property public final androidx.compose.ui.node.RootForTest? root;
+ property public final long size;
+ }
+
+ public final class SemanticsNodeKt {
+ }
+
+ public final class SemanticsOwner {
+ method public androidx.compose.ui.semantics.SemanticsNode getRootSemanticsNode();
+ method public androidx.compose.ui.semantics.SemanticsNode getUnmergedRootSemanticsNode();
+ property public final androidx.compose.ui.semantics.SemanticsNode rootSemanticsNode;
+ property public final androidx.compose.ui.semantics.SemanticsNode unmergedRootSemanticsNode;
+ }
+
+ public final class SemanticsOwnerKt {
+ method public static java.util.List<androidx.compose.ui.semantics.SemanticsNode> getAllSemanticsNodes(androidx.compose.ui.semantics.SemanticsOwner, boolean mergingEnabled);
+ }
+
+ public final class SemanticsProperties {
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionInfo> getCollectionInfo();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionItemInfo> getCollectionItemInfo();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<java.lang.String>> getContentDescription();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getDisabled();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> getEditableText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getError();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getFocused();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getHeading();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> getHorizontalScrollAxisRange();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> getIndexForKey();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getInvisibleToUser();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsDialog();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> getLiveRegion();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getPaneTitle();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getPassword();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ProgressBarRangeInfo> getProgressBarRangeInfo();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.Role> getRole();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getSelectableGroup();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getSelected();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getStateDescription();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.text.AnnotatedString>> getText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> getTextSelectionRange();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.state.ToggleableState> getToggleableState();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> getVerticalScrollAxisRange();
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionInfo> CollectionInfo;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionItemInfo> CollectionItemInfo;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<java.lang.String>> ContentDescription;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Disabled;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> EditableText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> Error;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Focused;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Heading;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> HorizontalScrollAxisRange;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> IndexForKey;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> InvisibleToUser;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsDialog;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> LiveRegion;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> PaneTitle;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Password;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ProgressBarRangeInfo> ProgressBarRangeInfo;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.Role> Role;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> SelectableGroup;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Selected;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> StateDescription;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.text.AnnotatedString>> Text;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> TextSelectionRange;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.state.ToggleableState> ToggleableState;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> VerticalScrollAxisRange;
+ field public static final androidx.compose.ui.semantics.SemanticsProperties INSTANCE;
+ }
+
+ public final class SemanticsPropertiesKt {
+ method public static void collapse(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void copyText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void cutText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void dialog(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void disabled(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void dismiss(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void error(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String description);
+ method public static void expand(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static androidx.compose.ui.semantics.CollectionInfo getCollectionInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.CollectionItemInfo getCollectionItemInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getContentDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.text.AnnotatedString getEditableText(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static boolean getFocused(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.ScrollAxisRange getHorizontalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static int getImeAction(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static int getLiveRegion(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getPaneTitle(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.ProgressBarRangeInfo getProgressBarRangeInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static int getRole(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static boolean getSelected(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getStateDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getTestTag(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.text.AnnotatedString getText(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void getTextLayoutResult(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>? action);
+ method public static long getTextSelectionRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.state.ToggleableState getToggleableState(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.ScrollAxisRange getVerticalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void heading(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void indexForKey(androidx.compose.ui.semantics.SemanticsPropertyReceiver, kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer> mapping);
+ method public static void onClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void onLongClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void password(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void pasteText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void popup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void scrollBy(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,java.lang.Boolean>? action);
+ method public static void scrollToIndex(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Boolean> action);
+ method public static void selectableGroup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void setCollectionInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionInfo p);
+ method public static void setCollectionItemInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionItemInfo p);
+ method public static void setContentDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String value);
+ method public static void setCustomActions(androidx.compose.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction> p);
+ method public static void setEditableText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString p);
+ method public static void setFocused(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean p);
+ method public static void setHorizontalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ScrollAxisRange p);
+ method public static void setImeAction-R3uo_t0(androidx.compose.ui.semantics.SemanticsPropertyReceiver, int p);
+ method public static void setLiveRegion-QmIH8pA(androidx.compose.ui.semantics.SemanticsPropertyReceiver, int p);
+ method public static void setPaneTitle(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String p);
+ method public static void setProgress(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Boolean>? action);
+ method public static void setProgressBarRangeInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ProgressBarRangeInfo p);
+ method public static void setRole-nYGtkIw(androidx.compose.ui.semantics.SemanticsPropertyReceiver, int p);
+ method public static void setSelected(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean p);
+ method public static void setSelection(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Boolean,java.lang.Boolean>? action);
+ method public static void setStateDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String p);
+ method public static void setTestTag(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String p);
+ method public static void setText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString value);
+ method public static void setText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>? action);
+ method public static void setTextSelectionRange-Hy0MoUY(androidx.compose.ui.semantics.SemanticsPropertyReceiver, long p);
+ method public static void setToggleableState(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.state.ToggleableState p);
+ method public static void setVerticalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ScrollAxisRange p);
+ }
+
+ public final class SemanticsPropertyKey<T> {
+ ctor public SemanticsPropertyKey(String name, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
+ method public String getName();
+ method public operator T! getValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
+ method public T? merge(T? parentValue, T? childValue);
+ method public operator void setValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property, T? value);
+ property public final String name;
+ }
+
+ public interface SemanticsPropertyReceiver {
+ method public operator <T> void set(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+ }
+
+ public final class SemanticsSortKt {
+ }
+
+}
+
+package androidx.compose.ui.state {
+
+ public enum ToggleableState {
+ enum_constant public static final androidx.compose.ui.state.ToggleableState Indeterminate;
+ enum_constant public static final androidx.compose.ui.state.ToggleableState Off;
+ enum_constant public static final androidx.compose.ui.state.ToggleableState On;
+ }
+
+ public final class ToggleableStateKt {
+ method public static androidx.compose.ui.state.ToggleableState ToggleableState(boolean value);
+ }
+
+}
+
+package androidx.compose.ui.text.input {
+
+ public final class InputState_androidKt {
+ }
+
+ public final class RecordingInputConnection_androidKt {
+ }
+
+ public final class TextInputServiceAndroid_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.viewinterop {
+
+ public final class AndroidViewHolder_androidKt {
+ }
+
+ public final class AndroidView_androidKt {
+ method @androidx.compose.runtime.Composable public static <T extends android.view.View> void AndroidView(kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> factory, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit> update);
+ method public static kotlin.jvm.functions.Function1<android.view.View,kotlin.Unit> getNoOpUpdate();
+ }
+
+}
+
+package androidx.compose.ui.window {
+
+ public final class AndroidDialog_androidKt {
+ method @androidx.compose.runtime.Composable public static void Dialog(kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.window.DialogProperties properties, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class AndroidPopup_androidKt {
+ method @androidx.compose.runtime.Composable public static void Popup(androidx.compose.ui.window.PopupPositionProvider popupPositionProvider, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest, optional androidx.compose.ui.window.PopupProperties properties, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Popup-wO4EaeM(optional androidx.compose.ui.Alignment alignment, optional long offset, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest, optional androidx.compose.ui.window.PopupProperties properties, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @org.jetbrains.annotations.TestOnly public static boolean isPopupLayout(android.view.View view, optional String? testTag);
+ }
+
+ @androidx.compose.runtime.Immutable public final class DialogProperties {
+ ctor public DialogProperties(optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
+ method public boolean getDismissOnBackPress();
+ method public boolean getDismissOnClickOutside();
+ method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
+ property public final boolean dismissOnBackPress;
+ property public final boolean dismissOnClickOutside;
+ property public final androidx.compose.ui.window.SecureFlagPolicy securePolicy;
+ }
+
+ public interface DialogWindowProvider {
+ method public android.view.Window getWindow();
+ property public abstract android.view.Window window;
+ }
+
+ @androidx.compose.runtime.Immutable public interface PopupPositionProvider {
+ method public long calculatePosition-aa5Bd6I(androidx.compose.ui.unit.IntRect anchorBounds, long windowSize, androidx.compose.ui.unit.LayoutDirection layoutDirection, long popupContentSize);
+ }
+
+ @androidx.compose.runtime.Immutable public final class PopupProperties {
+ ctor public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy, optional boolean excludeFromSystemGesture, optional boolean clippingEnabled);
+ method public boolean getClippingEnabled();
+ method public boolean getDismissOnBackPress();
+ method public boolean getDismissOnClickOutside();
+ method public boolean getExcludeFromSystemGesture();
+ method public boolean getFocusable();
+ method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
+ property public final boolean clippingEnabled;
+ property public final boolean dismissOnBackPress;
+ property public final boolean dismissOnClickOutside;
+ property public final boolean excludeFromSystemGesture;
+ property public final boolean focusable;
+ property public final androidx.compose.ui.window.SecureFlagPolicy securePolicy;
+ }
+
+ public enum SecureFlagPolicy {
+ enum_constant public static final androidx.compose.ui.window.SecureFlagPolicy Inherit;
+ enum_constant public static final androidx.compose.ui.window.SecureFlagPolicy SecureOff;
+ enum_constant public static final androidx.compose.ui.window.SecureFlagPolicy SecureOn;
+ }
+
+ public final class SecureFlagPolicy_androidKt {
+ }
+
+}
+
diff --git a/compose/ui/ui/api/public_plus_experimental_1.0.0-beta10.txt b/compose/ui/ui/api/public_plus_experimental_1.0.0-beta10.txt
new file mode 100644
index 0000000..d1da62e
--- /dev/null
+++ b/compose/ui/ui/api/public_plus_experimental_1.0.0-beta10.txt
@@ -0,0 +1,2804 @@
+// Signature format: 4.0
+package androidx.compose.ui {
+
+ public final class AbsoluteAlignment {
+ method public androidx.compose.ui.Alignment getBottomLeft();
+ method public androidx.compose.ui.Alignment getBottomRight();
+ method public androidx.compose.ui.Alignment getCenterLeft();
+ method public androidx.compose.ui.Alignment getCenterRight();
+ method public androidx.compose.ui.Alignment.Horizontal getLeft();
+ method public androidx.compose.ui.Alignment.Horizontal getRight();
+ method public androidx.compose.ui.Alignment getTopLeft();
+ method public androidx.compose.ui.Alignment getTopRight();
+ property public final androidx.compose.ui.Alignment BottomLeft;
+ property public final androidx.compose.ui.Alignment BottomRight;
+ property public final androidx.compose.ui.Alignment CenterLeft;
+ property public final androidx.compose.ui.Alignment CenterRight;
+ property public final androidx.compose.ui.Alignment.Horizontal Left;
+ property public final androidx.compose.ui.Alignment.Horizontal Right;
+ property public final androidx.compose.ui.Alignment TopLeft;
+ property public final androidx.compose.ui.Alignment TopRight;
+ field public static final androidx.compose.ui.AbsoluteAlignment INSTANCE;
+ }
+
+ @androidx.compose.runtime.Stable public fun interface Alignment {
+ method public long align-oYSo38o(long size, long space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ field public static final androidx.compose.ui.Alignment.Companion Companion;
+ }
+
+ public static final class Alignment.Companion {
+ method public androidx.compose.ui.Alignment.Vertical getBottom();
+ method public androidx.compose.ui.Alignment getBottomCenter();
+ method public androidx.compose.ui.Alignment getBottomEnd();
+ method public androidx.compose.ui.Alignment getBottomStart();
+ method public androidx.compose.ui.Alignment getCenter();
+ method public androidx.compose.ui.Alignment getCenterEnd();
+ method public androidx.compose.ui.Alignment.Horizontal getCenterHorizontally();
+ method public androidx.compose.ui.Alignment getCenterStart();
+ method public androidx.compose.ui.Alignment.Vertical getCenterVertically();
+ method public androidx.compose.ui.Alignment.Horizontal getEnd();
+ method public androidx.compose.ui.Alignment.Horizontal getStart();
+ method public androidx.compose.ui.Alignment.Vertical getTop();
+ method public androidx.compose.ui.Alignment getTopCenter();
+ method public androidx.compose.ui.Alignment getTopEnd();
+ method public androidx.compose.ui.Alignment getTopStart();
+ property public final androidx.compose.ui.Alignment.Vertical Bottom;
+ property public final androidx.compose.ui.Alignment BottomCenter;
+ property public final androidx.compose.ui.Alignment BottomEnd;
+ property public final androidx.compose.ui.Alignment BottomStart;
+ property public final androidx.compose.ui.Alignment Center;
+ property public final androidx.compose.ui.Alignment CenterEnd;
+ property public final androidx.compose.ui.Alignment.Horizontal CenterHorizontally;
+ property public final androidx.compose.ui.Alignment CenterStart;
+ property public final androidx.compose.ui.Alignment.Vertical CenterVertically;
+ property public final androidx.compose.ui.Alignment.Horizontal End;
+ property public final androidx.compose.ui.Alignment.Horizontal Start;
+ property public final androidx.compose.ui.Alignment.Vertical Top;
+ property public final androidx.compose.ui.Alignment TopCenter;
+ property public final androidx.compose.ui.Alignment TopEnd;
+ property public final androidx.compose.ui.Alignment TopStart;
+ }
+
+ @androidx.compose.runtime.Stable public static fun interface Alignment.Horizontal {
+ method public int align(int size, int space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ @androidx.compose.runtime.Stable public static fun interface Alignment.Vertical {
+ method public int align(int size, int space);
+ }
+
+ @androidx.compose.runtime.Immutable public final class BiasAbsoluteAlignment implements androidx.compose.ui.Alignment {
+ ctor public BiasAbsoluteAlignment(float horizontalBias, float verticalBias);
+ method public long align-oYSo38o(long size, long space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAbsoluteAlignment copy(float horizontalBias, float verticalBias);
+ }
+
+ @androidx.compose.runtime.Immutable public static final class BiasAbsoluteAlignment.Horizontal implements androidx.compose.ui.Alignment.Horizontal {
+ ctor public BiasAbsoluteAlignment.Horizontal(float bias);
+ method public int align(int size, int space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAbsoluteAlignment.Horizontal copy(float bias);
+ }
+
+ @androidx.compose.runtime.Immutable public final class BiasAlignment implements androidx.compose.ui.Alignment {
+ ctor public BiasAlignment(float horizontalBias, float verticalBias);
+ method public long align-oYSo38o(long size, long space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAlignment copy(float horizontalBias, float verticalBias);
+ method public float getHorizontalBias();
+ method public float getVerticalBias();
+ property public final float horizontalBias;
+ property public final float verticalBias;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class BiasAlignment.Horizontal implements androidx.compose.ui.Alignment.Horizontal {
+ ctor public BiasAlignment.Horizontal(float bias);
+ method public int align(int size, int space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAlignment.Horizontal copy(float bias);
+ }
+
+ @androidx.compose.runtime.Immutable public static final class BiasAlignment.Vertical implements androidx.compose.ui.Alignment.Vertical {
+ ctor public BiasAlignment.Vertical(float bias);
+ method public int align(int size, int space);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAlignment.Vertical copy(float bias);
+ }
+
+ public final class CombinedModifier implements androidx.compose.ui.Modifier {
+ ctor public CombinedModifier(androidx.compose.ui.Modifier outer, androidx.compose.ui.Modifier inner);
+ method public boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ }
+
+ public final class ComposedModifierKt {
+ method public static androidx.compose.ui.Modifier composed(androidx.compose.ui.Modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> inspectorInfo, kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier,? extends androidx.compose.ui.Modifier> factory);
+ method public static androidx.compose.ui.Modifier materialize(androidx.compose.runtime.Composer, androidx.compose.ui.Modifier modifier);
+ }
+
+ @kotlin.RequiresOptIn(message="This API is experimental and is likely to change in the future.") public @interface ExperimentalComposeUiApi {
+ }
+
+ @kotlin.RequiresOptIn(message="Unstable API for use only between compose-ui modules sharing the same exact version, " + "subject to change without notice in major, minor, or patch releases.") public @interface InternalComposeUiApi {
+ }
+
+ @androidx.compose.runtime.Stable public interface Modifier {
+ method public boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ method public default infix androidx.compose.ui.Modifier then(androidx.compose.ui.Modifier other);
+ field public static final androidx.compose.ui.Modifier.Companion Companion;
+ }
+
+ public static final class Modifier.Companion implements androidx.compose.ui.Modifier {
+ method public boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ }
+
+ public static interface Modifier.Element extends androidx.compose.ui.Modifier {
+ method public default boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public default boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public default <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+ public final class ZIndexModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier zIndex(androidx.compose.ui.Modifier, float zIndex);
+ }
+
+}
+
+package androidx.compose.ui.autofill {
+
+ public final class AndroidAutofillType_androidKt {
+ }
+
+ public final class AndroidAutofill_androidKt {
+ }
+
+ @androidx.compose.ui.ExperimentalComposeUiApi public interface Autofill {
+ method public void cancelAutofillForNode(androidx.compose.ui.autofill.AutofillNode autofillNode);
+ method public void requestAutofillForNode(androidx.compose.ui.autofill.AutofillNode autofillNode);
+ }
+
+ @androidx.compose.ui.ExperimentalComposeUiApi public final class AutofillNode {
+ ctor public AutofillNode(optional java.util.List<? extends androidx.compose.ui.autofill.AutofillType> autofillTypes, optional androidx.compose.ui.geometry.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+ method public java.util.List<androidx.compose.ui.autofill.AutofillType> getAutofillTypes();
+ method public androidx.compose.ui.geometry.Rect? getBoundingBox();
+ method public int getId();
+ method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit>? getOnFill();
+ method public void setBoundingBox(androidx.compose.ui.geometry.Rect? p);
+ property public final java.util.List<androidx.compose.ui.autofill.AutofillType> autofillTypes;
+ property public final androidx.compose.ui.geometry.Rect? boundingBox;
+ property public final int id;
+ property public final kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit>? onFill;
+ }
+
+ @androidx.compose.ui.ExperimentalComposeUiApi public final class AutofillTree {
+ ctor public AutofillTree();
+ method public java.util.Map<java.lang.Integer,androidx.compose.ui.autofill.AutofillNode> getChildren();
+ method public kotlin.Unit? performAutofill(int id, String value);
+ method public operator void plusAssign(androidx.compose.ui.autofill.AutofillNode autofillNode);
+ property public final java.util.Map<java.lang.Integer,androidx.compose.ui.autofill.AutofillNode> children;
+ }
+
+ @androidx.compose.ui.ExperimentalComposeUiApi public enum AutofillType {
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType AddressAuxiliaryDetails;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType AddressCountry;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType AddressLocality;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType AddressRegion;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType AddressStreet;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType BirthDateDay;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType BirthDateFull;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType BirthDateMonth;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType BirthDateYear;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType CreditCardExpirationDate;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType CreditCardExpirationDay;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType CreditCardExpirationMonth;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType CreditCardExpirationYear;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType CreditCardNumber;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType CreditCardSecurityCode;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType EmailAddress;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType Gender;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType NewPassword;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType NewUsername;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType Password;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PersonFirstName;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PersonFullName;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PersonLastName;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PersonMiddleInitial;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PersonMiddleName;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PersonNamePrefix;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PersonNameSuffix;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PhoneCountryCode;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PhoneNumber;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PhoneNumberDevice;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PhoneNumberNational;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PostalAddress;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PostalCode;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType PostalCodeExtended;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType SmsOtpCode;
+ enum_constant public static final androidx.compose.ui.autofill.AutofillType Username;
+ }
+
+}
+
+package androidx.compose.ui.draw {
+
+ public final class AlphaKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier alpha(androidx.compose.ui.Modifier, float alpha);
+ }
+
+ public interface BuildDrawCacheParams {
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public long getSize-NH-jbRc();
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public abstract long size;
+ }
+
+ public final class CacheDrawScope implements androidx.compose.ui.unit.Density {
+ method public float getDensity();
+ method public float getFontScale();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public long getSize-NH-jbRc();
+ method public androidx.compose.ui.draw.DrawResult onDrawBehind(kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public androidx.compose.ui.draw.DrawResult onDrawWithContent(kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.ContentDrawScope,kotlin.Unit> block);
+ property public float density;
+ property public float fontScale;
+ property public final androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public final long size;
+ }
+
+ public final class ClipKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier clip(androidx.compose.ui.Modifier, androidx.compose.ui.graphics.Shape shape);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier clipToBounds(androidx.compose.ui.Modifier);
+ }
+
+ public interface DrawCacheModifier extends androidx.compose.ui.draw.DrawModifier {
+ method public void onBuildCache(androidx.compose.ui.draw.BuildDrawCacheParams params);
+ }
+
+ public interface DrawModifier extends androidx.compose.ui.Modifier.Element {
+ method public void draw(androidx.compose.ui.graphics.drawscope.ContentDrawScope);
+ }
+
+ public final class DrawModifierKt {
+ method public static androidx.compose.ui.Modifier drawBehind(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> onDraw);
+ method public static androidx.compose.ui.Modifier drawWithCache(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.draw.CacheDrawScope,androidx.compose.ui.draw.DrawResult> onBuildDrawCache);
+ method public static androidx.compose.ui.Modifier drawWithContent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.ContentDrawScope,kotlin.Unit> onDraw);
+ }
+
+ public final class DrawResult {
+ }
+
+ public final class PainterModifierKt {
+ method public static androidx.compose.ui.Modifier paint(androidx.compose.ui.Modifier, androidx.compose.ui.graphics.painter.Painter painter, optional boolean sizeToIntrinsics, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ }
+
+ public final class RotateKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier rotate(androidx.compose.ui.Modifier, float degrees);
+ }
+
+ public final class ScaleKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier scale(androidx.compose.ui.Modifier, float scaleX, float scaleY);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier scale(androidx.compose.ui.Modifier, float scale);
+ }
+
+ public final class ShadowKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier shadow-HfQes2E(androidx.compose.ui.Modifier, float elevation, optional androidx.compose.ui.graphics.Shape shape, optional boolean clip);
+ }
+
+}
+
+package androidx.compose.ui.focus {
+
+ public final class FocusChangedModifierKt {
+ method public static androidx.compose.ui.Modifier onFocusChanged(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusState,kotlin.Unit> onFocusChanged);
+ }
+
+ public final inline class FocusDirection {
+ ctor public FocusDirection();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.focus.FocusDirection.Companion Companion;
+ }
+
+ public static final class FocusDirection.Companion {
+ method public int getDown-dhqQ-8s();
+ method public int getIn-dhqQ-8s();
+ method public int getLeft-dhqQ-8s();
+ method public int getNext-dhqQ-8s();
+ method public int getOut-dhqQ-8s();
+ method public int getPrevious-dhqQ-8s();
+ method public int getRight-dhqQ-8s();
+ method public int getUp-dhqQ-8s();
+ property public final int Down;
+ property public final int In;
+ property public final int Left;
+ property public final int Next;
+ property public final int Out;
+ property public final int Previous;
+ property public final int Right;
+ property public final int Up;
+ }
+
+ public interface FocusEventModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onFocusEvent(androidx.compose.ui.focus.FocusState focusState);
+ }
+
+ public final class FocusEventModifierKt {
+ method public static androidx.compose.ui.Modifier onFocusEvent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusState,kotlin.Unit> onFocusEvent);
+ }
+
+ public interface FocusManager {
+ method public void clearFocus(optional boolean force);
+ method public boolean moveFocus-3ESFkO8(int focusDirection);
+ method @Deprecated @androidx.compose.ui.ExperimentalComposeUiApi public default boolean moveFocusIn();
+ method @Deprecated @androidx.compose.ui.ExperimentalComposeUiApi public default boolean moveFocusOut();
+ }
+
+ public final class FocusModifierKt {
+ method @Deprecated public static androidx.compose.ui.Modifier focusModifier(androidx.compose.ui.Modifier);
+ method public static androidx.compose.ui.Modifier focusTarget(androidx.compose.ui.Modifier);
+ }
+
+ public final class FocusNodeUtilsKt {
+ }
+
+ public final class FocusOrder {
+ ctor public FocusOrder();
+ method public androidx.compose.ui.focus.FocusRequester getDown();
+ method public androidx.compose.ui.focus.FocusRequester getEnd();
+ method public androidx.compose.ui.focus.FocusRequester getLeft();
+ method public androidx.compose.ui.focus.FocusRequester getNext();
+ method public androidx.compose.ui.focus.FocusRequester getPrevious();
+ method public androidx.compose.ui.focus.FocusRequester getRight();
+ method public androidx.compose.ui.focus.FocusRequester getStart();
+ method public androidx.compose.ui.focus.FocusRequester getUp();
+ method public void setDown(androidx.compose.ui.focus.FocusRequester p);
+ method public void setEnd(androidx.compose.ui.focus.FocusRequester p);
+ method public void setLeft(androidx.compose.ui.focus.FocusRequester p);
+ method public void setNext(androidx.compose.ui.focus.FocusRequester p);
+ method public void setPrevious(androidx.compose.ui.focus.FocusRequester p);
+ method public void setRight(androidx.compose.ui.focus.FocusRequester p);
+ method public void setStart(androidx.compose.ui.focus.FocusRequester p);
+ method public void setUp(androidx.compose.ui.focus.FocusRequester p);
+ property public final androidx.compose.ui.focus.FocusRequester down;
+ property public final androidx.compose.ui.focus.FocusRequester end;
+ property public final androidx.compose.ui.focus.FocusRequester left;
+ property public final androidx.compose.ui.focus.FocusRequester next;
+ property public final androidx.compose.ui.focus.FocusRequester previous;
+ property public final androidx.compose.ui.focus.FocusRequester right;
+ property public final androidx.compose.ui.focus.FocusRequester start;
+ property public final androidx.compose.ui.focus.FocusRequester up;
+ }
+
+ public interface FocusOrderModifier extends androidx.compose.ui.Modifier.Element {
+ method public void populateFocusOrder(androidx.compose.ui.focus.FocusOrder focusOrder);
+ }
+
+ public final class FocusOrderModifierKt {
+ method public static androidx.compose.ui.Modifier focusOrder(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusOrder,kotlin.Unit> focusOrderReceiver);
+ method public static androidx.compose.ui.Modifier focusOrder(androidx.compose.ui.Modifier, androidx.compose.ui.focus.FocusRequester focusRequester);
+ method public static androidx.compose.ui.Modifier focusOrder(androidx.compose.ui.Modifier, androidx.compose.ui.focus.FocusRequester focusRequester, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusOrder,kotlin.Unit> focusOrderReceiver);
+ }
+
+ public final class FocusRequester {
+ ctor public FocusRequester();
+ method public boolean captureFocus();
+ method public boolean freeFocus();
+ method public void requestFocus();
+ field public static final androidx.compose.ui.focus.FocusRequester.Companion Companion;
+ }
+
+ public static final class FocusRequester.Companion {
+ method @androidx.compose.ui.ExperimentalComposeUiApi public androidx.compose.ui.focus.FocusRequester.Companion.FocusRequesterFactory createRefs();
+ method public androidx.compose.ui.focus.FocusRequester getDefault();
+ property public final androidx.compose.ui.focus.FocusRequester Default;
+ }
+
+ @androidx.compose.ui.ExperimentalComposeUiApi public static final class FocusRequester.Companion.FocusRequesterFactory {
+ method public operator androidx.compose.ui.focus.FocusRequester component1();
+ method public operator androidx.compose.ui.focus.FocusRequester component10();
+ method public operator androidx.compose.ui.focus.FocusRequester component11();
+ method public operator androidx.compose.ui.focus.FocusRequester component12();
+ method public operator androidx.compose.ui.focus.FocusRequester component13();
+ method public operator androidx.compose.ui.focus.FocusRequester component14();
+ method public operator androidx.compose.ui.focus.FocusRequester component15();
+ method public operator androidx.compose.ui.focus.FocusRequester component16();
+ method public operator androidx.compose.ui.focus.FocusRequester component2();
+ method public operator androidx.compose.ui.focus.FocusRequester component3();
+ method public operator androidx.compose.ui.focus.FocusRequester component4();
+ method public operator androidx.compose.ui.focus.FocusRequester component5();
+ method public operator androidx.compose.ui.focus.FocusRequester component6();
+ method public operator androidx.compose.ui.focus.FocusRequester component7();
+ method public operator androidx.compose.ui.focus.FocusRequester component8();
+ method public operator androidx.compose.ui.focus.FocusRequester component9();
+ field public static final androidx.compose.ui.focus.FocusRequester.Companion.FocusRequesterFactory INSTANCE;
+ }
+
+ public final class FocusRequesterKt {
+ }
+
+ public interface FocusRequesterModifier extends androidx.compose.ui.Modifier.Element {
+ method public androidx.compose.ui.focus.FocusRequester getFocusRequester();
+ property public abstract androidx.compose.ui.focus.FocusRequester focusRequester;
+ }
+
+ public final class FocusRequesterModifierKt {
+ method public static androidx.compose.ui.Modifier focusRequester(androidx.compose.ui.Modifier, androidx.compose.ui.focus.FocusRequester focusRequester);
+ }
+
+ public interface FocusState {
+ method public boolean getHasFocus();
+ method public boolean isCaptured();
+ method public boolean isFocused();
+ property public abstract boolean hasFocus;
+ property public abstract boolean isCaptured;
+ property public abstract boolean isFocused;
+ }
+
+ public final class FocusTransactionsKt {
+ }
+
+ public final class FocusTraversalKt {
+ }
+
+ public final class TwoDimensionalFocusSearchKt {
+ }
+
+}
+
+package androidx.compose.ui.graphics {
+
+ public final class GraphicsLayerModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier graphicsLayer(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> block);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier graphicsLayer-i_P0lGk(androidx.compose.ui.Modifier, optional float scaleX, optional float scaleY, optional float alpha, optional float translationX, optional float translationY, optional float shadowElevation, optional float rotationX, optional float rotationY, optional float rotationZ, optional float cameraDistance, optional long transformOrigin, optional androidx.compose.ui.graphics.Shape shape, optional boolean clip);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier toolingGraphicsLayer(androidx.compose.ui.Modifier);
+ }
+
+ public interface GraphicsLayerScope extends androidx.compose.ui.unit.Density {
+ method public float getAlpha();
+ method public float getCameraDistance();
+ method public boolean getClip();
+ method public float getRotationX();
+ method public float getRotationY();
+ method public float getRotationZ();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public float getShadowElevation();
+ method public androidx.compose.ui.graphics.Shape getShape();
+ method public long getTransformOrigin-SzJe1aQ();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public void setAlpha(float p);
+ method public void setCameraDistance(float p);
+ method public void setClip(boolean p);
+ method public void setRotationX(float p);
+ method public void setRotationY(float p);
+ method public void setRotationZ(float p);
+ method public void setScaleX(float p);
+ method public void setScaleY(float p);
+ method public void setShadowElevation(float p);
+ method public void setShape(androidx.compose.ui.graphics.Shape p);
+ method public void setTransformOrigin-__ExYCQ(long p);
+ method public void setTranslationX(float p);
+ method public void setTranslationY(float p);
+ property public abstract float alpha;
+ property public abstract float cameraDistance;
+ property public abstract boolean clip;
+ property public abstract float rotationX;
+ property public abstract float rotationY;
+ property public abstract float rotationZ;
+ property public abstract float scaleX;
+ property public abstract float scaleY;
+ property public abstract float shadowElevation;
+ property public abstract androidx.compose.ui.graphics.Shape shape;
+ property public abstract long transformOrigin;
+ property public abstract float translationX;
+ property public abstract float translationY;
+ }
+
+ public final class GraphicsLayerScopeKt {
+ method public static androidx.compose.ui.graphics.GraphicsLayerScope GraphicsLayerScope();
+ field public static final float DefaultCameraDistance = 8.0f;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TransformOrigin {
+ ctor public TransformOrigin();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-SzJe1aQ(long $this, optional float pivotFractionX, optional float pivotFractionY);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getPivotFractionX-impl(long $this);
+ method public static float getPivotFractionY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Immutable public static inline String! toString-impl(long p);
+ field public static final androidx.compose.ui.graphics.TransformOrigin.Companion Companion;
+ }
+
+ public static final class TransformOrigin.Companion {
+ method public long getCenter-SzJe1aQ();
+ property public final long Center;
+ }
+
+ public final class TransformOriginKt {
+ method public static long TransformOrigin(float pivotFractionX, float pivotFractionY);
+ }
+
+}
+
+package androidx.compose.ui.graphics.vector {
+
+ @androidx.compose.runtime.Immutable @androidx.compose.ui.ExperimentalComposeUiApi public final class AnimatedImageVector {
+ method public androidx.compose.ui.graphics.vector.ImageVector getImageVector();
+ method public int getTotalDuration();
+ method @androidx.compose.runtime.Composable public androidx.compose.ui.graphics.painter.Painter painterFor(boolean atEnd);
+ property public final androidx.compose.ui.graphics.vector.ImageVector imageVector;
+ property public final int totalDuration;
+ }
+
+ public final class AnimatorKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class ImageVector {
+ method public float getDefaultHeight-D9Ej5fM();
+ method public float getDefaultWidth-D9Ej5fM();
+ method public String getName();
+ method public androidx.compose.ui.graphics.vector.VectorGroup getRoot();
+ method public int getTintBlendMode-0nO6VwU();
+ method public long getTintColor-0d7_KjU();
+ method public float getViewportHeight();
+ method public float getViewportWidth();
+ property public final float defaultHeight;
+ property public final float defaultWidth;
+ property public final String name;
+ property public final androidx.compose.ui.graphics.vector.VectorGroup root;
+ property public final int tintBlendMode;
+ property public final long tintColor;
+ property public final float viewportHeight;
+ property public final float viewportWidth;
+ field public static final androidx.compose.ui.graphics.vector.ImageVector.Companion Companion;
+ }
+
+ public static final class ImageVector.Builder {
+ method public androidx.compose.ui.graphics.vector.ImageVector.Builder addGroup(optional String name, optional float rotate, optional float pivotX, optional float pivotY, optional float scaleX, optional float scaleY, optional float translationX, optional float translationY, optional java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> clipPathData);
+ method public androidx.compose.ui.graphics.vector.ImageVector.Builder addPath-MBUPpgE(java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> pathData, optional int pathFillType, optional String name, optional androidx.compose.ui.graphics.Brush? fill, optional float fillAlpha, optional androidx.compose.ui.graphics.Brush? stroke, optional float strokeAlpha, optional float strokeLineWidth, optional int strokeLineCap, optional int strokeLineJoin, optional float strokeLineMiter, optional float trimPathStart, optional float trimPathEnd, optional float trimPathOffset);
+ method public androidx.compose.ui.graphics.vector.ImageVector build();
+ method public androidx.compose.ui.graphics.vector.ImageVector.Builder clearGroup();
+ }
+
+ public static final class ImageVector.Companion {
+ }
+
+ public final class ImageVectorKt {
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder group(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional String name, optional float rotate, optional float pivotX, optional float pivotY, optional float scaleX, optional float scaleY, optional float translationX, optional float translationY, optional java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> clipPathData, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,kotlin.Unit> block);
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder path-XZu8tSg(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional String name, optional androidx.compose.ui.graphics.Brush? fill, optional float fillAlpha, optional androidx.compose.ui.graphics.Brush? stroke, optional float strokeAlpha, optional float strokeLineWidth, optional int strokeLineCap, optional int strokeLineJoin, optional float strokeLineMiter, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+ }
+
+ public abstract sealed class VNode {
+ method public abstract void draw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ method public final void invalidate();
+ }
+
+ public final class VectorApplier extends androidx.compose.runtime.AbstractApplier<androidx.compose.ui.graphics.vector.VNode> {
+ ctor public VectorApplier(androidx.compose.ui.graphics.vector.VNode root);
+ method public void insertBottomUp(int index, androidx.compose.ui.graphics.vector.VNode instance);
+ method public void insertTopDown(int index, androidx.compose.ui.graphics.vector.VNode instance);
+ method public void move(int from, int to, int count);
+ method protected void onClear();
+ method public void remove(int index, int count);
+ }
+
+ public final class VectorComposeKt {
+ method @androidx.compose.runtime.Composable public static void Group(optional String name, optional float rotation, optional float pivotX, optional float pivotY, optional float scaleX, optional float scaleY, optional float translationX, optional float translationY, optional java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> clipPathData, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Path-MBUPpgE(java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> pathData, optional int pathFillType, optional String name, optional androidx.compose.ui.graphics.Brush? fill, optional float fillAlpha, optional androidx.compose.ui.graphics.Brush? stroke, optional float strokeAlpha, optional float strokeLineWidth, optional int strokeLineCap, optional int strokeLineJoin, optional float strokeLineMiter, optional float trimPathStart, optional float trimPathEnd, optional float trimPathOffset);
+ }
+
+ @androidx.compose.runtime.Immutable public final class VectorGroup extends androidx.compose.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.compose.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+ method public operator androidx.compose.ui.graphics.vector.VectorNode get(int index);
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> getClipPathData();
+ method public String getName();
+ method public float getPivotX();
+ method public float getPivotY();
+ method public float getRotation();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public int getSize();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public java.util.Iterator<androidx.compose.ui.graphics.vector.VectorNode> iterator();
+ property public final java.util.List<androidx.compose.ui.graphics.vector.PathNode> clipPathData;
+ property public final String name;
+ property public final float pivotX;
+ property public final float pivotY;
+ property public final float rotation;
+ property public final float scaleX;
+ property public final float scaleY;
+ property public final int size;
+ property public final float translationX;
+ property public final float translationY;
+ }
+
+ public final class VectorKt {
+ method public static inline java.util.List<androidx.compose.ui.graphics.vector.PathNode> PathData(kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> block);
+ method public static java.util.List<androidx.compose.ui.graphics.vector.PathNode> addPathNodes(String? pathStr);
+ method public static int getDefaultFillType();
+ method public static int getDefaultStrokeLineCap();
+ method public static int getDefaultStrokeLineJoin();
+ method public static int getDefaultTintBlendMode();
+ method public static long getDefaultTintColor();
+ method public static java.util.List<androidx.compose.ui.graphics.vector.PathNode> getEmptyPath();
+ field public static final String DefaultGroupName = "";
+ field public static final String DefaultPathName = "";
+ field public static final float DefaultPivotX = 0.0f;
+ field public static final float DefaultPivotY = 0.0f;
+ field public static final float DefaultRotation = 0.0f;
+ field public static final float DefaultScaleX = 1.0f;
+ field public static final float DefaultScaleY = 1.0f;
+ field public static final float DefaultStrokeLineMiter = 4.0f;
+ field public static final float DefaultStrokeLineWidth = 0.0f;
+ field public static final float DefaultTranslationX = 0.0f;
+ field public static final float DefaultTranslationY = 0.0f;
+ field public static final float DefaultTrimPathEnd = 1.0f;
+ field public static final float DefaultTrimPathOffset = 0.0f;
+ field public static final float DefaultTrimPathStart = 0.0f;
+ }
+
+ public abstract sealed class VectorNode {
+ }
+
+ public final class VectorPainter extends androidx.compose.ui.graphics.painter.Painter {
+ method public long getIntrinsicSize-NH-jbRc();
+ method protected void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public long intrinsicSize;
+ }
+
+ public final class VectorPainterKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.vector.VectorPainter rememberVectorPainter(androidx.compose.ui.graphics.vector.ImageVector image);
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.vector.VectorPainter rememberVectorPainter-u_AqRoo(float defaultWidth, float defaultHeight, optional float viewportWidth, optional float viewportHeight, optional String name, optional long tintColor, optional int tintBlendMode, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> content);
+ field public static final String RootGroupName = "VectorRootGroup";
+ }
+
+ @androidx.compose.runtime.Immutable public final class VectorPath extends androidx.compose.ui.graphics.vector.VectorNode {
+ method public androidx.compose.ui.graphics.Brush? getFill();
+ method public float getFillAlpha();
+ method public String getName();
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> getPathData();
+ method public int getPathFillType-Rg-k1Os();
+ method public androidx.compose.ui.graphics.Brush? getStroke();
+ method public float getStrokeAlpha();
+ method public int getStrokeLineCap-KaPHkGw();
+ method public int getStrokeLineJoin-LxFBmk8();
+ method public float getStrokeLineMiter();
+ method public float getStrokeLineWidth();
+ method public float getTrimPathEnd();
+ method public float getTrimPathOffset();
+ method public float getTrimPathStart();
+ property public final androidx.compose.ui.graphics.Brush? fill;
+ property public final float fillAlpha;
+ property public final String name;
+ property public final java.util.List<androidx.compose.ui.graphics.vector.PathNode> pathData;
+ property public final int pathFillType;
+ property public final androidx.compose.ui.graphics.Brush? stroke;
+ property public final float strokeAlpha;
+ property public final int strokeLineCap;
+ property public final int strokeLineJoin;
+ property public final float strokeLineMiter;
+ property public final float strokeLineWidth;
+ property public final float trimPathEnd;
+ property public final float trimPathOffset;
+ property public final float trimPathStart;
+ }
+
+}
+
+package androidx.compose.ui.graphics.vector.compat {
+
+ public final class XmlAnimatedVectorParser_androidKt {
+ }
+
+ public final class XmlAnimatorParser_androidKt {
+ }
+
+ public final class XmlPullParserUtils_androidKt {
+ }
+
+ public final class XmlVectorParser_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.hapticfeedback {
+
+ public interface HapticFeedback {
+ method public void performHapticFeedback-CdsT49E(int hapticFeedbackType);
+ }
+
+ public final inline class HapticFeedbackType {
+ ctor public HapticFeedbackType();
+ method public static int constructor-impl(int value);
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.hapticfeedback.HapticFeedbackType.Companion Companion;
+ }
+
+ public static final class HapticFeedbackType.Companion {
+ method public int getLongPress-5zf0vsI();
+ method public int getTextHandleMove-5zf0vsI();
+ method public java.util.List<androidx.compose.ui.hapticfeedback.HapticFeedbackType> values();
+ property public final int LongPress;
+ property public final int TextHandleMove;
+ }
+
+}
+
+package androidx.compose.ui.input.key {
+
+ public final inline class Key {
+ ctor public Key();
+ method public static long constructor-impl(long keyCode);
+ method public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public long getKeyCode();
+ method public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ property public final long keyCode;
+ field public static final androidx.compose.ui.input.key.Key.Companion Companion;
+ }
+
+ public static final class Key.Companion {
+ method public long getA-EK5gGoQ();
+ method public long getAllApps-EK5gGoQ();
+ method public long getAltLeft-EK5gGoQ();
+ method public long getAltRight-EK5gGoQ();
+ method public long getApostrophe-EK5gGoQ();
+ method public long getAppSwitch-EK5gGoQ();
+ method public long getAssist-EK5gGoQ();
+ method public long getAt-EK5gGoQ();
+ method public long getAvReceiverInput-EK5gGoQ();
+ method public long getAvReceiverPower-EK5gGoQ();
+ method public long getB-EK5gGoQ();
+ method public long getBack-EK5gGoQ();
+ method public long getBackslash-EK5gGoQ();
+ method public long getBackspace-EK5gGoQ();
+ method public long getBookmark-EK5gGoQ();
+ method public long getBreak-EK5gGoQ();
+ method public long getBrightnessDown-EK5gGoQ();
+ method public long getBrightnessUp-EK5gGoQ();
+ method public long getBrowser-EK5gGoQ();
+ method public long getButton1-EK5gGoQ();
+ method public long getButton10-EK5gGoQ();
+ method public long getButton11-EK5gGoQ();
+ method public long getButton12-EK5gGoQ();
+ method public long getButton13-EK5gGoQ();
+ method public long getButton14-EK5gGoQ();
+ method public long getButton15-EK5gGoQ();
+ method public long getButton16-EK5gGoQ();
+ method public long getButton2-EK5gGoQ();
+ method public long getButton3-EK5gGoQ();
+ method public long getButton4-EK5gGoQ();
+ method public long getButton5-EK5gGoQ();
+ method public long getButton6-EK5gGoQ();
+ method public long getButton7-EK5gGoQ();
+ method public long getButton8-EK5gGoQ();
+ method public long getButton9-EK5gGoQ();
+ method public long getButtonA-EK5gGoQ();
+ method public long getButtonB-EK5gGoQ();
+ method public long getButtonC-EK5gGoQ();
+ method public long getButtonL1-EK5gGoQ();
+ method public long getButtonL2-EK5gGoQ();
+ method public long getButtonMode-EK5gGoQ();
+ method public long getButtonR1-EK5gGoQ();
+ method public long getButtonR2-EK5gGoQ();
+ method public long getButtonSelect-EK5gGoQ();
+ method public long getButtonStart-EK5gGoQ();
+ method public long getButtonThumbLeft-EK5gGoQ();
+ method public long getButtonThumbRight-EK5gGoQ();
+ method public long getButtonX-EK5gGoQ();
+ method public long getButtonY-EK5gGoQ();
+ method public long getButtonZ-EK5gGoQ();
+ method public long getC-EK5gGoQ();
+ method public long getCalculator-EK5gGoQ();
+ method public long getCalendar-EK5gGoQ();
+ method public long getCall-EK5gGoQ();
+ method public long getCamera-EK5gGoQ();
+ method public long getCapsLock-EK5gGoQ();
+ method public long getCaptions-EK5gGoQ();
+ method public long getChannelDown-EK5gGoQ();
+ method public long getChannelUp-EK5gGoQ();
+ method public long getClear-EK5gGoQ();
+ method public long getComma-EK5gGoQ();
+ method public long getContacts-EK5gGoQ();
+ method public long getCopy-EK5gGoQ();
+ method public long getCtrlLeft-EK5gGoQ();
+ method public long getCtrlRight-EK5gGoQ();
+ method public long getCut-EK5gGoQ();
+ method public long getD-EK5gGoQ();
+ method public long getDelete-EK5gGoQ();
+ method public long getDirectionCenter-EK5gGoQ();
+ method public long getDirectionDown-EK5gGoQ();
+ method public long getDirectionDownLeft-EK5gGoQ();
+ method public long getDirectionDownRight-EK5gGoQ();
+ method public long getDirectionLeft-EK5gGoQ();
+ method public long getDirectionRight-EK5gGoQ();
+ method public long getDirectionUp-EK5gGoQ();
+ method public long getDirectionUpLeft-EK5gGoQ();
+ method public long getDirectionUpRight-EK5gGoQ();
+ method public long getDvr-EK5gGoQ();
+ method public long getE-EK5gGoQ();
+ method public long getEight-EK5gGoQ();
+ method public long getEisu-EK5gGoQ();
+ method public long getEndCall-EK5gGoQ();
+ method public long getEnter-EK5gGoQ();
+ method public long getEnvelope-EK5gGoQ();
+ method public long getEquals-EK5gGoQ();
+ method public long getEscape-EK5gGoQ();
+ method public long getF-EK5gGoQ();
+ method public long getF1-EK5gGoQ();
+ method public long getF10-EK5gGoQ();
+ method public long getF11-EK5gGoQ();
+ method public long getF12-EK5gGoQ();
+ method public long getF2-EK5gGoQ();
+ method public long getF3-EK5gGoQ();
+ method public long getF4-EK5gGoQ();
+ method public long getF5-EK5gGoQ();
+ method public long getF6-EK5gGoQ();
+ method public long getF7-EK5gGoQ();
+ method public long getF8-EK5gGoQ();
+ method public long getF9-EK5gGoQ();
+ method public long getFive-EK5gGoQ();
+ method public long getFocus-EK5gGoQ();
+ method public long getForward-EK5gGoQ();
+ method public long getFour-EK5gGoQ();
+ method public long getFunction-EK5gGoQ();
+ method public long getG-EK5gGoQ();
+ method public long getGrave-EK5gGoQ();
+ method public long getGuide-EK5gGoQ();
+ method public long getH-EK5gGoQ();
+ method public long getHeadsetHook-EK5gGoQ();
+ method public long getHelp-EK5gGoQ();
+ method public long getHenkan-EK5gGoQ();
+ method public long getHome-EK5gGoQ();
+ method public long getI-EK5gGoQ();
+ method public long getInfo-EK5gGoQ();
+ method public long getInsert-EK5gGoQ();
+ method public long getJ-EK5gGoQ();
+ method public long getK-EK5gGoQ();
+ method public long getKana-EK5gGoQ();
+ method public long getKatakanaHiragana-EK5gGoQ();
+ method public long getL-EK5gGoQ();
+ method public long getLanguageSwitch-EK5gGoQ();
+ method public long getLastChannel-EK5gGoQ();
+ method public long getLeftBracket-EK5gGoQ();
+ method public long getM-EK5gGoQ();
+ method public long getMannerMode-EK5gGoQ();
+ method public long getMediaAudioTrack-EK5gGoQ();
+ method public long getMediaClose-EK5gGoQ();
+ method public long getMediaEject-EK5gGoQ();
+ method public long getMediaFastForward-EK5gGoQ();
+ method public long getMediaNext-EK5gGoQ();
+ method public long getMediaPause-EK5gGoQ();
+ method public long getMediaPlay-EK5gGoQ();
+ method public long getMediaPlayPause-EK5gGoQ();
+ method public long getMediaPrevious-EK5gGoQ();
+ method public long getMediaRecord-EK5gGoQ();
+ method public long getMediaRewind-EK5gGoQ();
+ method public long getMediaSkipBackward-EK5gGoQ();
+ method public long getMediaSkipForward-EK5gGoQ();
+ method public long getMediaStepBackward-EK5gGoQ();
+ method public long getMediaStepForward-EK5gGoQ();
+ method public long getMediaStop-EK5gGoQ();
+ method public long getMediaTopMenu-EK5gGoQ();
+ method public long getMenu-EK5gGoQ();
+ method public long getMetaLeft-EK5gGoQ();
+ method public long getMetaRight-EK5gGoQ();
+ method public long getMicrophoneMute-EK5gGoQ();
+ method public long getMinus-EK5gGoQ();
+ method public long getMoveEnd-EK5gGoQ();
+ method public long getMoveHome-EK5gGoQ();
+ method public long getMuhenkan-EK5gGoQ();
+ method public long getMultiply-EK5gGoQ();
+ method public long getMusic-EK5gGoQ();
+ method public long getN-EK5gGoQ();
+ method public long getNavigateIn-EK5gGoQ();
+ method public long getNavigateNext-EK5gGoQ();
+ method public long getNavigateOut-EK5gGoQ();
+ method public long getNavigatePrevious-EK5gGoQ();
+ method public long getNine-EK5gGoQ();
+ method public long getNotification-EK5gGoQ();
+ method public long getNumLock-EK5gGoQ();
+ method public long getNumPad0-EK5gGoQ();
+ method public long getNumPad1-EK5gGoQ();
+ method public long getNumPad2-EK5gGoQ();
+ method public long getNumPad3-EK5gGoQ();
+ method public long getNumPad4-EK5gGoQ();
+ method public long getNumPad5-EK5gGoQ();
+ method public long getNumPad6-EK5gGoQ();
+ method public long getNumPad7-EK5gGoQ();
+ method public long getNumPad8-EK5gGoQ();
+ method public long getNumPad9-EK5gGoQ();
+ method public long getNumPadAdd-EK5gGoQ();
+ method public long getNumPadComma-EK5gGoQ();
+ method public long getNumPadDivide-EK5gGoQ();
+ method public long getNumPadDot-EK5gGoQ();
+ method public long getNumPadEnter-EK5gGoQ();
+ method public long getNumPadEquals-EK5gGoQ();
+ method public long getNumPadLeftParenthesis-EK5gGoQ();
+ method public long getNumPadMultiply-EK5gGoQ();
+ method public long getNumPadRightParenthesis-EK5gGoQ();
+ method public long getNumPadSubtract-EK5gGoQ();
+ method public long getNumber-EK5gGoQ();
+ method public long getO-EK5gGoQ();
+ method public long getOne-EK5gGoQ();
+ method public long getP-EK5gGoQ();
+ method public long getPageDown-EK5gGoQ();
+ method public long getPageUp-EK5gGoQ();
+ method public long getPairing-EK5gGoQ();
+ method public long getPaste-EK5gGoQ();
+ method public long getPeriod-EK5gGoQ();
+ method public long getPictureSymbols-EK5gGoQ();
+ method public long getPlus-EK5gGoQ();
+ method public long getPound-EK5gGoQ();
+ method public long getPower-EK5gGoQ();
+ method public long getPrintScreen-EK5gGoQ();
+ method public long getProfileSwitch-EK5gGoQ();
+ method public long getProgramBlue-EK5gGoQ();
+ method public long getProgramGreen-EK5gGoQ();
+ method public long getProgramRed-EK5gGoQ();
+ method public long getProgramYellow-EK5gGoQ();
+ method public long getQ-EK5gGoQ();
+ method public long getR-EK5gGoQ();
+ method public long getRefresh-EK5gGoQ();
+ method public long getRightBracket-EK5gGoQ();
+ method public long getRo-EK5gGoQ();
+ method public long getS-EK5gGoQ();
+ method public long getScrollLock-EK5gGoQ();
+ method public long getSearch-EK5gGoQ();
+ method public long getSemicolon-EK5gGoQ();
+ method public long getSetTopBoxInput-EK5gGoQ();
+ method public long getSetTopBoxPower-EK5gGoQ();
+ method public long getSettings-EK5gGoQ();
+ method public long getSeven-EK5gGoQ();
+ method public long getShiftLeft-EK5gGoQ();
+ method public long getShiftRight-EK5gGoQ();
+ method public long getSix-EK5gGoQ();
+ method public long getSlash-EK5gGoQ();
+ method public long getSleep-EK5gGoQ();
+ method public long getSoftLeft-EK5gGoQ();
+ method public long getSoftRight-EK5gGoQ();
+ method public long getSoftSleep-EK5gGoQ();
+ method public long getSpacebar-EK5gGoQ();
+ method public long getStem1-EK5gGoQ();
+ method public long getStem2-EK5gGoQ();
+ method public long getStem3-EK5gGoQ();
+ method public long getStemPrimary-EK5gGoQ();
+ method public long getSwitchCharset-EK5gGoQ();
+ method public long getSymbol-EK5gGoQ();
+ method public long getSystemNavigationDown-EK5gGoQ();
+ method public long getSystemNavigationLeft-EK5gGoQ();
+ method public long getSystemNavigationRight-EK5gGoQ();
+ method public long getSystemNavigationUp-EK5gGoQ();
+ method public long getT-EK5gGoQ();
+ method public long getTab-EK5gGoQ();
+ method public long getThree-EK5gGoQ();
+ method public long getThumbsDown-EK5gGoQ();
+ method public long getThumbsUp-EK5gGoQ();
+ method public long getToggle2D3D-EK5gGoQ();
+ method public long getTv-EK5gGoQ();
+ method public long getTvAntennaCable-EK5gGoQ();
+ method public long getTvAudioDescription-EK5gGoQ();
+ method public long getTvAudioDescriptionMixingVolumeDown-EK5gGoQ();
+ method public long getTvAudioDescriptionMixingVolumeUp-EK5gGoQ();
+ method public long getTvContentsMenu-EK5gGoQ();
+ method public long getTvDataService-EK5gGoQ();
+ method public long getTvInput-EK5gGoQ();
+ method public long getTvInputComponent1-EK5gGoQ();
+ method public long getTvInputComponent2-EK5gGoQ();
+ method public long getTvInputComposite1-EK5gGoQ();
+ method public long getTvInputComposite2-EK5gGoQ();
+ method public long getTvInputHdmi1-EK5gGoQ();
+ method public long getTvInputHdmi2-EK5gGoQ();
+ method public long getTvInputHdmi3-EK5gGoQ();
+ method public long getTvInputHdmi4-EK5gGoQ();
+ method public long getTvInputVga1-EK5gGoQ();
+ method public long getTvMediaContextMenu-EK5gGoQ();
+ method public long getTvNetwork-EK5gGoQ();
+ method public long getTvNumberEntry-EK5gGoQ();
+ method public long getTvPower-EK5gGoQ();
+ method public long getTvRadioService-EK5gGoQ();
+ method public long getTvSatellite-EK5gGoQ();
+ method public long getTvSatelliteBs-EK5gGoQ();
+ method public long getTvSatelliteCs-EK5gGoQ();
+ method public long getTvSatelliteService-EK5gGoQ();
+ method public long getTvTeletext-EK5gGoQ();
+ method public long getTvTerrestrialAnalog-EK5gGoQ();
+ method public long getTvTerrestrialDigital-EK5gGoQ();
+ method public long getTvTimerProgramming-EK5gGoQ();
+ method public long getTvZoomMode-EK5gGoQ();
+ method public long getTwo-EK5gGoQ();
+ method public long getU-EK5gGoQ();
+ method public long getUnknown-EK5gGoQ();
+ method public long getV-EK5gGoQ();
+ method public long getVoiceAssist-EK5gGoQ();
+ method public long getVolumeDown-EK5gGoQ();
+ method public long getVolumeMute-EK5gGoQ();
+ method public long getVolumeUp-EK5gGoQ();
+ method public long getW-EK5gGoQ();
+ method public long getWakeUp-EK5gGoQ();
+ method public long getWindow-EK5gGoQ();
+ method public long getX-EK5gGoQ();
+ method public long getY-EK5gGoQ();
+ method public long getYen-EK5gGoQ();
+ method public long getZ-EK5gGoQ();
+ method public long getZenkakuHankaru-EK5gGoQ();
+ method public long getZero-EK5gGoQ();
+ method public long getZoomIn-EK5gGoQ();
+ method public long getZoomOut-EK5gGoQ();
+ property public final long A;
+ property public final long AllApps;
+ property public final long AltLeft;
+ property public final long AltRight;
+ property public final long Apostrophe;
+ property public final long AppSwitch;
+ property public final long Assist;
+ property public final long At;
+ property public final long AvReceiverInput;
+ property public final long AvReceiverPower;
+ property public final long B;
+ property public final long Back;
+ property public final long Backslash;
+ property public final long Backspace;
+ property public final long Bookmark;
+ property public final long Break;
+ property public final long BrightnessDown;
+ property public final long BrightnessUp;
+ property public final long Browser;
+ property public final long Button1;
+ property public final long Button10;
+ property public final long Button11;
+ property public final long Button12;
+ property public final long Button13;
+ property public final long Button14;
+ property public final long Button15;
+ property public final long Button16;
+ property public final long Button2;
+ property public final long Button3;
+ property public final long Button4;
+ property public final long Button5;
+ property public final long Button6;
+ property public final long Button7;
+ property public final long Button8;
+ property public final long Button9;
+ property public final long ButtonA;
+ property public final long ButtonB;
+ property public final long ButtonC;
+ property public final long ButtonL1;
+ property public final long ButtonL2;
+ property public final long ButtonMode;
+ property public final long ButtonR1;
+ property public final long ButtonR2;
+ property public final long ButtonSelect;
+ property public final long ButtonStart;
+ property public final long ButtonThumbLeft;
+ property public final long ButtonThumbRight;
+ property public final long ButtonX;
+ property public final long ButtonY;
+ property public final long ButtonZ;
+ property public final long C;
+ property public final long Calculator;
+ property public final long Calendar;
+ property public final long Call;
+ property public final long Camera;
+ property public final long CapsLock;
+ property public final long Captions;
+ property public final long ChannelDown;
+ property public final long ChannelUp;
+ property public final long Clear;
+ property public final long Comma;
+ property public final long Contacts;
+ property public final long Copy;
+ property public final long CtrlLeft;
+ property public final long CtrlRight;
+ property public final long Cut;
+ property public final long D;
+ property public final long Delete;
+ property public final long DirectionCenter;
+ property public final long DirectionDown;
+ property public final long DirectionDownLeft;
+ property public final long DirectionDownRight;
+ property public final long DirectionLeft;
+ property public final long DirectionRight;
+ property public final long DirectionUp;
+ property public final long DirectionUpLeft;
+ property public final long DirectionUpRight;
+ property public final long Dvr;
+ property public final long E;
+ property public final long Eight;
+ property public final long Eisu;
+ property public final long EndCall;
+ property public final long Enter;
+ property public final long Envelope;
+ property public final long Equals;
+ property public final long Escape;
+ property public final long F;
+ property public final long F1;
+ property public final long F10;
+ property public final long F11;
+ property public final long F12;
+ property public final long F2;
+ property public final long F3;
+ property public final long F4;
+ property public final long F5;
+ property public final long F6;
+ property public final long F7;
+ property public final long F8;
+ property public final long F9;
+ property public final long Five;
+ property public final long Focus;
+ property public final long Forward;
+ property public final long Four;
+ property public final long Function;
+ property public final long G;
+ property public final long Grave;
+ property public final long Guide;
+ property public final long H;
+ property public final long HeadsetHook;
+ property public final long Help;
+ property public final long Henkan;
+ property public final long Home;
+ property public final long I;
+ property public final long Info;
+ property public final long Insert;
+ property public final long J;
+ property public final long K;
+ property public final long Kana;
+ property public final long KatakanaHiragana;
+ property public final long L;
+ property public final long LanguageSwitch;
+ property public final long LastChannel;
+ property public final long LeftBracket;
+ property public final long M;
+ property public final long MannerMode;
+ property public final long MediaAudioTrack;
+ property public final long MediaClose;
+ property public final long MediaEject;
+ property public final long MediaFastForward;
+ property public final long MediaNext;
+ property public final long MediaPause;
+ property public final long MediaPlay;
+ property public final long MediaPlayPause;
+ property public final long MediaPrevious;
+ property public final long MediaRecord;
+ property public final long MediaRewind;
+ property public final long MediaSkipBackward;
+ property public final long MediaSkipForward;
+ property public final long MediaStepBackward;
+ property public final long MediaStepForward;
+ property public final long MediaStop;
+ property public final long MediaTopMenu;
+ property public final long Menu;
+ property public final long MetaLeft;
+ property public final long MetaRight;
+ property public final long MicrophoneMute;
+ property public final long Minus;
+ property public final long MoveEnd;
+ property public final long MoveHome;
+ property public final long Muhenkan;
+ property public final long Multiply;
+ property public final long Music;
+ property public final long N;
+ property public final long NavigateIn;
+ property public final long NavigateNext;
+ property public final long NavigateOut;
+ property public final long NavigatePrevious;
+ property public final long Nine;
+ property public final long Notification;
+ property public final long NumLock;
+ property public final long NumPad0;
+ property public final long NumPad1;
+ property public final long NumPad2;
+ property public final long NumPad3;
+ property public final long NumPad4;
+ property public final long NumPad5;
+ property public final long NumPad6;
+ property public final long NumPad7;
+ property public final long NumPad8;
+ property public final long NumPad9;
+ property public final long NumPadAdd;
+ property public final long NumPadComma;
+ property public final long NumPadDivide;
+ property public final long NumPadDot;
+ property public final long NumPadEnter;
+ property public final long NumPadEquals;
+ property public final long NumPadLeftParenthesis;
+ property public final long NumPadMultiply;
+ property public final long NumPadRightParenthesis;
+ property public final long NumPadSubtract;
+ property public final long Number;
+ property public final long O;
+ property public final long One;
+ property public final long P;
+ property public final long PageDown;
+ property public final long PageUp;
+ property public final long Pairing;
+ property public final long Paste;
+ property public final long Period;
+ property public final long PictureSymbols;
+ property public final long Plus;
+ property public final long Pound;
+ property public final long Power;
+ property public final long PrintScreen;
+ property public final long ProfileSwitch;
+ property public final long ProgramBlue;
+ property public final long ProgramGreen;
+ property public final long ProgramRed;
+ property public final long ProgramYellow;
+ property public final long Q;
+ property public final long R;
+ property public final long Refresh;
+ property public final long RightBracket;
+ property public final long Ro;
+ property public final long S;
+ property public final long ScrollLock;
+ property public final long Search;
+ property public final long Semicolon;
+ property public final long SetTopBoxInput;
+ property public final long SetTopBoxPower;
+ property public final long Settings;
+ property public final long Seven;
+ property public final long ShiftLeft;
+ property public final long ShiftRight;
+ property public final long Six;
+ property public final long Slash;
+ property public final long Sleep;
+ property public final long SoftLeft;
+ property public final long SoftRight;
+ property public final long SoftSleep;
+ property public final long Spacebar;
+ property public final long Stem1;
+ property public final long Stem2;
+ property public final long Stem3;
+ property public final long StemPrimary;
+ property public final long SwitchCharset;
+ property public final long Symbol;
+ property public final long SystemNavigationDown;
+ property public final long SystemNavigationLeft;
+ property public final long SystemNavigationRight;
+ property public final long SystemNavigationUp;
+ property public final long T;
+ property public final long Tab;
+ property public final long Three;
+ property public final long ThumbsDown;
+ property public final long ThumbsUp;
+ property public final long Toggle2D3D;
+ property public final long Tv;
+ property public final long TvAntennaCable;
+ property public final long TvAudioDescription;
+ property public final long TvAudioDescriptionMixingVolumeDown;
+ property public final long TvAudioDescriptionMixingVolumeUp;
+ property public final long TvContentsMenu;
+ property public final long TvDataService;
+ property public final long TvInput;
+ property public final long TvInputComponent1;
+ property public final long TvInputComponent2;
+ property public final long TvInputComposite1;
+ property public final long TvInputComposite2;
+ property public final long TvInputHdmi1;
+ property public final long TvInputHdmi2;
+ property public final long TvInputHdmi3;
+ property public final long TvInputHdmi4;
+ property public final long TvInputVga1;
+ property public final long TvMediaContextMenu;
+ property public final long TvNetwork;
+ property public final long TvNumberEntry;
+ property public final long TvPower;
+ property public final long TvRadioService;
+ property public final long TvSatellite;
+ property public final long TvSatelliteBs;
+ property public final long TvSatelliteCs;
+ property public final long TvSatelliteService;
+ property public final long TvTeletext;
+ property public final long TvTerrestrialAnalog;
+ property public final long TvTerrestrialDigital;
+ property public final long TvTimerProgramming;
+ property public final long TvZoomMode;
+ property public final long Two;
+ property public final long U;
+ property public final long Unknown;
+ property public final long V;
+ property public final long VoiceAssist;
+ property public final long VolumeDown;
+ property public final long VolumeMute;
+ property public final long VolumeUp;
+ property public final long W;
+ property public final long WakeUp;
+ property public final long Window;
+ property public final long X;
+ property public final long Y;
+ property public final long Yen;
+ property public final long Z;
+ property public final long ZenkakuHankaru;
+ property public final long Zero;
+ property public final long ZoomIn;
+ property public final long ZoomOut;
+ }
+
+ public final inline class KeyEvent {
+ ctor public KeyEvent();
+ method public static android.view.KeyEvent! constructor-impl(android.view.KeyEvent nativeKeyEvent);
+ method public static inline boolean equals-impl(android.view.KeyEvent! p, Object? p1);
+ method public static boolean equals-impl0(android.view.KeyEvent p1, android.view.KeyEvent p2);
+ method public android.view.KeyEvent getNativeKeyEvent();
+ method public static inline int hashCode-impl(android.view.KeyEvent! p);
+ method public static inline String! toString-impl(android.view.KeyEvent! p);
+ property public final android.view.KeyEvent nativeKeyEvent;
+ }
+
+ public final inline class KeyEventType {
+ ctor public KeyEventType();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.input.key.KeyEventType.Companion Companion;
+ }
+
+ public static final class KeyEventType.Companion {
+ method public int getKeyDown-CS__XNY();
+ method public int getKeyUp-CS__XNY();
+ method public int getUnknown-CS__XNY();
+ property public final int KeyDown;
+ property public final int KeyUp;
+ property public final int Unknown;
+ }
+
+ public final class KeyEvent_androidKt {
+ method public static long getKey-ZmokQxo(android.view.KeyEvent);
+ method public static int getType-ZmokQxo(android.view.KeyEvent);
+ method public static int getUtf16CodePoint-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isAltPressed-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isCtrlPressed-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isMetaPressed-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isShiftPressed-ZmokQxo(android.view.KeyEvent);
+ }
+
+ public final class KeyInputModifierKt {
+ method public static androidx.compose.ui.Modifier onKeyEvent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.key.KeyEvent,java.lang.Boolean> onKeyEvent);
+ method public static androidx.compose.ui.Modifier onPreviewKeyEvent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.key.KeyEvent,java.lang.Boolean> onPreviewKeyEvent);
+ }
+
+ public final class Key_androidKt {
+ method public static long Key(int nativeKeyCode);
+ method public static int getNativeKeyCode-YVgTNJs(long);
+ }
+
+}
+
+package androidx.compose.ui.input.nestedscroll {
+
+ public interface NestedScrollConnection {
+ method public default suspend Object? onPostFling-k5p9STU(long consumed, long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public default long onPostScroll-61dr0bI(long consumed, long available, int source);
+ method public default suspend Object? onPreFling-bHeVL4A(long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public default long onPreScroll-ScU7Jk8(long available, int source);
+ }
+
+ public final class NestedScrollDelegatingWrapperKt {
+ }
+
+ public final class NestedScrollDispatcher {
+ ctor public NestedScrollDispatcher();
+ method public suspend Object? dispatchPostFling-k5p9STU(long consumed, long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public long dispatchPostScroll-61dr0bI(long consumed, long available, int source);
+ method public suspend Object? dispatchPreFling-bHeVL4A(long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public long dispatchPreScroll-ScU7Jk8(long available, int source);
+ method public kotlinx.coroutines.CoroutineScope getCoroutineScope();
+ property public final kotlinx.coroutines.CoroutineScope coroutineScope;
+ }
+
+ public final class NestedScrollModifierKt {
+ method public static androidx.compose.ui.Modifier nestedScroll(androidx.compose.ui.Modifier, androidx.compose.ui.input.nestedscroll.NestedScrollConnection connection, optional androidx.compose.ui.input.nestedscroll.NestedScrollDispatcher? dispatcher);
+ }
+
+ public final inline class NestedScrollSource {
+ ctor public NestedScrollSource();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.input.nestedscroll.NestedScrollSource.Companion Companion;
+ }
+
+ public static final class NestedScrollSource.Companion {
+ method public int getDrag-WNlRxjI();
+ method public int getFling-WNlRxjI();
+ method @Deprecated public int getRelocate-WNlRxjI();
+ property public final int Drag;
+ property public final int Fling;
+ property @Deprecated public final int Relocate;
+ }
+
+}
+
+package androidx.compose.ui.input.pointer {
+
+ @kotlin.coroutines.RestrictsSuspension public interface AwaitPointerEventScope extends androidx.compose.ui.unit.Density {
+ method public suspend Object? awaitPointerEvent(optional androidx.compose.ui.input.pointer.PointerEventPass pass, optional kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerEvent> p);
+ method public androidx.compose.ui.input.pointer.PointerEvent getCurrentEvent();
+ method public long getSize-YbymL2g();
+ method public androidx.compose.ui.platform.ViewConfiguration getViewConfiguration();
+ property public abstract androidx.compose.ui.input.pointer.PointerEvent currentEvent;
+ property public abstract long size;
+ property public abstract androidx.compose.ui.platform.ViewConfiguration viewConfiguration;
+ }
+
+ public final class ConsumedData {
+ ctor public ConsumedData(optional boolean positionChange, optional boolean downChange);
+ method public boolean getDownChange();
+ method public boolean getPositionChange();
+ method public void setDownChange(boolean p);
+ method public void setPositionChange(boolean p);
+ property public final boolean downChange;
+ property public final boolean positionChange;
+ }
+
+ public final class MotionEventAdapter_androidKt {
+ }
+
+ public final class PointerEvent {
+ ctor public PointerEvent(java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> changes);
+ method public java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> component1();
+ method public androidx.compose.ui.input.pointer.PointerEvent copy(java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> changes, android.view.MotionEvent? motionEvent);
+ method public java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> getChanges();
+ property public final java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> changes;
+ }
+
+ public final class PointerEventKt {
+ method public static boolean anyChangeConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToDown(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToDownIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToUp(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToUpIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static void consumeAllChanges(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static void consumeDownChange(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static void consumePositionChange(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean isOutOfBounds-MReStF0(androidx.compose.ui.input.pointer.PointerInputChange, long size);
+ method public static long positionChange(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean positionChangeConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static long positionChangeIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean positionChanged(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean positionChangedIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ }
+
+ public enum PointerEventPass {
+ enum_constant public static final androidx.compose.ui.input.pointer.PointerEventPass Final;
+ enum_constant public static final androidx.compose.ui.input.pointer.PointerEventPass Initial;
+ enum_constant public static final androidx.compose.ui.input.pointer.PointerEventPass Main;
+ }
+
+ public final inline class PointerId {
+ ctor public PointerId();
+ method public static long constructor-impl(long value);
+ method public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public long getValue();
+ method public static inline int hashCode-impl(long p);
+ method public static inline String! toString-impl(long p);
+ property public final long value;
+ }
+
+ @androidx.compose.runtime.Immutable public final class PointerInputChange {
+ method public androidx.compose.ui.input.pointer.PointerInputChange copy-aJ2ieLA(optional long id, optional long currentTime, optional long currentPosition, optional boolean currentPressed, optional long previousTime, optional long previousPosition, optional boolean previousPressed, optional androidx.compose.ui.input.pointer.ConsumedData consumed, optional int type);
+ method public androidx.compose.ui.input.pointer.ConsumedData getConsumed();
+ method public long getId-J3iCeTQ();
+ method public long getPosition-F1C5BW0();
+ method public boolean getPressed();
+ method public long getPreviousPosition-F1C5BW0();
+ method public boolean getPreviousPressed();
+ method public long getPreviousUptimeMillis();
+ method public int getType-T8wyACA();
+ method public long getUptimeMillis();
+ property public final androidx.compose.ui.input.pointer.ConsumedData consumed;
+ property public final long id;
+ property public final long position;
+ property public final boolean pressed;
+ property public final long previousPosition;
+ property public final boolean previousPressed;
+ property public final long previousUptimeMillis;
+ property public final int type;
+ property public final long uptimeMillis;
+ }
+
+ public final class PointerInputEventProcessorKt {
+ }
+
+ public abstract class PointerInputFilter {
+ ctor public PointerInputFilter();
+ method public final long getSize-YbymL2g();
+ method public abstract void onCancel();
+ method public abstract void onPointerEvent-d1fqKvQ(androidx.compose.ui.input.pointer.PointerEvent pointerEvent, androidx.compose.ui.input.pointer.PointerEventPass pass, long bounds);
+ property public final long size;
+ }
+
+ public interface PointerInputModifier extends androidx.compose.ui.Modifier.Element {
+ method public androidx.compose.ui.input.pointer.PointerInputFilter getPointerInputFilter();
+ property public abstract androidx.compose.ui.input.pointer.PointerInputFilter pointerInputFilter;
+ }
+
+ public interface PointerInputScope extends androidx.compose.ui.unit.Density {
+ method public suspend <R> Object? awaitPointerEventScope(kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.AwaitPointerEventScope,? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ method public long getSize-YbymL2g();
+ method public androidx.compose.ui.platform.ViewConfiguration getViewConfiguration();
+ property public abstract long size;
+ property public abstract androidx.compose.ui.platform.ViewConfiguration viewConfiguration;
+ }
+
+ public final class PointerInputTestUtilKt {
+ }
+
+ public final class PointerInteropFilter_androidKt {
+ method @androidx.compose.ui.ExperimentalComposeUiApi public static androidx.compose.ui.Modifier pointerInteropFilter(androidx.compose.ui.Modifier, optional androidx.compose.ui.input.pointer.RequestDisallowInterceptTouchEvent? requestDisallowInterceptTouchEvent, kotlin.jvm.functions.Function1<? super android.view.MotionEvent,java.lang.Boolean> onTouchEvent);
+ }
+
+ public final class PointerInteropUtils_androidKt {
+ }
+
+ public final inline class PointerType {
+ ctor public PointerType();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.input.pointer.PointerType.Companion Companion;
+ }
+
+ public static final class PointerType.Companion {
+ method public int getEraser-T8wyACA();
+ method public int getMouse-T8wyACA();
+ method public int getStylus-T8wyACA();
+ method public int getTouch-T8wyACA();
+ method public int getUnknown-T8wyACA();
+ property public final int Eraser;
+ property public final int Mouse;
+ property public final int Stylus;
+ property public final int Touch;
+ property public final int Unknown;
+ }
+
+ @androidx.compose.ui.ExperimentalComposeUiApi public final class RequestDisallowInterceptTouchEvent implements kotlin.jvm.functions.Function1<java.lang.Boolean,kotlin.Unit> {
+ ctor public RequestDisallowInterceptTouchEvent();
+ method public void invoke(boolean disallowIntercept);
+ }
+
+ public final class SuspendingPointerInputFilterKt {
+ method @Deprecated public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, Object? key1, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, Object![]? keys, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ }
+
+}
+
+package androidx.compose.ui.input.pointer.util {
+
+ public final class VelocityTracker {
+ ctor public VelocityTracker();
+ method public void addPosition-OX7LsLU(long timeMillis, long position);
+ method public long calculateVelocity-9UxMQ8M();
+ method public void resetTracking();
+ }
+
+ public final class VelocityTrackerKt {
+ }
+
+}
+
+package androidx.compose.ui.layout {
+
+ @androidx.compose.runtime.Immutable public abstract sealed class AlignmentLine {
+ field public static final androidx.compose.ui.layout.AlignmentLine.Companion Companion;
+ field public static final int Unspecified = -2147483648; // 0x80000000
+ }
+
+ public static final class AlignmentLine.Companion {
+ }
+
+ public final class AlignmentLineKt {
+ method public static androidx.compose.ui.layout.HorizontalAlignmentLine getFirstBaseline();
+ method public static androidx.compose.ui.layout.HorizontalAlignmentLine getLastBaseline();
+ }
+
+ @androidx.compose.runtime.Stable public interface ContentScale {
+ method public long computeScaleFactor-AhF4CD4(long srcSize, long dstSize);
+ field public static final androidx.compose.ui.layout.ContentScale.Companion Companion;
+ }
+
+ public static final class ContentScale.Companion {
+ method public androidx.compose.ui.layout.ContentScale getCrop();
+ method public androidx.compose.ui.layout.ContentScale getFillBounds();
+ method public androidx.compose.ui.layout.ContentScale getFillHeight();
+ method public androidx.compose.ui.layout.ContentScale getFillWidth();
+ method public androidx.compose.ui.layout.ContentScale getFit();
+ method public androidx.compose.ui.layout.ContentScale getInside();
+ method public androidx.compose.ui.layout.FixedScale getNone();
+ property public final androidx.compose.ui.layout.ContentScale Crop;
+ property public final androidx.compose.ui.layout.ContentScale FillBounds;
+ property public final androidx.compose.ui.layout.ContentScale FillHeight;
+ property public final androidx.compose.ui.layout.ContentScale FillWidth;
+ property public final androidx.compose.ui.layout.ContentScale Fit;
+ property public final androidx.compose.ui.layout.ContentScale Inside;
+ property public final androidx.compose.ui.layout.FixedScale None;
+ }
+
+ public final class ContentScaleKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class FixedScale implements androidx.compose.ui.layout.ContentScale {
+ ctor public FixedScale(float value);
+ method public float component1();
+ method public long computeScaleFactor-AhF4CD4(long srcSize, long dstSize);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.layout.FixedScale copy(float value);
+ method public float getValue();
+ property public final float value;
+ }
+
+ public interface GraphicLayerInfo {
+ method public long getLayerId();
+ method @androidx.compose.ui.ExperimentalComposeUiApi public default long getOwnerViewId();
+ property public abstract long layerId;
+ property @androidx.compose.ui.ExperimentalComposeUiApi public default long ownerViewId;
+ }
+
+ public final class HorizontalAlignmentLine extends androidx.compose.ui.layout.AlignmentLine {
+ ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
+ }
+
+ public interface IntrinsicMeasurable {
+ method public Object? getParentData();
+ method public int maxIntrinsicHeight(int width);
+ method public int maxIntrinsicWidth(int height);
+ method public int minIntrinsicHeight(int width);
+ method public int minIntrinsicWidth(int height);
+ property public abstract Object? parentData;
+ }
+
+ public final class IntrinsicMeasurableKt {
+ }
+
+ public interface IntrinsicMeasureScope extends androidx.compose.ui.unit.Density {
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ }
+
+ public interface LayoutCoordinates {
+ method public operator int get(androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public androidx.compose.ui.layout.LayoutCoordinates? getParentCoordinates();
+ method public androidx.compose.ui.layout.LayoutCoordinates? getParentLayoutCoordinates();
+ method public java.util.Set<androidx.compose.ui.layout.AlignmentLine> getProvidedAlignmentLines();
+ method public long getSize-YbymL2g();
+ method public boolean isAttached();
+ method public androidx.compose.ui.geometry.Rect localBoundingBoxOf(androidx.compose.ui.layout.LayoutCoordinates sourceCoordinates, optional boolean clipBounds);
+ method public long localPositionOf-YJiYy8w(androidx.compose.ui.layout.LayoutCoordinates sourceCoordinates, long relativeToSource);
+ method public long localToRoot-k-4lQ0M(long relativeToLocal);
+ method public long localToWindow-k-4lQ0M(long relativeToLocal);
+ method public long windowToLocal-k-4lQ0M(long relativeToWindow);
+ property public abstract boolean isAttached;
+ property public abstract androidx.compose.ui.layout.LayoutCoordinates? parentCoordinates;
+ property public abstract androidx.compose.ui.layout.LayoutCoordinates? parentLayoutCoordinates;
+ property public abstract java.util.Set<androidx.compose.ui.layout.AlignmentLine> providedAlignmentLines;
+ property public abstract long size;
+ }
+
+ public final class LayoutCoordinatesKt {
+ method public static androidx.compose.ui.geometry.Rect boundsInParent(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static androidx.compose.ui.geometry.Rect boundsInRoot(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static androidx.compose.ui.geometry.Rect boundsInWindow(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static long positionInParent(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static long positionInRoot(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static long positionInWindow(androidx.compose.ui.layout.LayoutCoordinates);
+ }
+
+ public final class LayoutIdKt {
+ method public static Object? getLayoutId(androidx.compose.ui.layout.Measurable);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier layoutId(androidx.compose.ui.Modifier, Object layoutId);
+ }
+
+ public interface LayoutIdParentData {
+ method public Object getLayoutId();
+ property public abstract Object layoutId;
+ }
+
+ public interface LayoutInfo {
+ method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
+ method public int getHeight();
+ method public java.util.List<androidx.compose.ui.layout.ModifierInfo> getModifierInfo();
+ method public androidx.compose.ui.layout.LayoutInfo? getParentInfo();
+ method public int getWidth();
+ method public boolean isAttached();
+ method public boolean isPlaced();
+ property public abstract androidx.compose.ui.layout.LayoutCoordinates coordinates;
+ property public abstract int height;
+ property public abstract boolean isAttached;
+ property public abstract boolean isPlaced;
+ property public abstract androidx.compose.ui.layout.LayoutInfo? parentInfo;
+ property public abstract int width;
+ }
+
+ public final class LayoutKt {
+ method @androidx.compose.runtime.Composable public static inline void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> content, optional androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.MeasurePolicy measurePolicy);
+ method @Deprecated @androidx.compose.runtime.Composable public static void MultiMeasureLayout(optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content, androidx.compose.ui.layout.MeasurePolicy measurePolicy);
+ }
+
+ public interface LayoutModifier extends androidx.compose.ui.Modifier.Element {
+ method public default int maxIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int width);
+ method public default int maxIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int height);
+ method public androidx.compose.ui.layout.MeasureResult measure-za8Wrwc(androidx.compose.ui.layout.MeasureScope, androidx.compose.ui.layout.Measurable measurable, long constraints);
+ method public default int minIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int width);
+ method public default int minIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int height);
+ }
+
+ public final class LayoutModifierKt {
+ method public static androidx.compose.ui.Modifier layout(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function3<? super androidx.compose.ui.layout.MeasureScope,? super androidx.compose.ui.layout.Measurable,? super androidx.compose.ui.unit.Constraints,? extends androidx.compose.ui.layout.MeasureResult> measure);
+ }
+
+ public interface Measurable extends androidx.compose.ui.layout.IntrinsicMeasurable {
+ method public androidx.compose.ui.layout.Placeable measure-BRTryo0(long constraints);
+ }
+
+ @androidx.compose.runtime.Stable public fun interface MeasurePolicy {
+ method public default int maxIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int width);
+ method public default int maxIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int height);
+ method public androidx.compose.ui.layout.MeasureResult measure-8A2P9vY(androidx.compose.ui.layout.MeasureScope, java.util.List<? extends androidx.compose.ui.layout.Measurable> measurables, long constraints);
+ method public default int minIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int width);
+ method public default int minIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int height);
+ }
+
+ public interface MeasureResult {
+ method public java.util.Map<androidx.compose.ui.layout.AlignmentLine,java.lang.Integer> getAlignmentLines();
+ method public int getHeight();
+ method public int getWidth();
+ method public void placeChildren();
+ property public abstract java.util.Map<androidx.compose.ui.layout.AlignmentLine,java.lang.Integer> alignmentLines;
+ property public abstract int height;
+ property public abstract int width;
+ }
+
+ public interface MeasureScope extends androidx.compose.ui.layout.IntrinsicMeasureScope {
+ method public default androidx.compose.ui.layout.MeasureResult layout(int width, int height, optional java.util.Map<androidx.compose.ui.layout.AlignmentLine,java.lang.Integer> alignmentLines, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.Placeable.PlacementScope,kotlin.Unit> placementBlock);
+ }
+
+ public final class MeasureScopeKt {
+ }
+
+ public interface Measured {
+ method public operator int get(androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public int getMeasuredHeight();
+ method public int getMeasuredWidth();
+ property public abstract int measuredHeight;
+ property public abstract int measuredWidth;
+ }
+
+ public final class ModifierInfo {
+ ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, optional Object? extra);
+ method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
+ method public Object? getExtra();
+ method public androidx.compose.ui.Modifier getModifier();
+ property public final androidx.compose.ui.layout.LayoutCoordinates coordinates;
+ property public final Object? extra;
+ property public final androidx.compose.ui.Modifier modifier;
+ }
+
+ public interface OnGloballyPositionedModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onGloballyPositioned(androidx.compose.ui.layout.LayoutCoordinates coordinates);
+ }
+
+ public final class OnGloballyPositionedModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier onGloballyPositioned(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.LayoutCoordinates,kotlin.Unit> onGloballyPositioned);
+ }
+
+ public interface OnRemeasuredModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onRemeasured-ozmzZPI(long size);
+ }
+
+ public final class OnRemeasuredModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier onSizeChanged(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,kotlin.Unit> onSizeChanged);
+ }
+
+ public interface ParentDataModifier extends androidx.compose.ui.Modifier.Element {
+ method public Object? modifyParentData(androidx.compose.ui.unit.Density, Object? parentData);
+ }
+
+ public abstract class Placeable implements androidx.compose.ui.layout.Measured {
+ ctor public Placeable();
+ method protected final long getApparentToRealOffset-nOcc-ac();
+ method public final int getHeight();
+ method public int getMeasuredHeight();
+ method protected final long getMeasuredSize-YbymL2g();
+ method public int getMeasuredWidth();
+ method protected final long getMeasurementConstraints-msEJaDk();
+ method public final int getWidth();
+ method protected abstract void placeAt-rMeLuDI(long position, float zIndex, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit>? layerBlock);
+ method protected final void setMeasuredSize-ozmzZPI(long value);
+ method protected final void setMeasurementConstraints-BRTryo0(long value);
+ property protected final long apparentToRealOffset;
+ property public final int height;
+ property public int measuredHeight;
+ property protected final long measuredSize;
+ property public int measuredWidth;
+ property protected final long measurementConstraints;
+ property public final int width;
+ }
+
+ public abstract static class Placeable.PlacementScope {
+ ctor public Placeable.PlacementScope();
+ method protected abstract androidx.compose.ui.unit.LayoutDirection getParentLayoutDirection();
+ method protected abstract int getParentWidth();
+ method public final void place(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex);
+ method public final void place-z2mxYZE(androidx.compose.ui.layout.Placeable, long position, optional float zIndex);
+ method public final void placeRelative(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex);
+ method public final void placeRelative-z2mxYZE(androidx.compose.ui.layout.Placeable, long position, optional float zIndex);
+ method public final void placeRelativeWithLayer(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ method public final void placeRelativeWithLayer-muyPCdA(androidx.compose.ui.layout.Placeable, long position, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ method public final void placeWithLayer(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ method public final void placeWithLayer-muyPCdA(androidx.compose.ui.layout.Placeable, long position, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ property protected abstract androidx.compose.ui.unit.LayoutDirection parentLayoutDirection;
+ property protected abstract int parentWidth;
+ }
+
+ public final class PlaceableKt {
+ }
+
+ @androidx.compose.ui.ExperimentalComposeUiApi public final class RelocationRequester {
+ ctor public RelocationRequester();
+ method public void bringIntoView();
+ }
+
+ public final class RelocationRequesterModifierKt {
+ method @androidx.compose.ui.ExperimentalComposeUiApi public static androidx.compose.ui.Modifier relocationRequester(androidx.compose.ui.Modifier, androidx.compose.ui.layout.RelocationRequester relocationRequester);
+ }
+
+ public interface Remeasurement {
+ method public void forceRemeasure();
+ }
+
+ public interface RemeasurementModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onRemeasurementAvailable(androidx.compose.ui.layout.Remeasurement remeasurement);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ScaleFactor {
+ ctor public ScaleFactor();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-_hLwfpc(long $this, optional float scaleX, optional float scaleY);
+ method @androidx.compose.runtime.Stable public static operator long div-_hLwfpc(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getScaleX-impl(long $this);
+ method public static float getScaleY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long times-_hLwfpc(long $this, float operand);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.layout.ScaleFactor.Companion Companion;
+ }
+
+ public static final class ScaleFactor.Companion {
+ method public long getUnspecified-_hLwfpc();
+ property public final long Unspecified;
+ }
+
+ public final class ScaleFactorKt {
+ method @androidx.compose.runtime.Stable public static long ScaleFactor(float scaleX, float scaleY);
+ method @androidx.compose.runtime.Stable public static operator long div-ngKnWWw(long, long scaleFactor);
+ method public static inline boolean isSpecified-FK8aYYs(long);
+ method public static inline boolean isUnspecified-FK8aYYs(long);
+ method @androidx.compose.runtime.Stable public static long lerp-bKVCie4(long start, long stop, float fraction);
+ method public static inline long takeOrElse-L-byAFk(long, kotlin.jvm.functions.Function0<androidx.compose.ui.layout.ScaleFactor> block);
+ method @androidx.compose.runtime.Stable public static operator long times-Sp6zcS4(long, long size);
+ method @androidx.compose.runtime.Stable public static operator long times-ngKnWWw(long, long scaleFactor);
+ }
+
+ public final class SubcomposeLayoutKt {
+ method @androidx.compose.runtime.Composable public static void SubcomposeLayout(optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function2<? super androidx.compose.ui.layout.SubcomposeMeasureScope,? super androidx.compose.ui.unit.Constraints,? extends androidx.compose.ui.layout.MeasureResult> measurePolicy);
+ method @androidx.compose.runtime.Composable public static void SubcomposeLayout(androidx.compose.ui.layout.SubcomposeLayoutState state, optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function2<? super androidx.compose.ui.layout.SubcomposeMeasureScope,? super androidx.compose.ui.unit.Constraints,? extends androidx.compose.ui.layout.MeasureResult> measurePolicy);
+ }
+
+ public final class SubcomposeLayoutState {
+ ctor public SubcomposeLayoutState(int maxSlotsToRetainForReuse);
+ ctor public SubcomposeLayoutState();
+ method public androidx.compose.ui.layout.SubcomposeLayoutState.PrecomposedSlotHandle precompose(Object? slotId, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public static interface SubcomposeLayoutState.PrecomposedSlotHandle {
+ method public void dispose();
+ }
+
+ public interface SubcomposeMeasureScope extends androidx.compose.ui.layout.MeasureScope {
+ method public java.util.List<androidx.compose.ui.layout.Measurable> subcompose(Object? slotId, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class TestModifierUpdaterKt {
+ }
+
+ public final class VerticalAlignmentLine extends androidx.compose.ui.layout.AlignmentLine {
+ ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
+ }
+
+}
+
+package androidx.compose.ui.node {
+
+ @kotlin.RequiresOptIn(message="This API is internal to library.") @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget, kotlin.annotation.AnnotationTarget}) public @interface InternalCoreApi {
+ }
+
+ public final class LayoutNodeKt {
+ }
+
+ public final class Ref<T> {
+ ctor public Ref();
+ method public T? getValue();
+ method public void setValue(T? p);
+ property public final T? value;
+ }
+
+ public interface RootForTest {
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.semantics.SemanticsOwner getSemanticsOwner();
+ method public androidx.compose.ui.text.input.TextInputService getTextInputService();
+ method public boolean sendKeyEvent-ZmokQxo(android.view.KeyEvent keyEvent);
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.semantics.SemanticsOwner semanticsOwner;
+ property public abstract androidx.compose.ui.text.input.TextInputService textInputService;
+ }
+
+ public final class ViewInterop_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.platform {
+
+ public abstract class AbstractComposeView extends android.view.ViewGroup {
+ ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+ ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
+ ctor public AbstractComposeView(android.content.Context context);
+ method @androidx.compose.runtime.Composable public abstract void Content();
+ method public final void createComposition();
+ method public final void disposeComposition();
+ method public final boolean getHasComposition();
+ method protected boolean getShouldCreateCompositionOnAttachedToWindow();
+ method public final boolean getShowLayoutBounds();
+ method protected final void onLayout(boolean changed, int left, int top, int right, int bottom);
+ method protected final void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
+ method public final void setParentCompositionContext(androidx.compose.runtime.CompositionContext? parent);
+ method public final void setShowLayoutBounds(boolean value);
+ method public final void setViewCompositionStrategy(androidx.compose.ui.platform.ViewCompositionStrategy strategy);
+ property public final boolean hasComposition;
+ property protected boolean shouldCreateCompositionOnAttachedToWindow;
+ property public final boolean showLayoutBounds;
+ }
+
+ public interface AccessibilityManager {
+ method public long calculateRecommendedTimeoutMillis(long originalTimeoutMillis, optional boolean containsIcons, optional boolean containsText, optional boolean containsControls);
+ }
+
+ public final class AndroidClipboardManager_androidKt {
+ }
+
+ public final class AndroidComposeViewAccessibilityDelegateCompat_androidKt {
+ }
+
+ public final class AndroidComposeView_androidKt {
+ }
+
+ public final class AndroidCompositionLocals_androidKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<android.content.res.Configuration> getLocalConfiguration();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<android.content.Context> getLocalContext();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.lifecycle.LifecycleOwner> getLocalLifecycleOwner();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.savedstate.SavedStateRegistryOwner> getLocalSavedStateRegistryOwner();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<android.view.View> getLocalView();
+ }
+
+ public final class AndroidUiDispatcher extends kotlinx.coroutines.CoroutineDispatcher {
+ method public void dispatch(kotlin.coroutines.CoroutineContext context, Runnable block);
+ method public android.view.Choreographer getChoreographer();
+ method public androidx.compose.runtime.MonotonicFrameClock getFrameClock();
+ property public final android.view.Choreographer choreographer;
+ property public final androidx.compose.runtime.MonotonicFrameClock frameClock;
+ field public static final androidx.compose.ui.platform.AndroidUiDispatcher.Companion Companion;
+ }
+
+ public static final class AndroidUiDispatcher.Companion {
+ method public kotlin.coroutines.CoroutineContext getCurrentThread();
+ method public kotlin.coroutines.CoroutineContext getMain();
+ property public final kotlin.coroutines.CoroutineContext CurrentThread;
+ property public final kotlin.coroutines.CoroutineContext Main;
+ }
+
+ public final class AndroidUiDispatcher_androidKt {
+ }
+
+ public final class AndroidUiFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public AndroidUiFrameClock(android.view.Choreographer choreographer);
+ method public android.view.Choreographer getChoreographer();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final android.view.Choreographer choreographer;
+ }
+
+ public final class AndroidUriHandler implements androidx.compose.ui.platform.UriHandler {
+ ctor public AndroidUriHandler(android.content.Context context);
+ method public void openUri(String uri);
+ }
+
+ public final class AndroidViewConfiguration implements androidx.compose.ui.platform.ViewConfiguration {
+ ctor public AndroidViewConfiguration(android.view.ViewConfiguration viewConfiguration);
+ method public long getDoubleTapMinTimeMillis();
+ method public long getDoubleTapTimeoutMillis();
+ method public long getLongPressTimeoutMillis();
+ method public float getTouchSlop();
+ property public long doubleTapMinTimeMillis;
+ property public long doubleTapTimeoutMillis;
+ property public long longPressTimeoutMillis;
+ property public float touchSlop;
+ }
+
+ public interface ClipboardManager {
+ method public androidx.compose.ui.text.AnnotatedString? getText();
+ method public void setText(androidx.compose.ui.text.AnnotatedString annotatedString);
+ }
+
+ public final class ComposeView extends androidx.compose.ui.platform.AbstractComposeView {
+ ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+ ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
+ ctor public ComposeView(android.content.Context context);
+ method @androidx.compose.runtime.Composable public void Content();
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ property protected boolean shouldCreateCompositionOnAttachedToWindow;
+ }
+
+ public final class CompositionLocalsKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.AccessibilityManager> getLocalAccessibilityManager();
+ method @androidx.compose.ui.ExperimentalComposeUiApi public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.autofill.Autofill> getLocalAutofill();
+ method @androidx.compose.ui.ExperimentalComposeUiApi public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.autofill.AutofillTree> getLocalAutofillTree();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.ClipboardManager> getLocalClipboardManager();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.unit.Density> getLocalDensity();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.focus.FocusManager> getLocalFocusManager();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.hapticfeedback.HapticFeedback> getLocalHapticFeedback();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.unit.LayoutDirection> getLocalLayoutDirection();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.text.input.TextInputService> getLocalTextInputService();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.TextToolbar> getLocalTextToolbar();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.UriHandler> getLocalUriHandler();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.ViewConfiguration> getLocalViewConfiguration();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.WindowInfo> getLocalWindowInfo();
+ }
+
+ public final class DebugUtilsKt {
+ }
+
+ public final class DisposableSaveableStateRegistry_androidKt {
+ }
+
+ public interface InspectableValue {
+ method public default kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> getInspectableElements();
+ method public default String? getNameFallback();
+ method public default Object? getValueOverride();
+ property public default kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> inspectableElements;
+ property public default String? nameFallback;
+ property public default Object? valueOverride;
+ }
+
+ public final class InspectableValueKt {
+ method public static inline kotlin.jvm.functions.Function1<androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> debugInspectorInfo(kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> definitions);
+ method public static kotlin.jvm.functions.Function1<androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> getNoInspectorInfo();
+ method public static boolean isDebugInspectorInfoEnabled();
+ method public static void setDebugInspectorInfoEnabled(boolean p);
+ }
+
+ public final class InspectionModeKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<java.lang.Boolean> getLocalInspectionMode();
+ }
+
+ public final class InspectorInfo {
+ ctor public InspectorInfo();
+ method public String? getName();
+ method public androidx.compose.ui.platform.ValueElementSequence getProperties();
+ method public Object? getValue();
+ method public void setName(String? p);
+ method public void setValue(Object? p);
+ property public final String? name;
+ property public final androidx.compose.ui.platform.ValueElementSequence properties;
+ property public final Object? value;
+ }
+
+ public abstract class InspectorValueInfo implements androidx.compose.ui.platform.InspectableValue {
+ ctor public InspectorValueInfo(kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> info);
+ property public kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> inspectableElements;
+ property public String? nameFallback;
+ property public Object? valueOverride;
+ }
+
+ public final class JvmActuals_jvmKt {
+ }
+
+ @androidx.compose.ui.ExperimentalComposeUiApi public final class LocalSoftwareKeyboardController {
+ method @androidx.compose.runtime.Composable public androidx.compose.ui.platform.SoftwareKeyboardController? getCurrent();
+ method public infix androidx.compose.runtime.ProvidedValue<androidx.compose.ui.platform.SoftwareKeyboardController> provides(androidx.compose.ui.platform.SoftwareKeyboardController softwareKeyboardController);
+ property @androidx.compose.runtime.Composable public final androidx.compose.ui.platform.SoftwareKeyboardController? current;
+ field public static final androidx.compose.ui.platform.LocalSoftwareKeyboardController INSTANCE;
+ }
+
+ public final class ShapeContainingUtilKt {
+ }
+
+ @androidx.compose.runtime.Stable @androidx.compose.ui.ExperimentalComposeUiApi public interface SoftwareKeyboardController {
+ method public void hide();
+ method @Deprecated public default void hideSoftwareKeyboard();
+ method public void show();
+ method @Deprecated public default void showSoftwareKeyboard();
+ }
+
+ public final class TestTagKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier testTag(androidx.compose.ui.Modifier, String tag);
+ }
+
+ public interface TextToolbar {
+ method public androidx.compose.ui.platform.TextToolbarStatus getStatus();
+ method public void hide();
+ method public void showMenu(androidx.compose.ui.geometry.Rect rect, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onCopyRequested, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onPasteRequested, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onCutRequested, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onSelectAllRequested);
+ property public abstract androidx.compose.ui.platform.TextToolbarStatus status;
+ }
+
+ public final class TextToolbarKt {
+ }
+
+ public enum TextToolbarStatus {
+ enum_constant public static final androidx.compose.ui.platform.TextToolbarStatus Hidden;
+ enum_constant public static final androidx.compose.ui.platform.TextToolbarStatus Shown;
+ }
+
+ public interface UriHandler {
+ method public void openUri(String uri);
+ }
+
+ public final class ValueElement {
+ ctor public ValueElement(String name, Object? value);
+ method public String component1();
+ method public Object? component2();
+ method public androidx.compose.ui.platform.ValueElement copy(String name, Object? value);
+ method public String getName();
+ method public Object? getValue();
+ property public final String name;
+ property public final Object? value;
+ }
+
+ public final class ValueElementSequence implements kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> {
+ ctor public ValueElementSequence();
+ method public java.util.Iterator<androidx.compose.ui.platform.ValueElement> iterator();
+ method public operator void set(String name, Object? value);
+ }
+
+ public interface ViewCompositionStrategy {
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ field public static final androidx.compose.ui.platform.ViewCompositionStrategy.Companion Companion;
+ }
+
+ public static final class ViewCompositionStrategy.Companion {
+ }
+
+ public static final class ViewCompositionStrategy.DisposeOnDetachedFromWindow implements androidx.compose.ui.platform.ViewCompositionStrategy {
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ field public static final androidx.compose.ui.platform.ViewCompositionStrategy.DisposeOnDetachedFromWindow INSTANCE;
+ }
+
+ public static final class ViewCompositionStrategy.DisposeOnLifecycleDestroyed implements androidx.compose.ui.platform.ViewCompositionStrategy {
+ ctor public ViewCompositionStrategy.DisposeOnLifecycleDestroyed(androidx.lifecycle.Lifecycle lifecycle);
+ ctor public ViewCompositionStrategy.DisposeOnLifecycleDestroyed(androidx.lifecycle.LifecycleOwner lifecycleOwner);
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ }
+
+ public static final class ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed implements androidx.compose.ui.platform.ViewCompositionStrategy {
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ field public static final androidx.compose.ui.platform.ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed INSTANCE;
+ }
+
+ public final class ViewCompositionStrategy_androidKt {
+ }
+
+ public interface ViewConfiguration {
+ method public long getDoubleTapMinTimeMillis();
+ method public long getDoubleTapTimeoutMillis();
+ method public long getLongPressTimeoutMillis();
+ method public float getTouchSlop();
+ property public abstract long doubleTapMinTimeMillis;
+ property public abstract long doubleTapTimeoutMillis;
+ property public abstract long longPressTimeoutMillis;
+ property public abstract float touchSlop;
+ }
+
+ @androidx.compose.ui.ExperimentalComposeUiApi public interface ViewRootForInspector {
+ method public default androidx.compose.ui.platform.AbstractComposeView? getSubCompositionView();
+ method public default android.view.View? getViewRoot();
+ property public default androidx.compose.ui.platform.AbstractComposeView? subCompositionView;
+ property public default android.view.View? viewRoot;
+ }
+
+ @VisibleForTesting public interface ViewRootForTest extends androidx.compose.ui.node.RootForTest {
+ method public boolean getHasPendingMeasureOrLayout();
+ method public android.view.View getView();
+ method public void invalidateDescendants();
+ method public boolean isLifecycleInResumedState();
+ property public abstract boolean hasPendingMeasureOrLayout;
+ property public abstract boolean isLifecycleInResumedState;
+ property public abstract android.view.View view;
+ field public static final androidx.compose.ui.platform.ViewRootForTest.Companion Companion;
+ }
+
+ public static final class ViewRootForTest.Companion {
+ method public kotlin.jvm.functions.Function1<androidx.compose.ui.platform.ViewRootForTest,kotlin.Unit>? getOnViewCreatedCallback();
+ method public void setOnViewCreatedCallback(kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.ViewRootForTest,kotlin.Unit>? p);
+ property public final kotlin.jvm.functions.Function1<androidx.compose.ui.platform.ViewRootForTest,kotlin.Unit>? onViewCreatedCallback;
+ }
+
+ @androidx.compose.runtime.Stable public interface WindowInfo {
+ method public boolean isWindowFocused();
+ property public abstract boolean isWindowFocused;
+ }
+
+ public final class WindowInfoKt {
+ }
+
+ @androidx.compose.ui.InternalComposeUiApi public fun interface WindowRecomposerFactory {
+ method public androidx.compose.runtime.Recomposer createRecomposer(android.view.View windowRootView);
+ field public static final androidx.compose.ui.platform.WindowRecomposerFactory.Companion Companion;
+ }
+
+ public static final class WindowRecomposerFactory.Companion {
+ method public androidx.compose.ui.platform.WindowRecomposerFactory getLifecycleAware();
+ property public final androidx.compose.ui.platform.WindowRecomposerFactory LifecycleAware;
+ }
+
+ @androidx.compose.ui.InternalComposeUiApi public final class WindowRecomposerPolicy {
+ method public void setFactory(androidx.compose.ui.platform.WindowRecomposerFactory factory);
+ method public inline <R> R! withFactory(androidx.compose.ui.platform.WindowRecomposerFactory factory, kotlin.jvm.functions.Function0<? extends R> block);
+ field public static final androidx.compose.ui.platform.WindowRecomposerPolicy INSTANCE;
+ }
+
+ public final class WindowRecomposer_androidKt {
+ method public static androidx.compose.runtime.CompositionContext? findViewTreeCompositionContext(android.view.View);
+ method public static androidx.compose.runtime.CompositionContext? getCompositionContext(android.view.View);
+ method public static void setCompositionContext(android.view.View, androidx.compose.runtime.CompositionContext? value);
+ }
+
+ public final class Wrapper_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.platform.accessibility {
+
+ public final class CollectionInfoKt {
+ }
+
+}
+
+package androidx.compose.ui.platform.actionmodecallback {
+
+ public final class TextActionModeCallback_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.res {
+
+ public final class AnimatedVectorResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.ui.ExperimentalComposeUiApi public static androidx.compose.ui.graphics.vector.AnimatedImageVector animatedVectorResource(@DrawableRes int id);
+ }
+
+ public final class AnimatorResources_androidKt {
+ }
+
+ public final class ColorResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static long colorResource(@ColorRes int id);
+ }
+
+ public final class FontResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static androidx.compose.ui.text.font.Typeface fontResource(androidx.compose.ui.text.font.FontFamily fontFamily);
+ }
+
+ public final class ImageResources_androidKt {
+ method public static androidx.compose.ui.graphics.ImageBitmap imageResource(androidx.compose.ui.graphics.ImageBitmap.Companion, android.content.res.Resources res, @DrawableRes int id);
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.ImageBitmap imageResource(androidx.compose.ui.graphics.ImageBitmap.Companion, @DrawableRes int id);
+ }
+
+ public final class PainterResources_androidKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.painter.Painter painterResource(@DrawableRes int id);
+ }
+
+ public final class PrimitiveResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static boolean booleanResource(@BoolRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static float dimensionResource(@DimenRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static int[] integerArrayResource(@ArrayRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static int integerResource(@IntegerRes int id);
+ }
+
+ public final class StringResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static String![] stringArrayResource(@ArrayRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static String stringResource(@StringRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
+ }
+
+ public final class VectorResources_androidKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.vector.ImageVector vectorResource(androidx.compose.ui.graphics.vector.ImageVector.Companion, @DrawableRes int id);
+ method @kotlin.jvm.Throws(exceptionClasses=XmlPullParserException::class) public static androidx.compose.ui.graphics.vector.ImageVector vectorResource(androidx.compose.ui.graphics.vector.ImageVector.Companion, optional android.content.res.Resources.Theme? theme, android.content.res.Resources res, int resId) throws org.xmlpull.v1.XmlPullParserException;
+ }
+
+}
+
+package androidx.compose.ui.semantics {
+
+ public final class AccessibilityAction<T extends kotlin.Function<? extends java.lang.Boolean>> {
+ ctor public AccessibilityAction(String? label, T? action);
+ method public T? getAction();
+ method public String? getLabel();
+ property public final T? action;
+ property public final String? label;
+ }
+
+ public final class CollectionInfo {
+ ctor public CollectionInfo(int rowCount, int columnCount);
+ method public int getColumnCount();
+ method public int getRowCount();
+ property public final int columnCount;
+ property public final int rowCount;
+ }
+
+ public final class CollectionItemInfo {
+ ctor public CollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, int columnSpan);
+ method public int getColumnIndex();
+ method public int getColumnSpan();
+ method public int getRowIndex();
+ method public int getRowSpan();
+ property public final int columnIndex;
+ property public final int columnSpan;
+ property public final int rowIndex;
+ property public final int rowSpan;
+ }
+
+ public final class CustomAccessibilityAction {
+ ctor public CustomAccessibilityAction(String label, kotlin.jvm.functions.Function0<java.lang.Boolean> action);
+ method public kotlin.jvm.functions.Function0<java.lang.Boolean> getAction();
+ method public String getLabel();
+ property public final kotlin.jvm.functions.Function0<java.lang.Boolean> action;
+ property public final String label;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class LiveRegionMode {
+ ctor public LiveRegionMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.semantics.LiveRegionMode.Companion Companion;
+ }
+
+ public static final class LiveRegionMode.Companion {
+ method public int getAssertive-0phEisY();
+ method public int getPolite-0phEisY();
+ property public final int Assertive;
+ property public final int Polite;
+ }
+
+ public final class ProgressBarRangeInfo {
+ ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, optional int steps);
+ method public float getCurrent();
+ method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getRange();
+ method public int getSteps();
+ property public final float current;
+ property public final kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range;
+ property public final int steps;
+ field public static final androidx.compose.ui.semantics.ProgressBarRangeInfo.Companion Companion;
+ }
+
+ public static final class ProgressBarRangeInfo.Companion {
+ method public androidx.compose.ui.semantics.ProgressBarRangeInfo getIndeterminate();
+ property public final androidx.compose.ui.semantics.ProgressBarRangeInfo Indeterminate;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Role {
+ ctor public Role();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.semantics.Role.Companion Companion;
+ }
+
+ public static final class Role.Companion {
+ method public int getButton-o7Vup1c();
+ method public int getCheckbox-o7Vup1c();
+ method public int getImage-o7Vup1c();
+ method public int getRadioButton-o7Vup1c();
+ method public int getSwitch-o7Vup1c();
+ method public int getTab-o7Vup1c();
+ property public final int Button;
+ property public final int Checkbox;
+ property public final int Image;
+ property public final int RadioButton;
+ property public final int Switch;
+ property public final int Tab;
+ }
+
+ public final class ScrollAxisRange {
+ ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, optional boolean reverseScrolling);
+ method public kotlin.jvm.functions.Function0<java.lang.Float> getMaxValue();
+ method public boolean getReverseScrolling();
+ method public kotlin.jvm.functions.Function0<java.lang.Float> getValue();
+ property public final kotlin.jvm.functions.Function0<java.lang.Float> maxValue;
+ property public final boolean reverseScrolling;
+ property public final kotlin.jvm.functions.Function0<java.lang.Float> value;
+ }
+
+ public final class SemanticsActions {
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getCollapse();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getCopyText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction>> getCustomActions();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getCutText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getDismiss();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getExpand();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnClick();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnLongClick();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getPasteText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> getScrollBy();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Integer,java.lang.Boolean>>> getScrollToIndex();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> getSetProgress();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> getSetSelection();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> Collapse;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> CopyText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction>> CustomActions;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> CutText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> Dismiss;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> Expand;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnClick;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnLongClick;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> PasteText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> ScrollBy;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Integer,java.lang.Boolean>>> ScrollToIndex;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> SetProgress;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> SetSelection;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
+ field public static final androidx.compose.ui.semantics.SemanticsActions INSTANCE;
+ }
+
+ public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.compose.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.compose.ui.semantics.SemanticsPropertyReceiver {
+ ctor public SemanticsConfiguration();
+ method public operator <T> boolean contains(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ method public androidx.compose.ui.semantics.SemanticsConfiguration copy();
+ method public operator <T> T! get(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ method public <T> T! getOrElse(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+ method public <T> T? getOrElseNullable(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+ method public boolean isClearingSemantics();
+ method public boolean isMergingSemanticsOfDescendants();
+ method public java.util.Iterator<java.util.Map.Entry<androidx.compose.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+ method public <T> void set(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+ method public void setClearingSemantics(boolean p);
+ method public void setMergingSemanticsOfDescendants(boolean p);
+ property public final boolean isClearingSemantics;
+ property public final boolean isMergingSemanticsOfDescendants;
+ }
+
+ public final class SemanticsConfigurationKt {
+ method public static <T> T? getOrNull(androidx.compose.ui.semantics.SemanticsConfiguration, androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ }
+
+ public interface SemanticsModifier extends androidx.compose.ui.Modifier.Element {
+ method public int getId();
+ method public androidx.compose.ui.semantics.SemanticsConfiguration getSemanticsConfiguration();
+ property public abstract int id;
+ property public abstract androidx.compose.ui.semantics.SemanticsConfiguration semanticsConfiguration;
+ }
+
+ public final class SemanticsModifierKt {
+ method public static androidx.compose.ui.Modifier clearAndSetSemantics(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit> properties);
+ method public static androidx.compose.ui.Modifier semantics(androidx.compose.ui.Modifier, optional boolean mergeDescendants, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit> properties);
+ }
+
+ public final class SemanticsNode {
+ method public int getAlignmentLinePosition(androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public androidx.compose.ui.geometry.Rect getBoundsInRoot();
+ method public androidx.compose.ui.geometry.Rect getBoundsInWindow();
+ method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getChildren();
+ method public androidx.compose.ui.semantics.SemanticsConfiguration getConfig();
+ method public int getId();
+ method public androidx.compose.ui.layout.LayoutInfo getLayoutInfo();
+ method public boolean getMergingEnabled();
+ method public androidx.compose.ui.semantics.SemanticsNode? getParent();
+ method public long getPositionInRoot-F1C5BW0();
+ method public long getPositionInWindow-F1C5BW0();
+ method public androidx.compose.ui.node.RootForTest? getRoot();
+ method public long getSize-YbymL2g();
+ method public boolean isRoot();
+ property public final androidx.compose.ui.geometry.Rect boundsInRoot;
+ property public final androidx.compose.ui.geometry.Rect boundsInWindow;
+ property public final java.util.List<androidx.compose.ui.semantics.SemanticsNode> children;
+ property public final androidx.compose.ui.semantics.SemanticsConfiguration config;
+ property public final int id;
+ property public final boolean isRoot;
+ property public final androidx.compose.ui.layout.LayoutInfo layoutInfo;
+ property public final boolean mergingEnabled;
+ property public final androidx.compose.ui.semantics.SemanticsNode? parent;
+ property public final long positionInRoot;
+ property public final long positionInWindow;
+ property public final androidx.compose.ui.node.RootForTest? root;
+ property public final long size;
+ }
+
+ public final class SemanticsNodeKt {
+ }
+
+ public final class SemanticsOwner {
+ method public androidx.compose.ui.semantics.SemanticsNode getRootSemanticsNode();
+ method public androidx.compose.ui.semantics.SemanticsNode getUnmergedRootSemanticsNode();
+ property public final androidx.compose.ui.semantics.SemanticsNode rootSemanticsNode;
+ property public final androidx.compose.ui.semantics.SemanticsNode unmergedRootSemanticsNode;
+ }
+
+ public final class SemanticsOwnerKt {
+ method public static java.util.List<androidx.compose.ui.semantics.SemanticsNode> getAllSemanticsNodes(androidx.compose.ui.semantics.SemanticsOwner, boolean mergingEnabled);
+ }
+
+ public final class SemanticsProperties {
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionInfo> getCollectionInfo();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionItemInfo> getCollectionItemInfo();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<java.lang.String>> getContentDescription();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getDisabled();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> getEditableText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getError();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getFocused();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getHeading();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> getHorizontalScrollAxisRange();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> getIndexForKey();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getInvisibleToUser();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsDialog();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> getLiveRegion();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getPaneTitle();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getPassword();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ProgressBarRangeInfo> getProgressBarRangeInfo();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.Role> getRole();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getSelectableGroup();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getSelected();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getStateDescription();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.text.AnnotatedString>> getText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> getTextSelectionRange();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.state.ToggleableState> getToggleableState();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> getVerticalScrollAxisRange();
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionInfo> CollectionInfo;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionItemInfo> CollectionItemInfo;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<java.lang.String>> ContentDescription;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Disabled;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> EditableText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> Error;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Focused;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Heading;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> HorizontalScrollAxisRange;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> IndexForKey;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> InvisibleToUser;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsDialog;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> LiveRegion;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> PaneTitle;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Password;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ProgressBarRangeInfo> ProgressBarRangeInfo;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.Role> Role;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> SelectableGroup;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Selected;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> StateDescription;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.text.AnnotatedString>> Text;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> TextSelectionRange;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.state.ToggleableState> ToggleableState;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> VerticalScrollAxisRange;
+ field public static final androidx.compose.ui.semantics.SemanticsProperties INSTANCE;
+ }
+
+ public final class SemanticsPropertiesKt {
+ method public static void collapse(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void copyText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void cutText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void dialog(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void disabled(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void dismiss(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void error(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String description);
+ method public static void expand(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static androidx.compose.ui.semantics.CollectionInfo getCollectionInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.CollectionItemInfo getCollectionItemInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getContentDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.text.AnnotatedString getEditableText(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static boolean getFocused(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.ScrollAxisRange getHorizontalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static int getImeAction(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static int getLiveRegion(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getPaneTitle(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.ProgressBarRangeInfo getProgressBarRangeInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static int getRole(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static boolean getSelected(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getStateDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getTestTag(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.text.AnnotatedString getText(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void getTextLayoutResult(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>? action);
+ method public static long getTextSelectionRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.state.ToggleableState getToggleableState(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.ScrollAxisRange getVerticalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void heading(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void indexForKey(androidx.compose.ui.semantics.SemanticsPropertyReceiver, kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer> mapping);
+ method @androidx.compose.ui.ExperimentalComposeUiApi public static void invisibleToUser(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void onClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void onLongClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void password(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void pasteText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void popup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void scrollBy(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,java.lang.Boolean>? action);
+ method public static void scrollToIndex(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Boolean> action);
+ method public static void selectableGroup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void setCollectionInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionInfo p);
+ method public static void setCollectionItemInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionItemInfo p);
+ method public static void setContentDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String value);
+ method public static void setCustomActions(androidx.compose.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction> p);
+ method public static void setEditableText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString p);
+ method public static void setFocused(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean p);
+ method public static void setHorizontalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ScrollAxisRange p);
+ method public static void setImeAction-R3uo_t0(androidx.compose.ui.semantics.SemanticsPropertyReceiver, int p);
+ method public static void setLiveRegion-QmIH8pA(androidx.compose.ui.semantics.SemanticsPropertyReceiver, int p);
+ method public static void setPaneTitle(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String p);
+ method public static void setProgress(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Boolean>? action);
+ method public static void setProgressBarRangeInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ProgressBarRangeInfo p);
+ method public static void setRole-nYGtkIw(androidx.compose.ui.semantics.SemanticsPropertyReceiver, int p);
+ method public static void setSelected(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean p);
+ method public static void setSelection(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Boolean,java.lang.Boolean>? action);
+ method public static void setStateDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String p);
+ method public static void setTestTag(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String p);
+ method public static void setText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString value);
+ method public static void setText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>? action);
+ method public static void setTextSelectionRange-Hy0MoUY(androidx.compose.ui.semantics.SemanticsPropertyReceiver, long p);
+ method public static void setToggleableState(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.state.ToggleableState p);
+ method public static void setVerticalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ScrollAxisRange p);
+ }
+
+ public final class SemanticsPropertyKey<T> {
+ ctor public SemanticsPropertyKey(String name, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
+ method public String getName();
+ method public operator T! getValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
+ method public T? merge(T? parentValue, T? childValue);
+ method public operator void setValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property, T? value);
+ property public final String name;
+ }
+
+ public interface SemanticsPropertyReceiver {
+ method public operator <T> void set(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+ }
+
+ public final class SemanticsSortKt {
+ }
+
+}
+
+package androidx.compose.ui.state {
+
+ public enum ToggleableState {
+ enum_constant public static final androidx.compose.ui.state.ToggleableState Indeterminate;
+ enum_constant public static final androidx.compose.ui.state.ToggleableState Off;
+ enum_constant public static final androidx.compose.ui.state.ToggleableState On;
+ }
+
+ public final class ToggleableStateKt {
+ method public static androidx.compose.ui.state.ToggleableState ToggleableState(boolean value);
+ }
+
+}
+
+package androidx.compose.ui.text.input {
+
+ public final class InputState_androidKt {
+ }
+
+ public final class RecordingInputConnection_androidKt {
+ }
+
+ public final class TextInputServiceAndroid_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.viewinterop {
+
+ public final class AndroidViewHolder_androidKt {
+ }
+
+ public final class AndroidView_androidKt {
+ method @androidx.compose.runtime.Composable public static <T extends android.view.View> void AndroidView(kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> factory, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit> update);
+ method public static kotlin.jvm.functions.Function1<android.view.View,kotlin.Unit> getNoOpUpdate();
+ }
+
+}
+
+package androidx.compose.ui.window {
+
+ public final class AndroidDialog_androidKt {
+ method @androidx.compose.runtime.Composable public static void Dialog(kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.window.DialogProperties properties, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class AndroidPopup_androidKt {
+ method @androidx.compose.runtime.Composable public static void Popup(androidx.compose.ui.window.PopupPositionProvider popupPositionProvider, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest, optional androidx.compose.ui.window.PopupProperties properties, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Popup-wO4EaeM(optional androidx.compose.ui.Alignment alignment, optional long offset, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest, optional androidx.compose.ui.window.PopupProperties properties, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @org.jetbrains.annotations.TestOnly public static boolean isPopupLayout(android.view.View view, optional String? testTag);
+ }
+
+ @androidx.compose.runtime.Immutable public final class DialogProperties {
+ ctor public DialogProperties(optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
+ method public boolean getDismissOnBackPress();
+ method public boolean getDismissOnClickOutside();
+ method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
+ property public final boolean dismissOnBackPress;
+ property public final boolean dismissOnClickOutside;
+ property public final androidx.compose.ui.window.SecureFlagPolicy securePolicy;
+ }
+
+ public interface DialogWindowProvider {
+ method public android.view.Window getWindow();
+ property public abstract android.view.Window window;
+ }
+
+ @androidx.compose.runtime.Immutable public interface PopupPositionProvider {
+ method public long calculatePosition-aa5Bd6I(androidx.compose.ui.unit.IntRect anchorBounds, long windowSize, androidx.compose.ui.unit.LayoutDirection layoutDirection, long popupContentSize);
+ }
+
+ @androidx.compose.runtime.Immutable public final class PopupProperties {
+ ctor @androidx.compose.ui.ExperimentalComposeUiApi public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy, optional boolean excludeFromSystemGesture, optional boolean clippingEnabled, optional boolean useDefaultMaxWidth);
+ ctor public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy, optional boolean excludeFromSystemGesture, optional boolean clippingEnabled);
+ method public boolean getClippingEnabled();
+ method public boolean getDismissOnBackPress();
+ method public boolean getDismissOnClickOutside();
+ method public boolean getExcludeFromSystemGesture();
+ method public boolean getFocusable();
+ method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
+ method @androidx.compose.ui.ExperimentalComposeUiApi public boolean getUseDefaultMaxWidth();
+ property public final boolean clippingEnabled;
+ property public final boolean dismissOnBackPress;
+ property public final boolean dismissOnClickOutside;
+ property public final boolean excludeFromSystemGesture;
+ property public final boolean focusable;
+ property public final androidx.compose.ui.window.SecureFlagPolicy securePolicy;
+ property @androidx.compose.ui.ExperimentalComposeUiApi public final boolean useDefaultMaxWidth;
+ }
+
+ public enum SecureFlagPolicy {
+ enum_constant public static final androidx.compose.ui.window.SecureFlagPolicy Inherit;
+ enum_constant public static final androidx.compose.ui.window.SecureFlagPolicy SecureOff;
+ enum_constant public static final androidx.compose.ui.window.SecureFlagPolicy SecureOn;
+ }
+
+ public final class SecureFlagPolicy_androidKt {
+ }
+
+}
+
diff --git a/compose/ui/ui/api/res-1.0.0-beta10.txt b/compose/ui/ui/api/res-1.0.0-beta10.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/compose/ui/ui/api/res-1.0.0-beta10.txt
diff --git a/compose/ui/ui/api/restricted_1.0.0-beta10.txt b/compose/ui/ui/api/restricted_1.0.0-beta10.txt
new file mode 100644
index 0000000..cea0677
--- /dev/null
+++ b/compose/ui/ui/api/restricted_1.0.0-beta10.txt
@@ -0,0 +1,2671 @@
+// Signature format: 4.0
+package androidx.compose.ui {
+
+ public final class AbsoluteAlignment {
+ method public androidx.compose.ui.Alignment getBottomLeft();
+ method public androidx.compose.ui.Alignment getBottomRight();
+ method public androidx.compose.ui.Alignment getCenterLeft();
+ method public androidx.compose.ui.Alignment getCenterRight();
+ method public androidx.compose.ui.Alignment.Horizontal getLeft();
+ method public androidx.compose.ui.Alignment.Horizontal getRight();
+ method public androidx.compose.ui.Alignment getTopLeft();
+ method public androidx.compose.ui.Alignment getTopRight();
+ property public final androidx.compose.ui.Alignment BottomLeft;
+ property public final androidx.compose.ui.Alignment BottomRight;
+ property public final androidx.compose.ui.Alignment CenterLeft;
+ property public final androidx.compose.ui.Alignment CenterRight;
+ property public final androidx.compose.ui.Alignment.Horizontal Left;
+ property public final androidx.compose.ui.Alignment.Horizontal Right;
+ property public final androidx.compose.ui.Alignment TopLeft;
+ property public final androidx.compose.ui.Alignment TopRight;
+ field public static final androidx.compose.ui.AbsoluteAlignment INSTANCE;
+ }
+
+ @androidx.compose.runtime.Stable public fun interface Alignment {
+ method public long align-oYSo38o(long size, long space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ field public static final androidx.compose.ui.Alignment.Companion Companion;
+ }
+
+ public static final class Alignment.Companion {
+ method public androidx.compose.ui.Alignment.Vertical getBottom();
+ method public androidx.compose.ui.Alignment getBottomCenter();
+ method public androidx.compose.ui.Alignment getBottomEnd();
+ method public androidx.compose.ui.Alignment getBottomStart();
+ method public androidx.compose.ui.Alignment getCenter();
+ method public androidx.compose.ui.Alignment getCenterEnd();
+ method public androidx.compose.ui.Alignment.Horizontal getCenterHorizontally();
+ method public androidx.compose.ui.Alignment getCenterStart();
+ method public androidx.compose.ui.Alignment.Vertical getCenterVertically();
+ method public androidx.compose.ui.Alignment.Horizontal getEnd();
+ method public androidx.compose.ui.Alignment.Horizontal getStart();
+ method public androidx.compose.ui.Alignment.Vertical getTop();
+ method public androidx.compose.ui.Alignment getTopCenter();
+ method public androidx.compose.ui.Alignment getTopEnd();
+ method public androidx.compose.ui.Alignment getTopStart();
+ property public final androidx.compose.ui.Alignment.Vertical Bottom;
+ property public final androidx.compose.ui.Alignment BottomCenter;
+ property public final androidx.compose.ui.Alignment BottomEnd;
+ property public final androidx.compose.ui.Alignment BottomStart;
+ property public final androidx.compose.ui.Alignment Center;
+ property public final androidx.compose.ui.Alignment CenterEnd;
+ property public final androidx.compose.ui.Alignment.Horizontal CenterHorizontally;
+ property public final androidx.compose.ui.Alignment CenterStart;
+ property public final androidx.compose.ui.Alignment.Vertical CenterVertically;
+ property public final androidx.compose.ui.Alignment.Horizontal End;
+ property public final androidx.compose.ui.Alignment.Horizontal Start;
+ property public final androidx.compose.ui.Alignment.Vertical Top;
+ property public final androidx.compose.ui.Alignment TopCenter;
+ property public final androidx.compose.ui.Alignment TopEnd;
+ property public final androidx.compose.ui.Alignment TopStart;
+ }
+
+ @androidx.compose.runtime.Stable public static fun interface Alignment.Horizontal {
+ method public int align(int size, int space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ }
+
+ @androidx.compose.runtime.Stable public static fun interface Alignment.Vertical {
+ method public int align(int size, int space);
+ }
+
+ @androidx.compose.runtime.Immutable public final class BiasAbsoluteAlignment implements androidx.compose.ui.Alignment {
+ ctor public BiasAbsoluteAlignment(float horizontalBias, float verticalBias);
+ method public long align-oYSo38o(long size, long space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAbsoluteAlignment copy(float horizontalBias, float verticalBias);
+ }
+
+ @androidx.compose.runtime.Immutable public static final class BiasAbsoluteAlignment.Horizontal implements androidx.compose.ui.Alignment.Horizontal {
+ ctor public BiasAbsoluteAlignment.Horizontal(float bias);
+ method public int align(int size, int space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAbsoluteAlignment.Horizontal copy(float bias);
+ }
+
+ @androidx.compose.runtime.Immutable public final class BiasAlignment implements androidx.compose.ui.Alignment {
+ ctor public BiasAlignment(float horizontalBias, float verticalBias);
+ method public long align-oYSo38o(long size, long space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method public float component1();
+ method public float component2();
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAlignment copy(float horizontalBias, float verticalBias);
+ method public float getHorizontalBias();
+ method public float getVerticalBias();
+ property public final float horizontalBias;
+ property public final float verticalBias;
+ }
+
+ @androidx.compose.runtime.Immutable public static final class BiasAlignment.Horizontal implements androidx.compose.ui.Alignment.Horizontal {
+ ctor public BiasAlignment.Horizontal(float bias);
+ method public int align(int size, int space, androidx.compose.ui.unit.LayoutDirection layoutDirection);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAlignment.Horizontal copy(float bias);
+ }
+
+ @androidx.compose.runtime.Immutable public static final class BiasAlignment.Vertical implements androidx.compose.ui.Alignment.Vertical {
+ ctor public BiasAlignment.Vertical(float bias);
+ method public int align(int size, int space);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.BiasAlignment.Vertical copy(float bias);
+ }
+
+ public final class CombinedModifier implements androidx.compose.ui.Modifier {
+ ctor public CombinedModifier(androidx.compose.ui.Modifier outer, androidx.compose.ui.Modifier inner);
+ method public boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ }
+
+ public final class ComposedModifierKt {
+ method public static androidx.compose.ui.Modifier composed(androidx.compose.ui.Modifier, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> inspectorInfo, kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier,? extends androidx.compose.ui.Modifier> factory);
+ method public static androidx.compose.ui.Modifier materialize(androidx.compose.runtime.Composer, androidx.compose.ui.Modifier modifier);
+ }
+
+ @androidx.compose.runtime.Stable public interface Modifier {
+ method public boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ method public default infix androidx.compose.ui.Modifier then(androidx.compose.ui.Modifier other);
+ field public static final androidx.compose.ui.Modifier.Companion Companion;
+ }
+
+ public static final class Modifier.Companion implements androidx.compose.ui.Modifier {
+ method public boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ }
+
+ public static interface Modifier.Element extends androidx.compose.ui.Modifier {
+ method public default boolean all(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public default boolean any(kotlin.jvm.functions.Function1<? super androidx.compose.ui.Modifier.Element,java.lang.Boolean> predicate);
+ method public default <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.compose.ui.Modifier.Element,? extends R> operation);
+ method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.compose.ui.Modifier.Element,? super R,? extends R> operation);
+ }
+
+ public final class TempListUtilsKt {
+ }
+
+ public final class ZIndexModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier zIndex(androidx.compose.ui.Modifier, float zIndex);
+ }
+
+}
+
+package androidx.compose.ui.autofill {
+
+ public final class AndroidAutofillType_androidKt {
+ }
+
+ public final class AndroidAutofill_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.draw {
+
+ public final class AlphaKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier alpha(androidx.compose.ui.Modifier, float alpha);
+ }
+
+ public interface BuildDrawCacheParams {
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public long getSize-NH-jbRc();
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public abstract long size;
+ }
+
+ public final class CacheDrawScope implements androidx.compose.ui.unit.Density {
+ method public float getDensity();
+ method public float getFontScale();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public long getSize-NH-jbRc();
+ method public androidx.compose.ui.draw.DrawResult onDrawBehind(kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> block);
+ method public androidx.compose.ui.draw.DrawResult onDrawWithContent(kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.ContentDrawScope,kotlin.Unit> block);
+ property public float density;
+ property public float fontScale;
+ property public final androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public final long size;
+ }
+
+ public final class ClipKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier clip(androidx.compose.ui.Modifier, androidx.compose.ui.graphics.Shape shape);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier clipToBounds(androidx.compose.ui.Modifier);
+ }
+
+ public interface DrawCacheModifier extends androidx.compose.ui.draw.DrawModifier {
+ method public void onBuildCache(androidx.compose.ui.draw.BuildDrawCacheParams params);
+ }
+
+ public interface DrawModifier extends androidx.compose.ui.Modifier.Element {
+ method public void draw(androidx.compose.ui.graphics.drawscope.ContentDrawScope);
+ }
+
+ public final class DrawModifierKt {
+ method public static androidx.compose.ui.Modifier drawBehind(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.DrawScope,kotlin.Unit> onDraw);
+ method public static androidx.compose.ui.Modifier drawWithCache(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.draw.CacheDrawScope,androidx.compose.ui.draw.DrawResult> onBuildDrawCache);
+ method public static androidx.compose.ui.Modifier drawWithContent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.drawscope.ContentDrawScope,kotlin.Unit> onDraw);
+ }
+
+ public final class DrawResult {
+ }
+
+ public final class PainterModifierKt {
+ method public static androidx.compose.ui.Modifier paint(androidx.compose.ui.Modifier, androidx.compose.ui.graphics.painter.Painter painter, optional boolean sizeToIntrinsics, optional androidx.compose.ui.Alignment alignment, optional androidx.compose.ui.layout.ContentScale contentScale, optional float alpha, optional androidx.compose.ui.graphics.ColorFilter? colorFilter);
+ }
+
+ public final class RotateKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier rotate(androidx.compose.ui.Modifier, float degrees);
+ }
+
+ public final class ScaleKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier scale(androidx.compose.ui.Modifier, float scaleX, float scaleY);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier scale(androidx.compose.ui.Modifier, float scale);
+ }
+
+ public final class ShadowKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier shadow-HfQes2E(androidx.compose.ui.Modifier, float elevation, optional androidx.compose.ui.graphics.Shape shape, optional boolean clip);
+ }
+
+}
+
+package androidx.compose.ui.focus {
+
+ public final class FocusChangedModifierKt {
+ method public static androidx.compose.ui.Modifier onFocusChanged(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusState,kotlin.Unit> onFocusChanged);
+ }
+
+ public final inline class FocusDirection {
+ ctor public FocusDirection();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.focus.FocusDirection.Companion Companion;
+ }
+
+ public static final class FocusDirection.Companion {
+ method public int getDown-dhqQ-8s();
+ method public int getIn-dhqQ-8s();
+ method public int getLeft-dhqQ-8s();
+ method public int getNext-dhqQ-8s();
+ method public int getOut-dhqQ-8s();
+ method public int getPrevious-dhqQ-8s();
+ method public int getRight-dhqQ-8s();
+ method public int getUp-dhqQ-8s();
+ property public final int Down;
+ property public final int In;
+ property public final int Left;
+ property public final int Next;
+ property public final int Out;
+ property public final int Previous;
+ property public final int Right;
+ property public final int Up;
+ }
+
+ public interface FocusEventModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onFocusEvent(androidx.compose.ui.focus.FocusState focusState);
+ }
+
+ public final class FocusEventModifierKt {
+ method public static androidx.compose.ui.Modifier onFocusEvent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusState,kotlin.Unit> onFocusEvent);
+ }
+
+ public interface FocusManager {
+ method public void clearFocus(optional boolean force);
+ method public boolean moveFocus-3ESFkO8(int focusDirection);
+ }
+
+ public final class FocusModifierKt {
+ method @Deprecated public static androidx.compose.ui.Modifier focusModifier(androidx.compose.ui.Modifier);
+ method public static androidx.compose.ui.Modifier focusTarget(androidx.compose.ui.Modifier);
+ }
+
+ public final class FocusNodeUtilsKt {
+ }
+
+ public final class FocusOrder {
+ ctor public FocusOrder();
+ method public androidx.compose.ui.focus.FocusRequester getDown();
+ method public androidx.compose.ui.focus.FocusRequester getEnd();
+ method public androidx.compose.ui.focus.FocusRequester getLeft();
+ method public androidx.compose.ui.focus.FocusRequester getNext();
+ method public androidx.compose.ui.focus.FocusRequester getPrevious();
+ method public androidx.compose.ui.focus.FocusRequester getRight();
+ method public androidx.compose.ui.focus.FocusRequester getStart();
+ method public androidx.compose.ui.focus.FocusRequester getUp();
+ method public void setDown(androidx.compose.ui.focus.FocusRequester p);
+ method public void setEnd(androidx.compose.ui.focus.FocusRequester p);
+ method public void setLeft(androidx.compose.ui.focus.FocusRequester p);
+ method public void setNext(androidx.compose.ui.focus.FocusRequester p);
+ method public void setPrevious(androidx.compose.ui.focus.FocusRequester p);
+ method public void setRight(androidx.compose.ui.focus.FocusRequester p);
+ method public void setStart(androidx.compose.ui.focus.FocusRequester p);
+ method public void setUp(androidx.compose.ui.focus.FocusRequester p);
+ property public final androidx.compose.ui.focus.FocusRequester down;
+ property public final androidx.compose.ui.focus.FocusRequester end;
+ property public final androidx.compose.ui.focus.FocusRequester left;
+ property public final androidx.compose.ui.focus.FocusRequester next;
+ property public final androidx.compose.ui.focus.FocusRequester previous;
+ property public final androidx.compose.ui.focus.FocusRequester right;
+ property public final androidx.compose.ui.focus.FocusRequester start;
+ property public final androidx.compose.ui.focus.FocusRequester up;
+ }
+
+ public interface FocusOrderModifier extends androidx.compose.ui.Modifier.Element {
+ method public void populateFocusOrder(androidx.compose.ui.focus.FocusOrder focusOrder);
+ }
+
+ public final class FocusOrderModifierKt {
+ method public static androidx.compose.ui.Modifier focusOrder(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusOrder,kotlin.Unit> focusOrderReceiver);
+ method public static androidx.compose.ui.Modifier focusOrder(androidx.compose.ui.Modifier, androidx.compose.ui.focus.FocusRequester focusRequester);
+ method public static androidx.compose.ui.Modifier focusOrder(androidx.compose.ui.Modifier, androidx.compose.ui.focus.FocusRequester focusRequester, kotlin.jvm.functions.Function1<? super androidx.compose.ui.focus.FocusOrder,kotlin.Unit> focusOrderReceiver);
+ }
+
+ public final class FocusRequester {
+ ctor public FocusRequester();
+ method public boolean captureFocus();
+ method public boolean freeFocus();
+ method public void requestFocus();
+ field public static final androidx.compose.ui.focus.FocusRequester.Companion Companion;
+ }
+
+ public static final class FocusRequester.Companion {
+ method public androidx.compose.ui.focus.FocusRequester getDefault();
+ property public final androidx.compose.ui.focus.FocusRequester Default;
+ }
+
+ public final class FocusRequesterKt {
+ }
+
+ public interface FocusRequesterModifier extends androidx.compose.ui.Modifier.Element {
+ method public androidx.compose.ui.focus.FocusRequester getFocusRequester();
+ property public abstract androidx.compose.ui.focus.FocusRequester focusRequester;
+ }
+
+ public final class FocusRequesterModifierKt {
+ method public static androidx.compose.ui.Modifier focusRequester(androidx.compose.ui.Modifier, androidx.compose.ui.focus.FocusRequester focusRequester);
+ }
+
+ public interface FocusState {
+ method public boolean getHasFocus();
+ method public boolean isCaptured();
+ method public boolean isFocused();
+ property public abstract boolean hasFocus;
+ property public abstract boolean isCaptured;
+ property public abstract boolean isFocused;
+ }
+
+ public final class FocusTransactionsKt {
+ }
+
+ public final class FocusTraversalKt {
+ }
+
+ public final class TwoDimensionalFocusSearchKt {
+ }
+
+}
+
+package androidx.compose.ui.graphics {
+
+ public final class GraphicsLayerModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier graphicsLayer(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> block);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier graphicsLayer-i_P0lGk(androidx.compose.ui.Modifier, optional float scaleX, optional float scaleY, optional float alpha, optional float translationX, optional float translationY, optional float shadowElevation, optional float rotationX, optional float rotationY, optional float rotationZ, optional float cameraDistance, optional long transformOrigin, optional androidx.compose.ui.graphics.Shape shape, optional boolean clip);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier toolingGraphicsLayer(androidx.compose.ui.Modifier);
+ }
+
+ public interface GraphicsLayerScope extends androidx.compose.ui.unit.Density {
+ method public float getAlpha();
+ method public float getCameraDistance();
+ method public boolean getClip();
+ method public float getRotationX();
+ method public float getRotationY();
+ method public float getRotationZ();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public float getShadowElevation();
+ method public androidx.compose.ui.graphics.Shape getShape();
+ method public long getTransformOrigin-SzJe1aQ();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public void setAlpha(float p);
+ method public void setCameraDistance(float p);
+ method public void setClip(boolean p);
+ method public void setRotationX(float p);
+ method public void setRotationY(float p);
+ method public void setRotationZ(float p);
+ method public void setScaleX(float p);
+ method public void setScaleY(float p);
+ method public void setShadowElevation(float p);
+ method public void setShape(androidx.compose.ui.graphics.Shape p);
+ method public void setTransformOrigin-__ExYCQ(long p);
+ method public void setTranslationX(float p);
+ method public void setTranslationY(float p);
+ property public abstract float alpha;
+ property public abstract float cameraDistance;
+ property public abstract boolean clip;
+ property public abstract float rotationX;
+ property public abstract float rotationY;
+ property public abstract float rotationZ;
+ property public abstract float scaleX;
+ property public abstract float scaleY;
+ property public abstract float shadowElevation;
+ property public abstract androidx.compose.ui.graphics.Shape shape;
+ property public abstract long transformOrigin;
+ property public abstract float translationX;
+ property public abstract float translationY;
+ }
+
+ public final class GraphicsLayerScopeKt {
+ method public static androidx.compose.ui.graphics.GraphicsLayerScope GraphicsLayerScope();
+ field public static final float DefaultCameraDistance = 8.0f;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class TransformOrigin {
+ ctor public TransformOrigin();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-SzJe1aQ(long $this, optional float pivotFractionX, optional float pivotFractionY);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getPivotFractionX-impl(long $this);
+ method public static float getPivotFractionY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Immutable public static inline String! toString-impl(long p);
+ field public static final androidx.compose.ui.graphics.TransformOrigin.Companion Companion;
+ }
+
+ public static final class TransformOrigin.Companion {
+ method public long getCenter-SzJe1aQ();
+ property public final long Center;
+ }
+
+ public final class TransformOriginKt {
+ method public static long TransformOrigin(float pivotFractionX, float pivotFractionY);
+ }
+
+}
+
+package androidx.compose.ui.graphics.vector {
+
+ public final class AnimatorKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class ImageVector {
+ method public float getDefaultHeight-D9Ej5fM();
+ method public float getDefaultWidth-D9Ej5fM();
+ method public String getName();
+ method public androidx.compose.ui.graphics.vector.VectorGroup getRoot();
+ method public int getTintBlendMode-0nO6VwU();
+ method public long getTintColor-0d7_KjU();
+ method public float getViewportHeight();
+ method public float getViewportWidth();
+ property public final float defaultHeight;
+ property public final float defaultWidth;
+ property public final String name;
+ property public final androidx.compose.ui.graphics.vector.VectorGroup root;
+ property public final int tintBlendMode;
+ property public final long tintColor;
+ property public final float viewportHeight;
+ property public final float viewportWidth;
+ field public static final androidx.compose.ui.graphics.vector.ImageVector.Companion Companion;
+ }
+
+ public static final class ImageVector.Builder {
+ method public androidx.compose.ui.graphics.vector.ImageVector.Builder addGroup(optional String name, optional float rotate, optional float pivotX, optional float pivotY, optional float scaleX, optional float scaleY, optional float translationX, optional float translationY, optional java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> clipPathData);
+ method public androidx.compose.ui.graphics.vector.ImageVector.Builder addPath-MBUPpgE(java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> pathData, optional int pathFillType, optional String name, optional androidx.compose.ui.graphics.Brush? fill, optional float fillAlpha, optional androidx.compose.ui.graphics.Brush? stroke, optional float strokeAlpha, optional float strokeLineWidth, optional int strokeLineCap, optional int strokeLineJoin, optional float strokeLineMiter, optional float trimPathStart, optional float trimPathEnd, optional float trimPathOffset);
+ method public androidx.compose.ui.graphics.vector.ImageVector build();
+ method public androidx.compose.ui.graphics.vector.ImageVector.Builder clearGroup();
+ }
+
+ public static final class ImageVector.Companion {
+ }
+
+ public final class ImageVectorKt {
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder group(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional String name, optional float rotate, optional float pivotX, optional float pivotY, optional float scaleX, optional float scaleY, optional float translationX, optional float translationY, optional java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> clipPathData, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,kotlin.Unit> block);
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder path-XZu8tSg(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional String name, optional androidx.compose.ui.graphics.Brush? fill, optional float fillAlpha, optional androidx.compose.ui.graphics.Brush? stroke, optional float strokeAlpha, optional float strokeLineWidth, optional int strokeLineCap, optional int strokeLineJoin, optional float strokeLineMiter, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+ }
+
+ public abstract sealed class VNode {
+ method public abstract void draw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ method public final void invalidate();
+ }
+
+ public final class VectorApplier extends androidx.compose.runtime.AbstractApplier<androidx.compose.ui.graphics.vector.VNode> {
+ ctor public VectorApplier(androidx.compose.ui.graphics.vector.VNode root);
+ method public void insertBottomUp(int index, androidx.compose.ui.graphics.vector.VNode instance);
+ method public void insertTopDown(int index, androidx.compose.ui.graphics.vector.VNode instance);
+ method public void move(int from, int to, int count);
+ method protected void onClear();
+ method public void remove(int index, int count);
+ }
+
+ public final class VectorComposeKt {
+ method @androidx.compose.runtime.Composable public static void Group(optional String name, optional float rotation, optional float pivotX, optional float pivotY, optional float scaleX, optional float scaleY, optional float translationX, optional float translationY, optional java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> clipPathData, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Path-MBUPpgE(java.util.List<? extends androidx.compose.ui.graphics.vector.PathNode> pathData, optional int pathFillType, optional String name, optional androidx.compose.ui.graphics.Brush? fill, optional float fillAlpha, optional androidx.compose.ui.graphics.Brush? stroke, optional float strokeAlpha, optional float strokeLineWidth, optional int strokeLineCap, optional int strokeLineJoin, optional float strokeLineMiter, optional float trimPathStart, optional float trimPathEnd, optional float trimPathOffset);
+ }
+
+ @androidx.compose.runtime.Immutable public final class VectorGroup extends androidx.compose.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.compose.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+ method public operator androidx.compose.ui.graphics.vector.VectorNode get(int index);
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> getClipPathData();
+ method public String getName();
+ method public float getPivotX();
+ method public float getPivotY();
+ method public float getRotation();
+ method public float getScaleX();
+ method public float getScaleY();
+ method public int getSize();
+ method public float getTranslationX();
+ method public float getTranslationY();
+ method public java.util.Iterator<androidx.compose.ui.graphics.vector.VectorNode> iterator();
+ property public final java.util.List<androidx.compose.ui.graphics.vector.PathNode> clipPathData;
+ property public final String name;
+ property public final float pivotX;
+ property public final float pivotY;
+ property public final float rotation;
+ property public final float scaleX;
+ property public final float scaleY;
+ property public final int size;
+ property public final float translationX;
+ property public final float translationY;
+ }
+
+ public final class VectorKt {
+ method public static inline java.util.List<androidx.compose.ui.graphics.vector.PathNode> PathData(kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> block);
+ method public static java.util.List<androidx.compose.ui.graphics.vector.PathNode> addPathNodes(String? pathStr);
+ method public static int getDefaultFillType();
+ method public static int getDefaultStrokeLineCap();
+ method public static int getDefaultStrokeLineJoin();
+ method public static int getDefaultTintBlendMode();
+ method public static long getDefaultTintColor();
+ method public static java.util.List<androidx.compose.ui.graphics.vector.PathNode> getEmptyPath();
+ field public static final String DefaultGroupName = "";
+ field public static final String DefaultPathName = "";
+ field public static final float DefaultPivotX = 0.0f;
+ field public static final float DefaultPivotY = 0.0f;
+ field public static final float DefaultRotation = 0.0f;
+ field public static final float DefaultScaleX = 1.0f;
+ field public static final float DefaultScaleY = 1.0f;
+ field public static final float DefaultStrokeLineMiter = 4.0f;
+ field public static final float DefaultStrokeLineWidth = 0.0f;
+ field public static final float DefaultTranslationX = 0.0f;
+ field public static final float DefaultTranslationY = 0.0f;
+ field public static final float DefaultTrimPathEnd = 1.0f;
+ field public static final float DefaultTrimPathOffset = 0.0f;
+ field public static final float DefaultTrimPathStart = 0.0f;
+ }
+
+ public abstract sealed class VectorNode {
+ }
+
+ public final class VectorPainter extends androidx.compose.ui.graphics.painter.Painter {
+ method public long getIntrinsicSize-NH-jbRc();
+ method protected void onDraw(androidx.compose.ui.graphics.drawscope.DrawScope);
+ property public long intrinsicSize;
+ }
+
+ public final class VectorPainterKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.vector.VectorPainter rememberVectorPainter(androidx.compose.ui.graphics.vector.ImageVector image);
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.vector.VectorPainter rememberVectorPainter-u_AqRoo(float defaultWidth, float defaultHeight, optional float viewportWidth, optional float viewportHeight, optional String name, optional long tintColor, optional int tintBlendMode, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,kotlin.Unit> content);
+ field public static final String RootGroupName = "VectorRootGroup";
+ }
+
+ @androidx.compose.runtime.Immutable public final class VectorPath extends androidx.compose.ui.graphics.vector.VectorNode {
+ method public androidx.compose.ui.graphics.Brush? getFill();
+ method public float getFillAlpha();
+ method public String getName();
+ method public java.util.List<androidx.compose.ui.graphics.vector.PathNode> getPathData();
+ method public int getPathFillType-Rg-k1Os();
+ method public androidx.compose.ui.graphics.Brush? getStroke();
+ method public float getStrokeAlpha();
+ method public int getStrokeLineCap-KaPHkGw();
+ method public int getStrokeLineJoin-LxFBmk8();
+ method public float getStrokeLineMiter();
+ method public float getStrokeLineWidth();
+ method public float getTrimPathEnd();
+ method public float getTrimPathOffset();
+ method public float getTrimPathStart();
+ property public final androidx.compose.ui.graphics.Brush? fill;
+ property public final float fillAlpha;
+ property public final String name;
+ property public final java.util.List<androidx.compose.ui.graphics.vector.PathNode> pathData;
+ property public final int pathFillType;
+ property public final androidx.compose.ui.graphics.Brush? stroke;
+ property public final float strokeAlpha;
+ property public final int strokeLineCap;
+ property public final int strokeLineJoin;
+ property public final float strokeLineMiter;
+ property public final float strokeLineWidth;
+ property public final float trimPathEnd;
+ property public final float trimPathOffset;
+ property public final float trimPathStart;
+ }
+
+}
+
+package androidx.compose.ui.graphics.vector.compat {
+
+ public final class XmlAnimatedVectorParser_androidKt {
+ }
+
+ public final class XmlAnimatorParser_androidKt {
+ }
+
+ public final class XmlPullParserUtils_androidKt {
+ }
+
+ public final class XmlVectorParser_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.hapticfeedback {
+
+ public interface HapticFeedback {
+ method public void performHapticFeedback-CdsT49E(int hapticFeedbackType);
+ }
+
+ public final inline class HapticFeedbackType {
+ ctor public HapticFeedbackType();
+ method public static int constructor-impl(int value);
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.hapticfeedback.HapticFeedbackType.Companion Companion;
+ }
+
+ public static final class HapticFeedbackType.Companion {
+ method public int getLongPress-5zf0vsI();
+ method public int getTextHandleMove-5zf0vsI();
+ method public java.util.List<androidx.compose.ui.hapticfeedback.HapticFeedbackType> values();
+ property public final int LongPress;
+ property public final int TextHandleMove;
+ }
+
+}
+
+package androidx.compose.ui.input.key {
+
+ public final inline class Key {
+ ctor public Key();
+ method public static long constructor-impl(long keyCode);
+ method public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public long getKeyCode();
+ method public static inline int hashCode-impl(long p);
+ method public static String toString-impl(long $this);
+ property public final long keyCode;
+ field public static final androidx.compose.ui.input.key.Key.Companion Companion;
+ }
+
+ public static final class Key.Companion {
+ method public long getA-EK5gGoQ();
+ method public long getAllApps-EK5gGoQ();
+ method public long getAltLeft-EK5gGoQ();
+ method public long getAltRight-EK5gGoQ();
+ method public long getApostrophe-EK5gGoQ();
+ method public long getAppSwitch-EK5gGoQ();
+ method public long getAssist-EK5gGoQ();
+ method public long getAt-EK5gGoQ();
+ method public long getAvReceiverInput-EK5gGoQ();
+ method public long getAvReceiverPower-EK5gGoQ();
+ method public long getB-EK5gGoQ();
+ method public long getBack-EK5gGoQ();
+ method public long getBackslash-EK5gGoQ();
+ method public long getBackspace-EK5gGoQ();
+ method public long getBookmark-EK5gGoQ();
+ method public long getBreak-EK5gGoQ();
+ method public long getBrightnessDown-EK5gGoQ();
+ method public long getBrightnessUp-EK5gGoQ();
+ method public long getBrowser-EK5gGoQ();
+ method public long getButton1-EK5gGoQ();
+ method public long getButton10-EK5gGoQ();
+ method public long getButton11-EK5gGoQ();
+ method public long getButton12-EK5gGoQ();
+ method public long getButton13-EK5gGoQ();
+ method public long getButton14-EK5gGoQ();
+ method public long getButton15-EK5gGoQ();
+ method public long getButton16-EK5gGoQ();
+ method public long getButton2-EK5gGoQ();
+ method public long getButton3-EK5gGoQ();
+ method public long getButton4-EK5gGoQ();
+ method public long getButton5-EK5gGoQ();
+ method public long getButton6-EK5gGoQ();
+ method public long getButton7-EK5gGoQ();
+ method public long getButton8-EK5gGoQ();
+ method public long getButton9-EK5gGoQ();
+ method public long getButtonA-EK5gGoQ();
+ method public long getButtonB-EK5gGoQ();
+ method public long getButtonC-EK5gGoQ();
+ method public long getButtonL1-EK5gGoQ();
+ method public long getButtonL2-EK5gGoQ();
+ method public long getButtonMode-EK5gGoQ();
+ method public long getButtonR1-EK5gGoQ();
+ method public long getButtonR2-EK5gGoQ();
+ method public long getButtonSelect-EK5gGoQ();
+ method public long getButtonStart-EK5gGoQ();
+ method public long getButtonThumbLeft-EK5gGoQ();
+ method public long getButtonThumbRight-EK5gGoQ();
+ method public long getButtonX-EK5gGoQ();
+ method public long getButtonY-EK5gGoQ();
+ method public long getButtonZ-EK5gGoQ();
+ method public long getC-EK5gGoQ();
+ method public long getCalculator-EK5gGoQ();
+ method public long getCalendar-EK5gGoQ();
+ method public long getCall-EK5gGoQ();
+ method public long getCamera-EK5gGoQ();
+ method public long getCapsLock-EK5gGoQ();
+ method public long getCaptions-EK5gGoQ();
+ method public long getChannelDown-EK5gGoQ();
+ method public long getChannelUp-EK5gGoQ();
+ method public long getClear-EK5gGoQ();
+ method public long getComma-EK5gGoQ();
+ method public long getContacts-EK5gGoQ();
+ method public long getCopy-EK5gGoQ();
+ method public long getCtrlLeft-EK5gGoQ();
+ method public long getCtrlRight-EK5gGoQ();
+ method public long getCut-EK5gGoQ();
+ method public long getD-EK5gGoQ();
+ method public long getDelete-EK5gGoQ();
+ method public long getDirectionCenter-EK5gGoQ();
+ method public long getDirectionDown-EK5gGoQ();
+ method public long getDirectionDownLeft-EK5gGoQ();
+ method public long getDirectionDownRight-EK5gGoQ();
+ method public long getDirectionLeft-EK5gGoQ();
+ method public long getDirectionRight-EK5gGoQ();
+ method public long getDirectionUp-EK5gGoQ();
+ method public long getDirectionUpLeft-EK5gGoQ();
+ method public long getDirectionUpRight-EK5gGoQ();
+ method public long getDvr-EK5gGoQ();
+ method public long getE-EK5gGoQ();
+ method public long getEight-EK5gGoQ();
+ method public long getEisu-EK5gGoQ();
+ method public long getEndCall-EK5gGoQ();
+ method public long getEnter-EK5gGoQ();
+ method public long getEnvelope-EK5gGoQ();
+ method public long getEquals-EK5gGoQ();
+ method public long getEscape-EK5gGoQ();
+ method public long getF-EK5gGoQ();
+ method public long getF1-EK5gGoQ();
+ method public long getF10-EK5gGoQ();
+ method public long getF11-EK5gGoQ();
+ method public long getF12-EK5gGoQ();
+ method public long getF2-EK5gGoQ();
+ method public long getF3-EK5gGoQ();
+ method public long getF4-EK5gGoQ();
+ method public long getF5-EK5gGoQ();
+ method public long getF6-EK5gGoQ();
+ method public long getF7-EK5gGoQ();
+ method public long getF8-EK5gGoQ();
+ method public long getF9-EK5gGoQ();
+ method public long getFive-EK5gGoQ();
+ method public long getFocus-EK5gGoQ();
+ method public long getForward-EK5gGoQ();
+ method public long getFour-EK5gGoQ();
+ method public long getFunction-EK5gGoQ();
+ method public long getG-EK5gGoQ();
+ method public long getGrave-EK5gGoQ();
+ method public long getGuide-EK5gGoQ();
+ method public long getH-EK5gGoQ();
+ method public long getHeadsetHook-EK5gGoQ();
+ method public long getHelp-EK5gGoQ();
+ method public long getHenkan-EK5gGoQ();
+ method public long getHome-EK5gGoQ();
+ method public long getI-EK5gGoQ();
+ method public long getInfo-EK5gGoQ();
+ method public long getInsert-EK5gGoQ();
+ method public long getJ-EK5gGoQ();
+ method public long getK-EK5gGoQ();
+ method public long getKana-EK5gGoQ();
+ method public long getKatakanaHiragana-EK5gGoQ();
+ method public long getL-EK5gGoQ();
+ method public long getLanguageSwitch-EK5gGoQ();
+ method public long getLastChannel-EK5gGoQ();
+ method public long getLeftBracket-EK5gGoQ();
+ method public long getM-EK5gGoQ();
+ method public long getMannerMode-EK5gGoQ();
+ method public long getMediaAudioTrack-EK5gGoQ();
+ method public long getMediaClose-EK5gGoQ();
+ method public long getMediaEject-EK5gGoQ();
+ method public long getMediaFastForward-EK5gGoQ();
+ method public long getMediaNext-EK5gGoQ();
+ method public long getMediaPause-EK5gGoQ();
+ method public long getMediaPlay-EK5gGoQ();
+ method public long getMediaPlayPause-EK5gGoQ();
+ method public long getMediaPrevious-EK5gGoQ();
+ method public long getMediaRecord-EK5gGoQ();
+ method public long getMediaRewind-EK5gGoQ();
+ method public long getMediaSkipBackward-EK5gGoQ();
+ method public long getMediaSkipForward-EK5gGoQ();
+ method public long getMediaStepBackward-EK5gGoQ();
+ method public long getMediaStepForward-EK5gGoQ();
+ method public long getMediaStop-EK5gGoQ();
+ method public long getMediaTopMenu-EK5gGoQ();
+ method public long getMenu-EK5gGoQ();
+ method public long getMetaLeft-EK5gGoQ();
+ method public long getMetaRight-EK5gGoQ();
+ method public long getMicrophoneMute-EK5gGoQ();
+ method public long getMinus-EK5gGoQ();
+ method public long getMoveEnd-EK5gGoQ();
+ method public long getMoveHome-EK5gGoQ();
+ method public long getMuhenkan-EK5gGoQ();
+ method public long getMultiply-EK5gGoQ();
+ method public long getMusic-EK5gGoQ();
+ method public long getN-EK5gGoQ();
+ method public long getNavigateIn-EK5gGoQ();
+ method public long getNavigateNext-EK5gGoQ();
+ method public long getNavigateOut-EK5gGoQ();
+ method public long getNavigatePrevious-EK5gGoQ();
+ method public long getNine-EK5gGoQ();
+ method public long getNotification-EK5gGoQ();
+ method public long getNumLock-EK5gGoQ();
+ method public long getNumPad0-EK5gGoQ();
+ method public long getNumPad1-EK5gGoQ();
+ method public long getNumPad2-EK5gGoQ();
+ method public long getNumPad3-EK5gGoQ();
+ method public long getNumPad4-EK5gGoQ();
+ method public long getNumPad5-EK5gGoQ();
+ method public long getNumPad6-EK5gGoQ();
+ method public long getNumPad7-EK5gGoQ();
+ method public long getNumPad8-EK5gGoQ();
+ method public long getNumPad9-EK5gGoQ();
+ method public long getNumPadAdd-EK5gGoQ();
+ method public long getNumPadComma-EK5gGoQ();
+ method public long getNumPadDivide-EK5gGoQ();
+ method public long getNumPadDot-EK5gGoQ();
+ method public long getNumPadEnter-EK5gGoQ();
+ method public long getNumPadEquals-EK5gGoQ();
+ method public long getNumPadLeftParenthesis-EK5gGoQ();
+ method public long getNumPadMultiply-EK5gGoQ();
+ method public long getNumPadRightParenthesis-EK5gGoQ();
+ method public long getNumPadSubtract-EK5gGoQ();
+ method public long getNumber-EK5gGoQ();
+ method public long getO-EK5gGoQ();
+ method public long getOne-EK5gGoQ();
+ method public long getP-EK5gGoQ();
+ method public long getPageDown-EK5gGoQ();
+ method public long getPageUp-EK5gGoQ();
+ method public long getPairing-EK5gGoQ();
+ method public long getPaste-EK5gGoQ();
+ method public long getPeriod-EK5gGoQ();
+ method public long getPictureSymbols-EK5gGoQ();
+ method public long getPlus-EK5gGoQ();
+ method public long getPound-EK5gGoQ();
+ method public long getPower-EK5gGoQ();
+ method public long getPrintScreen-EK5gGoQ();
+ method public long getProfileSwitch-EK5gGoQ();
+ method public long getProgramBlue-EK5gGoQ();
+ method public long getProgramGreen-EK5gGoQ();
+ method public long getProgramRed-EK5gGoQ();
+ method public long getProgramYellow-EK5gGoQ();
+ method public long getQ-EK5gGoQ();
+ method public long getR-EK5gGoQ();
+ method public long getRefresh-EK5gGoQ();
+ method public long getRightBracket-EK5gGoQ();
+ method public long getRo-EK5gGoQ();
+ method public long getS-EK5gGoQ();
+ method public long getScrollLock-EK5gGoQ();
+ method public long getSearch-EK5gGoQ();
+ method public long getSemicolon-EK5gGoQ();
+ method public long getSetTopBoxInput-EK5gGoQ();
+ method public long getSetTopBoxPower-EK5gGoQ();
+ method public long getSettings-EK5gGoQ();
+ method public long getSeven-EK5gGoQ();
+ method public long getShiftLeft-EK5gGoQ();
+ method public long getShiftRight-EK5gGoQ();
+ method public long getSix-EK5gGoQ();
+ method public long getSlash-EK5gGoQ();
+ method public long getSleep-EK5gGoQ();
+ method public long getSoftLeft-EK5gGoQ();
+ method public long getSoftRight-EK5gGoQ();
+ method public long getSoftSleep-EK5gGoQ();
+ method public long getSpacebar-EK5gGoQ();
+ method public long getStem1-EK5gGoQ();
+ method public long getStem2-EK5gGoQ();
+ method public long getStem3-EK5gGoQ();
+ method public long getStemPrimary-EK5gGoQ();
+ method public long getSwitchCharset-EK5gGoQ();
+ method public long getSymbol-EK5gGoQ();
+ method public long getSystemNavigationDown-EK5gGoQ();
+ method public long getSystemNavigationLeft-EK5gGoQ();
+ method public long getSystemNavigationRight-EK5gGoQ();
+ method public long getSystemNavigationUp-EK5gGoQ();
+ method public long getT-EK5gGoQ();
+ method public long getTab-EK5gGoQ();
+ method public long getThree-EK5gGoQ();
+ method public long getThumbsDown-EK5gGoQ();
+ method public long getThumbsUp-EK5gGoQ();
+ method public long getToggle2D3D-EK5gGoQ();
+ method public long getTv-EK5gGoQ();
+ method public long getTvAntennaCable-EK5gGoQ();
+ method public long getTvAudioDescription-EK5gGoQ();
+ method public long getTvAudioDescriptionMixingVolumeDown-EK5gGoQ();
+ method public long getTvAudioDescriptionMixingVolumeUp-EK5gGoQ();
+ method public long getTvContentsMenu-EK5gGoQ();
+ method public long getTvDataService-EK5gGoQ();
+ method public long getTvInput-EK5gGoQ();
+ method public long getTvInputComponent1-EK5gGoQ();
+ method public long getTvInputComponent2-EK5gGoQ();
+ method public long getTvInputComposite1-EK5gGoQ();
+ method public long getTvInputComposite2-EK5gGoQ();
+ method public long getTvInputHdmi1-EK5gGoQ();
+ method public long getTvInputHdmi2-EK5gGoQ();
+ method public long getTvInputHdmi3-EK5gGoQ();
+ method public long getTvInputHdmi4-EK5gGoQ();
+ method public long getTvInputVga1-EK5gGoQ();
+ method public long getTvMediaContextMenu-EK5gGoQ();
+ method public long getTvNetwork-EK5gGoQ();
+ method public long getTvNumberEntry-EK5gGoQ();
+ method public long getTvPower-EK5gGoQ();
+ method public long getTvRadioService-EK5gGoQ();
+ method public long getTvSatellite-EK5gGoQ();
+ method public long getTvSatelliteBs-EK5gGoQ();
+ method public long getTvSatelliteCs-EK5gGoQ();
+ method public long getTvSatelliteService-EK5gGoQ();
+ method public long getTvTeletext-EK5gGoQ();
+ method public long getTvTerrestrialAnalog-EK5gGoQ();
+ method public long getTvTerrestrialDigital-EK5gGoQ();
+ method public long getTvTimerProgramming-EK5gGoQ();
+ method public long getTvZoomMode-EK5gGoQ();
+ method public long getTwo-EK5gGoQ();
+ method public long getU-EK5gGoQ();
+ method public long getUnknown-EK5gGoQ();
+ method public long getV-EK5gGoQ();
+ method public long getVoiceAssist-EK5gGoQ();
+ method public long getVolumeDown-EK5gGoQ();
+ method public long getVolumeMute-EK5gGoQ();
+ method public long getVolumeUp-EK5gGoQ();
+ method public long getW-EK5gGoQ();
+ method public long getWakeUp-EK5gGoQ();
+ method public long getWindow-EK5gGoQ();
+ method public long getX-EK5gGoQ();
+ method public long getY-EK5gGoQ();
+ method public long getYen-EK5gGoQ();
+ method public long getZ-EK5gGoQ();
+ method public long getZenkakuHankaru-EK5gGoQ();
+ method public long getZero-EK5gGoQ();
+ method public long getZoomIn-EK5gGoQ();
+ method public long getZoomOut-EK5gGoQ();
+ property public final long A;
+ property public final long AllApps;
+ property public final long AltLeft;
+ property public final long AltRight;
+ property public final long Apostrophe;
+ property public final long AppSwitch;
+ property public final long Assist;
+ property public final long At;
+ property public final long AvReceiverInput;
+ property public final long AvReceiverPower;
+ property public final long B;
+ property public final long Back;
+ property public final long Backslash;
+ property public final long Backspace;
+ property public final long Bookmark;
+ property public final long Break;
+ property public final long BrightnessDown;
+ property public final long BrightnessUp;
+ property public final long Browser;
+ property public final long Button1;
+ property public final long Button10;
+ property public final long Button11;
+ property public final long Button12;
+ property public final long Button13;
+ property public final long Button14;
+ property public final long Button15;
+ property public final long Button16;
+ property public final long Button2;
+ property public final long Button3;
+ property public final long Button4;
+ property public final long Button5;
+ property public final long Button6;
+ property public final long Button7;
+ property public final long Button8;
+ property public final long Button9;
+ property public final long ButtonA;
+ property public final long ButtonB;
+ property public final long ButtonC;
+ property public final long ButtonL1;
+ property public final long ButtonL2;
+ property public final long ButtonMode;
+ property public final long ButtonR1;
+ property public final long ButtonR2;
+ property public final long ButtonSelect;
+ property public final long ButtonStart;
+ property public final long ButtonThumbLeft;
+ property public final long ButtonThumbRight;
+ property public final long ButtonX;
+ property public final long ButtonY;
+ property public final long ButtonZ;
+ property public final long C;
+ property public final long Calculator;
+ property public final long Calendar;
+ property public final long Call;
+ property public final long Camera;
+ property public final long CapsLock;
+ property public final long Captions;
+ property public final long ChannelDown;
+ property public final long ChannelUp;
+ property public final long Clear;
+ property public final long Comma;
+ property public final long Contacts;
+ property public final long Copy;
+ property public final long CtrlLeft;
+ property public final long CtrlRight;
+ property public final long Cut;
+ property public final long D;
+ property public final long Delete;
+ property public final long DirectionCenter;
+ property public final long DirectionDown;
+ property public final long DirectionDownLeft;
+ property public final long DirectionDownRight;
+ property public final long DirectionLeft;
+ property public final long DirectionRight;
+ property public final long DirectionUp;
+ property public final long DirectionUpLeft;
+ property public final long DirectionUpRight;
+ property public final long Dvr;
+ property public final long E;
+ property public final long Eight;
+ property public final long Eisu;
+ property public final long EndCall;
+ property public final long Enter;
+ property public final long Envelope;
+ property public final long Equals;
+ property public final long Escape;
+ property public final long F;
+ property public final long F1;
+ property public final long F10;
+ property public final long F11;
+ property public final long F12;
+ property public final long F2;
+ property public final long F3;
+ property public final long F4;
+ property public final long F5;
+ property public final long F6;
+ property public final long F7;
+ property public final long F8;
+ property public final long F9;
+ property public final long Five;
+ property public final long Focus;
+ property public final long Forward;
+ property public final long Four;
+ property public final long Function;
+ property public final long G;
+ property public final long Grave;
+ property public final long Guide;
+ property public final long H;
+ property public final long HeadsetHook;
+ property public final long Help;
+ property public final long Henkan;
+ property public final long Home;
+ property public final long I;
+ property public final long Info;
+ property public final long Insert;
+ property public final long J;
+ property public final long K;
+ property public final long Kana;
+ property public final long KatakanaHiragana;
+ property public final long L;
+ property public final long LanguageSwitch;
+ property public final long LastChannel;
+ property public final long LeftBracket;
+ property public final long M;
+ property public final long MannerMode;
+ property public final long MediaAudioTrack;
+ property public final long MediaClose;
+ property public final long MediaEject;
+ property public final long MediaFastForward;
+ property public final long MediaNext;
+ property public final long MediaPause;
+ property public final long MediaPlay;
+ property public final long MediaPlayPause;
+ property public final long MediaPrevious;
+ property public final long MediaRecord;
+ property public final long MediaRewind;
+ property public final long MediaSkipBackward;
+ property public final long MediaSkipForward;
+ property public final long MediaStepBackward;
+ property public final long MediaStepForward;
+ property public final long MediaStop;
+ property public final long MediaTopMenu;
+ property public final long Menu;
+ property public final long MetaLeft;
+ property public final long MetaRight;
+ property public final long MicrophoneMute;
+ property public final long Minus;
+ property public final long MoveEnd;
+ property public final long MoveHome;
+ property public final long Muhenkan;
+ property public final long Multiply;
+ property public final long Music;
+ property public final long N;
+ property public final long NavigateIn;
+ property public final long NavigateNext;
+ property public final long NavigateOut;
+ property public final long NavigatePrevious;
+ property public final long Nine;
+ property public final long Notification;
+ property public final long NumLock;
+ property public final long NumPad0;
+ property public final long NumPad1;
+ property public final long NumPad2;
+ property public final long NumPad3;
+ property public final long NumPad4;
+ property public final long NumPad5;
+ property public final long NumPad6;
+ property public final long NumPad7;
+ property public final long NumPad8;
+ property public final long NumPad9;
+ property public final long NumPadAdd;
+ property public final long NumPadComma;
+ property public final long NumPadDivide;
+ property public final long NumPadDot;
+ property public final long NumPadEnter;
+ property public final long NumPadEquals;
+ property public final long NumPadLeftParenthesis;
+ property public final long NumPadMultiply;
+ property public final long NumPadRightParenthesis;
+ property public final long NumPadSubtract;
+ property public final long Number;
+ property public final long O;
+ property public final long One;
+ property public final long P;
+ property public final long PageDown;
+ property public final long PageUp;
+ property public final long Pairing;
+ property public final long Paste;
+ property public final long Period;
+ property public final long PictureSymbols;
+ property public final long Plus;
+ property public final long Pound;
+ property public final long Power;
+ property public final long PrintScreen;
+ property public final long ProfileSwitch;
+ property public final long ProgramBlue;
+ property public final long ProgramGreen;
+ property public final long ProgramRed;
+ property public final long ProgramYellow;
+ property public final long Q;
+ property public final long R;
+ property public final long Refresh;
+ property public final long RightBracket;
+ property public final long Ro;
+ property public final long S;
+ property public final long ScrollLock;
+ property public final long Search;
+ property public final long Semicolon;
+ property public final long SetTopBoxInput;
+ property public final long SetTopBoxPower;
+ property public final long Settings;
+ property public final long Seven;
+ property public final long ShiftLeft;
+ property public final long ShiftRight;
+ property public final long Six;
+ property public final long Slash;
+ property public final long Sleep;
+ property public final long SoftLeft;
+ property public final long SoftRight;
+ property public final long SoftSleep;
+ property public final long Spacebar;
+ property public final long Stem1;
+ property public final long Stem2;
+ property public final long Stem3;
+ property public final long StemPrimary;
+ property public final long SwitchCharset;
+ property public final long Symbol;
+ property public final long SystemNavigationDown;
+ property public final long SystemNavigationLeft;
+ property public final long SystemNavigationRight;
+ property public final long SystemNavigationUp;
+ property public final long T;
+ property public final long Tab;
+ property public final long Three;
+ property public final long ThumbsDown;
+ property public final long ThumbsUp;
+ property public final long Toggle2D3D;
+ property public final long Tv;
+ property public final long TvAntennaCable;
+ property public final long TvAudioDescription;
+ property public final long TvAudioDescriptionMixingVolumeDown;
+ property public final long TvAudioDescriptionMixingVolumeUp;
+ property public final long TvContentsMenu;
+ property public final long TvDataService;
+ property public final long TvInput;
+ property public final long TvInputComponent1;
+ property public final long TvInputComponent2;
+ property public final long TvInputComposite1;
+ property public final long TvInputComposite2;
+ property public final long TvInputHdmi1;
+ property public final long TvInputHdmi2;
+ property public final long TvInputHdmi3;
+ property public final long TvInputHdmi4;
+ property public final long TvInputVga1;
+ property public final long TvMediaContextMenu;
+ property public final long TvNetwork;
+ property public final long TvNumberEntry;
+ property public final long TvPower;
+ property public final long TvRadioService;
+ property public final long TvSatellite;
+ property public final long TvSatelliteBs;
+ property public final long TvSatelliteCs;
+ property public final long TvSatelliteService;
+ property public final long TvTeletext;
+ property public final long TvTerrestrialAnalog;
+ property public final long TvTerrestrialDigital;
+ property public final long TvTimerProgramming;
+ property public final long TvZoomMode;
+ property public final long Two;
+ property public final long U;
+ property public final long Unknown;
+ property public final long V;
+ property public final long VoiceAssist;
+ property public final long VolumeDown;
+ property public final long VolumeMute;
+ property public final long VolumeUp;
+ property public final long W;
+ property public final long WakeUp;
+ property public final long Window;
+ property public final long X;
+ property public final long Y;
+ property public final long Yen;
+ property public final long Z;
+ property public final long ZenkakuHankaru;
+ property public final long Zero;
+ property public final long ZoomIn;
+ property public final long ZoomOut;
+ }
+
+ public final inline class KeyEvent {
+ ctor public KeyEvent();
+ method public static android.view.KeyEvent! constructor-impl(android.view.KeyEvent nativeKeyEvent);
+ method public static inline boolean equals-impl(android.view.KeyEvent! p, Object? p1);
+ method public static boolean equals-impl0(android.view.KeyEvent p1, android.view.KeyEvent p2);
+ method public android.view.KeyEvent getNativeKeyEvent();
+ method public static inline int hashCode-impl(android.view.KeyEvent! p);
+ method public static inline String! toString-impl(android.view.KeyEvent! p);
+ property public final android.view.KeyEvent nativeKeyEvent;
+ }
+
+ public final inline class KeyEventType {
+ ctor public KeyEventType();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.input.key.KeyEventType.Companion Companion;
+ }
+
+ public static final class KeyEventType.Companion {
+ method public int getKeyDown-CS__XNY();
+ method public int getKeyUp-CS__XNY();
+ method public int getUnknown-CS__XNY();
+ property public final int KeyDown;
+ property public final int KeyUp;
+ property public final int Unknown;
+ }
+
+ public final class KeyEvent_androidKt {
+ method public static long getKey-ZmokQxo(android.view.KeyEvent);
+ method public static int getType-ZmokQxo(android.view.KeyEvent);
+ method public static int getUtf16CodePoint-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isAltPressed-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isCtrlPressed-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isMetaPressed-ZmokQxo(android.view.KeyEvent);
+ method public static boolean isShiftPressed-ZmokQxo(android.view.KeyEvent);
+ }
+
+ public final class KeyInputModifierKt {
+ method public static androidx.compose.ui.Modifier onKeyEvent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.key.KeyEvent,java.lang.Boolean> onKeyEvent);
+ method public static androidx.compose.ui.Modifier onPreviewKeyEvent(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.input.key.KeyEvent,java.lang.Boolean> onPreviewKeyEvent);
+ }
+
+ public final class Key_androidKt {
+ method public static long Key(int nativeKeyCode);
+ method public static int getNativeKeyCode-YVgTNJs(long);
+ }
+
+}
+
+package androidx.compose.ui.input.nestedscroll {
+
+ public interface NestedScrollConnection {
+ method public default suspend Object? onPostFling-k5p9STU(long consumed, long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public default long onPostScroll-61dr0bI(long consumed, long available, int source);
+ method public default suspend Object? onPreFling-bHeVL4A(long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public default long onPreScroll-ScU7Jk8(long available, int source);
+ }
+
+ public final class NestedScrollDelegatingWrapperKt {
+ }
+
+ public final class NestedScrollDispatcher {
+ ctor public NestedScrollDispatcher();
+ method public suspend Object? dispatchPostFling-k5p9STU(long consumed, long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public long dispatchPostScroll-61dr0bI(long consumed, long available, int source);
+ method public suspend Object? dispatchPreFling-bHeVL4A(long available, kotlin.coroutines.Continuation<? super androidx.compose.ui.unit.Velocity> p);
+ method public long dispatchPreScroll-ScU7Jk8(long available, int source);
+ method public kotlinx.coroutines.CoroutineScope getCoroutineScope();
+ property public final kotlinx.coroutines.CoroutineScope coroutineScope;
+ }
+
+ public final class NestedScrollModifierKt {
+ method public static androidx.compose.ui.Modifier nestedScroll(androidx.compose.ui.Modifier, androidx.compose.ui.input.nestedscroll.NestedScrollConnection connection, optional androidx.compose.ui.input.nestedscroll.NestedScrollDispatcher? dispatcher);
+ }
+
+ public final inline class NestedScrollSource {
+ ctor public NestedScrollSource();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.input.nestedscroll.NestedScrollSource.Companion Companion;
+ }
+
+ public static final class NestedScrollSource.Companion {
+ method public int getDrag-WNlRxjI();
+ method public int getFling-WNlRxjI();
+ method @Deprecated public int getRelocate-WNlRxjI();
+ property public final int Drag;
+ property public final int Fling;
+ property @Deprecated public final int Relocate;
+ }
+
+}
+
+package androidx.compose.ui.input.pointer {
+
+ @kotlin.coroutines.RestrictsSuspension public interface AwaitPointerEventScope extends androidx.compose.ui.unit.Density {
+ method public suspend Object? awaitPointerEvent(optional androidx.compose.ui.input.pointer.PointerEventPass pass, optional kotlin.coroutines.Continuation<? super androidx.compose.ui.input.pointer.PointerEvent> p);
+ method public androidx.compose.ui.input.pointer.PointerEvent getCurrentEvent();
+ method public long getSize-YbymL2g();
+ method public androidx.compose.ui.platform.ViewConfiguration getViewConfiguration();
+ property public abstract androidx.compose.ui.input.pointer.PointerEvent currentEvent;
+ property public abstract long size;
+ property public abstract androidx.compose.ui.platform.ViewConfiguration viewConfiguration;
+ }
+
+ public final class ConsumedData {
+ ctor public ConsumedData(optional boolean positionChange, optional boolean downChange);
+ method public boolean getDownChange();
+ method public boolean getPositionChange();
+ method public void setDownChange(boolean p);
+ method public void setPositionChange(boolean p);
+ property public final boolean downChange;
+ property public final boolean positionChange;
+ }
+
+ public final class MotionEventAdapter_androidKt {
+ }
+
+ public final class PointerEvent {
+ ctor public PointerEvent(java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> changes);
+ method public java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> component1();
+ method public androidx.compose.ui.input.pointer.PointerEvent copy(java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> changes, android.view.MotionEvent? motionEvent);
+ method public java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> getChanges();
+ property public final java.util.List<androidx.compose.ui.input.pointer.PointerInputChange> changes;
+ }
+
+ public final class PointerEventKt {
+ method public static boolean anyChangeConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToDown(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToDownIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToUp(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean changedToUpIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static void consumeAllChanges(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static void consumeDownChange(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static void consumePositionChange(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean isOutOfBounds-MReStF0(androidx.compose.ui.input.pointer.PointerInputChange, long size);
+ method public static long positionChange(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean positionChangeConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static long positionChangeIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean positionChanged(androidx.compose.ui.input.pointer.PointerInputChange);
+ method public static boolean positionChangedIgnoreConsumed(androidx.compose.ui.input.pointer.PointerInputChange);
+ }
+
+ public enum PointerEventPass {
+ enum_constant public static final androidx.compose.ui.input.pointer.PointerEventPass Final;
+ enum_constant public static final androidx.compose.ui.input.pointer.PointerEventPass Initial;
+ enum_constant public static final androidx.compose.ui.input.pointer.PointerEventPass Main;
+ }
+
+ public final inline class PointerId {
+ ctor public PointerId();
+ method public static long constructor-impl(long value);
+ method public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public long getValue();
+ method public static inline int hashCode-impl(long p);
+ method public static inline String! toString-impl(long p);
+ property public final long value;
+ }
+
+ @androidx.compose.runtime.Immutable public final class PointerInputChange {
+ method public androidx.compose.ui.input.pointer.PointerInputChange copy-aJ2ieLA(optional long id, optional long currentTime, optional long currentPosition, optional boolean currentPressed, optional long previousTime, optional long previousPosition, optional boolean previousPressed, optional androidx.compose.ui.input.pointer.ConsumedData consumed, optional int type);
+ method public androidx.compose.ui.input.pointer.ConsumedData getConsumed();
+ method public long getId-J3iCeTQ();
+ method public long getPosition-F1C5BW0();
+ method public boolean getPressed();
+ method public long getPreviousPosition-F1C5BW0();
+ method public boolean getPreviousPressed();
+ method public long getPreviousUptimeMillis();
+ method public int getType-T8wyACA();
+ method public long getUptimeMillis();
+ property public final androidx.compose.ui.input.pointer.ConsumedData consumed;
+ property public final long id;
+ property public final long position;
+ property public final boolean pressed;
+ property public final long previousPosition;
+ property public final boolean previousPressed;
+ property public final long previousUptimeMillis;
+ property public final int type;
+ property public final long uptimeMillis;
+ }
+
+ public final class PointerInputEventProcessorKt {
+ }
+
+ public abstract class PointerInputFilter {
+ ctor public PointerInputFilter();
+ method public final long getSize-YbymL2g();
+ method public abstract void onCancel();
+ method public abstract void onPointerEvent-d1fqKvQ(androidx.compose.ui.input.pointer.PointerEvent pointerEvent, androidx.compose.ui.input.pointer.PointerEventPass pass, long bounds);
+ property public final long size;
+ }
+
+ public interface PointerInputModifier extends androidx.compose.ui.Modifier.Element {
+ method public androidx.compose.ui.input.pointer.PointerInputFilter getPointerInputFilter();
+ property public abstract androidx.compose.ui.input.pointer.PointerInputFilter pointerInputFilter;
+ }
+
+ public interface PointerInputScope extends androidx.compose.ui.unit.Density {
+ method public suspend <R> Object? awaitPointerEventScope(kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.AwaitPointerEventScope,? super kotlin.coroutines.Continuation<? super R>,?> block, kotlin.coroutines.Continuation<? super R> p);
+ method public long getSize-YbymL2g();
+ method public androidx.compose.ui.platform.ViewConfiguration getViewConfiguration();
+ property public abstract long size;
+ property public abstract androidx.compose.ui.platform.ViewConfiguration viewConfiguration;
+ }
+
+ public final class PointerInputTestUtilKt {
+ }
+
+ public final class PointerInteropFilter_androidKt {
+ }
+
+ public final class PointerInteropUtils_androidKt {
+ }
+
+ public final inline class PointerType {
+ ctor public PointerType();
+ method public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.input.pointer.PointerType.Companion Companion;
+ }
+
+ public static final class PointerType.Companion {
+ method public int getEraser-T8wyACA();
+ method public int getMouse-T8wyACA();
+ method public int getStylus-T8wyACA();
+ method public int getTouch-T8wyACA();
+ method public int getUnknown-T8wyACA();
+ property public final int Eraser;
+ property public final int Mouse;
+ property public final int Stylus;
+ property public final int Touch;
+ property public final int Unknown;
+ }
+
+ public final class SuspendingPointerInputFilterKt {
+ method @Deprecated public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, Object? key1, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, Object? key1, Object? key2, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ method public static androidx.compose.ui.Modifier pointerInput(androidx.compose.ui.Modifier, Object![]? keys, kotlin.jvm.functions.Function2<? super androidx.compose.ui.input.pointer.PointerInputScope,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> block);
+ }
+
+}
+
+package androidx.compose.ui.input.pointer.util {
+
+ public final class VelocityTracker {
+ ctor public VelocityTracker();
+ method public void addPosition-OX7LsLU(long timeMillis, long position);
+ method public long calculateVelocity-9UxMQ8M();
+ method public void resetTracking();
+ }
+
+ public final class VelocityTrackerKt {
+ }
+
+}
+
+package androidx.compose.ui.layout {
+
+ @androidx.compose.runtime.Immutable public abstract sealed class AlignmentLine {
+ field public static final androidx.compose.ui.layout.AlignmentLine.Companion Companion;
+ field public static final int Unspecified = -2147483648; // 0x80000000
+ }
+
+ public static final class AlignmentLine.Companion {
+ }
+
+ public final class AlignmentLineKt {
+ method public static androidx.compose.ui.layout.HorizontalAlignmentLine getFirstBaseline();
+ method public static androidx.compose.ui.layout.HorizontalAlignmentLine getLastBaseline();
+ }
+
+ @androidx.compose.runtime.Stable public interface ContentScale {
+ method public long computeScaleFactor-AhF4CD4(long srcSize, long dstSize);
+ field public static final androidx.compose.ui.layout.ContentScale.Companion Companion;
+ }
+
+ public static final class ContentScale.Companion {
+ method public androidx.compose.ui.layout.ContentScale getCrop();
+ method public androidx.compose.ui.layout.ContentScale getFillBounds();
+ method public androidx.compose.ui.layout.ContentScale getFillHeight();
+ method public androidx.compose.ui.layout.ContentScale getFillWidth();
+ method public androidx.compose.ui.layout.ContentScale getFit();
+ method public androidx.compose.ui.layout.ContentScale getInside();
+ method public androidx.compose.ui.layout.FixedScale getNone();
+ property public final androidx.compose.ui.layout.ContentScale Crop;
+ property public final androidx.compose.ui.layout.ContentScale FillBounds;
+ property public final androidx.compose.ui.layout.ContentScale FillHeight;
+ property public final androidx.compose.ui.layout.ContentScale FillWidth;
+ property public final androidx.compose.ui.layout.ContentScale Fit;
+ property public final androidx.compose.ui.layout.ContentScale Inside;
+ property public final androidx.compose.ui.layout.FixedScale None;
+ }
+
+ public final class ContentScaleKt {
+ }
+
+ @androidx.compose.runtime.Immutable public final class FixedScale implements androidx.compose.ui.layout.ContentScale {
+ ctor public FixedScale(float value);
+ method public float component1();
+ method public long computeScaleFactor-AhF4CD4(long srcSize, long dstSize);
+ method @androidx.compose.runtime.Immutable public androidx.compose.ui.layout.FixedScale copy(float value);
+ method public float getValue();
+ property public final float value;
+ }
+
+ public interface GraphicLayerInfo {
+ method public long getLayerId();
+ property public abstract long layerId;
+ }
+
+ public final class HorizontalAlignmentLine extends androidx.compose.ui.layout.AlignmentLine {
+ ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
+ }
+
+ public interface IntrinsicMeasurable {
+ method public Object? getParentData();
+ method public int maxIntrinsicHeight(int width);
+ method public int maxIntrinsicWidth(int height);
+ method public int minIntrinsicHeight(int width);
+ method public int minIntrinsicWidth(int height);
+ property public abstract Object? parentData;
+ }
+
+ public final class IntrinsicMeasurableKt {
+ }
+
+ public interface IntrinsicMeasureScope extends androidx.compose.ui.unit.Density {
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ }
+
+ public interface LayoutCoordinates {
+ method public operator int get(androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public androidx.compose.ui.layout.LayoutCoordinates? getParentCoordinates();
+ method public androidx.compose.ui.layout.LayoutCoordinates? getParentLayoutCoordinates();
+ method public java.util.Set<androidx.compose.ui.layout.AlignmentLine> getProvidedAlignmentLines();
+ method public long getSize-YbymL2g();
+ method public boolean isAttached();
+ method public androidx.compose.ui.geometry.Rect localBoundingBoxOf(androidx.compose.ui.layout.LayoutCoordinates sourceCoordinates, optional boolean clipBounds);
+ method public long localPositionOf-YJiYy8w(androidx.compose.ui.layout.LayoutCoordinates sourceCoordinates, long relativeToSource);
+ method public long localToRoot-k-4lQ0M(long relativeToLocal);
+ method public long localToWindow-k-4lQ0M(long relativeToLocal);
+ method public long windowToLocal-k-4lQ0M(long relativeToWindow);
+ property public abstract boolean isAttached;
+ property public abstract androidx.compose.ui.layout.LayoutCoordinates? parentCoordinates;
+ property public abstract androidx.compose.ui.layout.LayoutCoordinates? parentLayoutCoordinates;
+ property public abstract java.util.Set<androidx.compose.ui.layout.AlignmentLine> providedAlignmentLines;
+ property public abstract long size;
+ }
+
+ public final class LayoutCoordinatesKt {
+ method public static androidx.compose.ui.geometry.Rect boundsInParent(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static androidx.compose.ui.geometry.Rect boundsInRoot(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static androidx.compose.ui.geometry.Rect boundsInWindow(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static long positionInParent(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static long positionInRoot(androidx.compose.ui.layout.LayoutCoordinates);
+ method public static long positionInWindow(androidx.compose.ui.layout.LayoutCoordinates);
+ }
+
+ public final class LayoutIdKt {
+ method public static Object? getLayoutId(androidx.compose.ui.layout.Measurable);
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier layoutId(androidx.compose.ui.Modifier, Object layoutId);
+ }
+
+ public interface LayoutIdParentData {
+ method public Object getLayoutId();
+ property public abstract Object layoutId;
+ }
+
+ public interface LayoutInfo {
+ method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
+ method public int getHeight();
+ method public java.util.List<androidx.compose.ui.layout.ModifierInfo> getModifierInfo();
+ method public androidx.compose.ui.layout.LayoutInfo? getParentInfo();
+ method public int getWidth();
+ method public boolean isAttached();
+ method public boolean isPlaced();
+ property public abstract androidx.compose.ui.layout.LayoutCoordinates coordinates;
+ property public abstract int height;
+ property public abstract boolean isAttached;
+ property public abstract boolean isPlaced;
+ property public abstract androidx.compose.ui.layout.LayoutInfo? parentInfo;
+ property public abstract int width;
+ }
+
+ public final class LayoutKt {
+ method @androidx.compose.runtime.Composable public static inline void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> content, optional androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.MeasurePolicy measurePolicy);
+ method @Deprecated @androidx.compose.runtime.Composable public static void MultiMeasureLayout(optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function0<kotlin.Unit> content, androidx.compose.ui.layout.MeasurePolicy measurePolicy);
+ method @kotlin.PublishedApi internal static kotlin.jvm.functions.Function1<androidx.compose.runtime.SkippableUpdater<androidx.compose.ui.node.ComposeUiNode>,kotlin.Unit> materializerOf(androidx.compose.ui.Modifier modifier);
+ }
+
+ public interface LayoutModifier extends androidx.compose.ui.Modifier.Element {
+ method public default int maxIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int width);
+ method public default int maxIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int height);
+ method public androidx.compose.ui.layout.MeasureResult measure-za8Wrwc(androidx.compose.ui.layout.MeasureScope, androidx.compose.ui.layout.Measurable measurable, long constraints);
+ method public default int minIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int width);
+ method public default int minIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, androidx.compose.ui.layout.IntrinsicMeasurable measurable, int height);
+ }
+
+ public final class LayoutModifierKt {
+ method public static androidx.compose.ui.Modifier layout(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function3<? super androidx.compose.ui.layout.MeasureScope,? super androidx.compose.ui.layout.Measurable,? super androidx.compose.ui.unit.Constraints,? extends androidx.compose.ui.layout.MeasureResult> measure);
+ }
+
+ public interface Measurable extends androidx.compose.ui.layout.IntrinsicMeasurable {
+ method public androidx.compose.ui.layout.Placeable measure-BRTryo0(long constraints);
+ }
+
+ @androidx.compose.runtime.Stable public fun interface MeasurePolicy {
+ method public default int maxIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int width);
+ method public default int maxIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int height);
+ method public androidx.compose.ui.layout.MeasureResult measure-8A2P9vY(androidx.compose.ui.layout.MeasureScope, java.util.List<? extends androidx.compose.ui.layout.Measurable> measurables, long constraints);
+ method public default int minIntrinsicHeight(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int width);
+ method public default int minIntrinsicWidth(androidx.compose.ui.layout.IntrinsicMeasureScope, java.util.List<? extends androidx.compose.ui.layout.IntrinsicMeasurable> measurables, int height);
+ }
+
+ public interface MeasureResult {
+ method public java.util.Map<androidx.compose.ui.layout.AlignmentLine,java.lang.Integer> getAlignmentLines();
+ method public int getHeight();
+ method public int getWidth();
+ method public void placeChildren();
+ property public abstract java.util.Map<androidx.compose.ui.layout.AlignmentLine,java.lang.Integer> alignmentLines;
+ property public abstract int height;
+ property public abstract int width;
+ }
+
+ public interface MeasureScope extends androidx.compose.ui.layout.IntrinsicMeasureScope {
+ method public default androidx.compose.ui.layout.MeasureResult layout(int width, int height, optional java.util.Map<androidx.compose.ui.layout.AlignmentLine,java.lang.Integer> alignmentLines, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.Placeable.PlacementScope,kotlin.Unit> placementBlock);
+ }
+
+ public final class MeasureScopeKt {
+ }
+
+ public interface Measured {
+ method public operator int get(androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public int getMeasuredHeight();
+ method public int getMeasuredWidth();
+ property public abstract int measuredHeight;
+ property public abstract int measuredWidth;
+ }
+
+ public final class ModifierInfo {
+ ctor public ModifierInfo(androidx.compose.ui.Modifier modifier, androidx.compose.ui.layout.LayoutCoordinates coordinates, optional Object? extra);
+ method public androidx.compose.ui.layout.LayoutCoordinates getCoordinates();
+ method public Object? getExtra();
+ method public androidx.compose.ui.Modifier getModifier();
+ property public final androidx.compose.ui.layout.LayoutCoordinates coordinates;
+ property public final Object? extra;
+ property public final androidx.compose.ui.Modifier modifier;
+ }
+
+ public interface OnGloballyPositionedModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onGloballyPositioned(androidx.compose.ui.layout.LayoutCoordinates coordinates);
+ }
+
+ public final class OnGloballyPositionedModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier onGloballyPositioned(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.layout.LayoutCoordinates,kotlin.Unit> onGloballyPositioned);
+ }
+
+ public interface OnRemeasuredModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onRemeasured-ozmzZPI(long size);
+ }
+
+ public final class OnRemeasuredModifierKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier onSizeChanged(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.unit.IntSize,kotlin.Unit> onSizeChanged);
+ }
+
+ public interface ParentDataModifier extends androidx.compose.ui.Modifier.Element {
+ method public Object? modifyParentData(androidx.compose.ui.unit.Density, Object? parentData);
+ }
+
+ public abstract class Placeable implements androidx.compose.ui.layout.Measured {
+ ctor public Placeable();
+ method protected final long getApparentToRealOffset-nOcc-ac();
+ method public final int getHeight();
+ method public int getMeasuredHeight();
+ method protected final long getMeasuredSize-YbymL2g();
+ method public int getMeasuredWidth();
+ method protected final long getMeasurementConstraints-msEJaDk();
+ method public final int getWidth();
+ method protected abstract void placeAt-rMeLuDI(long position, float zIndex, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit>? layerBlock);
+ method protected final void setMeasuredSize-ozmzZPI(long value);
+ method protected final void setMeasurementConstraints-BRTryo0(long value);
+ property protected final long apparentToRealOffset;
+ property public final int height;
+ property public int measuredHeight;
+ property protected final long measuredSize;
+ property public int measuredWidth;
+ property protected final long measurementConstraints;
+ property public final int width;
+ }
+
+ public abstract static class Placeable.PlacementScope {
+ ctor public Placeable.PlacementScope();
+ method protected abstract androidx.compose.ui.unit.LayoutDirection getParentLayoutDirection();
+ method protected abstract int getParentWidth();
+ method public final void place(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex);
+ method public final void place-z2mxYZE(androidx.compose.ui.layout.Placeable, long position, optional float zIndex);
+ method public final void placeRelative(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex);
+ method public final void placeRelative-z2mxYZE(androidx.compose.ui.layout.Placeable, long position, optional float zIndex);
+ method public final void placeRelativeWithLayer(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ method public final void placeRelativeWithLayer-muyPCdA(androidx.compose.ui.layout.Placeable, long position, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ method public final void placeWithLayer(androidx.compose.ui.layout.Placeable, int x, int y, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ method public final void placeWithLayer-muyPCdA(androidx.compose.ui.layout.Placeable, long position, optional float zIndex, optional kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.GraphicsLayerScope,kotlin.Unit> layerBlock);
+ property protected abstract androidx.compose.ui.unit.LayoutDirection parentLayoutDirection;
+ property protected abstract int parentWidth;
+ }
+
+ public final class PlaceableKt {
+ }
+
+ public final class RelocationRequesterModifierKt {
+ }
+
+ public interface Remeasurement {
+ method public void forceRemeasure();
+ }
+
+ public interface RemeasurementModifier extends androidx.compose.ui.Modifier.Element {
+ method public void onRemeasurementAvailable(androidx.compose.ui.layout.Remeasurement remeasurement);
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class ScaleFactor {
+ ctor public ScaleFactor();
+ method @androidx.compose.runtime.Stable public static inline operator float component1-impl(long $this);
+ method @androidx.compose.runtime.Stable public static inline operator float component2-impl(long $this);
+ method public static long copy-_hLwfpc(long $this, optional float scaleX, optional float scaleY);
+ method @androidx.compose.runtime.Stable public static operator long div-_hLwfpc(long $this, float operand);
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(long p, Object? p1);
+ method public static boolean equals-impl0(long p1, long p2);
+ method public static float getScaleX-impl(long $this);
+ method public static float getScaleY-impl(long $this);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(long p);
+ method @androidx.compose.runtime.Stable public static operator long times-_hLwfpc(long $this, float operand);
+ method public static String toString-impl(long $this);
+ field public static final androidx.compose.ui.layout.ScaleFactor.Companion Companion;
+ }
+
+ public static final class ScaleFactor.Companion {
+ method public long getUnspecified-_hLwfpc();
+ property public final long Unspecified;
+ }
+
+ public final class ScaleFactorKt {
+ method @androidx.compose.runtime.Stable public static long ScaleFactor(float scaleX, float scaleY);
+ method @androidx.compose.runtime.Stable public static operator long div-ngKnWWw(long, long scaleFactor);
+ method public static inline boolean isSpecified-FK8aYYs(long);
+ method public static inline boolean isUnspecified-FK8aYYs(long);
+ method @androidx.compose.runtime.Stable public static long lerp-bKVCie4(long start, long stop, float fraction);
+ method public static inline long takeOrElse-L-byAFk(long, kotlin.jvm.functions.Function0<androidx.compose.ui.layout.ScaleFactor> block);
+ method @androidx.compose.runtime.Stable public static operator long times-Sp6zcS4(long, long size);
+ method @androidx.compose.runtime.Stable public static operator long times-ngKnWWw(long, long scaleFactor);
+ }
+
+ public final class SubcomposeLayoutKt {
+ method @androidx.compose.runtime.Composable public static void SubcomposeLayout(optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function2<? super androidx.compose.ui.layout.SubcomposeMeasureScope,? super androidx.compose.ui.unit.Constraints,? extends androidx.compose.ui.layout.MeasureResult> measurePolicy);
+ method @androidx.compose.runtime.Composable public static void SubcomposeLayout(androidx.compose.ui.layout.SubcomposeLayoutState state, optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function2<? super androidx.compose.ui.layout.SubcomposeMeasureScope,? super androidx.compose.ui.unit.Constraints,? extends androidx.compose.ui.layout.MeasureResult> measurePolicy);
+ }
+
+ public final class SubcomposeLayoutState {
+ ctor public SubcomposeLayoutState(int maxSlotsToRetainForReuse);
+ ctor public SubcomposeLayoutState();
+ method public androidx.compose.ui.layout.SubcomposeLayoutState.PrecomposedSlotHandle precompose(Object? slotId, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public static interface SubcomposeLayoutState.PrecomposedSlotHandle {
+ method public void dispose();
+ }
+
+ public interface SubcomposeMeasureScope extends androidx.compose.ui.layout.MeasureScope {
+ method public java.util.List<androidx.compose.ui.layout.Measurable> subcompose(Object? slotId, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class TestModifierUpdaterKt {
+ }
+
+ public final class VerticalAlignmentLine extends androidx.compose.ui.layout.AlignmentLine {
+ ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Integer,java.lang.Integer> merger);
+ }
+
+}
+
+package androidx.compose.ui.node {
+
+ @kotlin.PublishedApi internal interface ComposeUiNode {
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.unit.LayoutDirection getLayoutDirection();
+ method public androidx.compose.ui.layout.MeasurePolicy getMeasurePolicy();
+ method public androidx.compose.ui.Modifier getModifier();
+ method public void setDensity(androidx.compose.ui.unit.Density p);
+ method public void setLayoutDirection(androidx.compose.ui.unit.LayoutDirection p);
+ method public void setMeasurePolicy(androidx.compose.ui.layout.MeasurePolicy p);
+ method public void setModifier(androidx.compose.ui.Modifier p);
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.unit.LayoutDirection layoutDirection;
+ property public abstract androidx.compose.ui.layout.MeasurePolicy measurePolicy;
+ property public abstract androidx.compose.ui.Modifier modifier;
+ field public static final androidx.compose.ui.node.ComposeUiNode.Companion Companion;
+ }
+
+ public static final class ComposeUiNode.Companion {
+ method public kotlin.jvm.functions.Function0<androidx.compose.ui.node.ComposeUiNode> getConstructor();
+ method public kotlin.jvm.functions.Function2<androidx.compose.ui.node.ComposeUiNode,androidx.compose.ui.unit.Density,kotlin.Unit> getSetDensity();
+ method public kotlin.jvm.functions.Function2<androidx.compose.ui.node.ComposeUiNode,androidx.compose.ui.unit.LayoutDirection,kotlin.Unit> getSetLayoutDirection();
+ method public kotlin.jvm.functions.Function2<androidx.compose.ui.node.ComposeUiNode,androidx.compose.ui.layout.MeasurePolicy,kotlin.Unit> getSetMeasurePolicy();
+ method public kotlin.jvm.functions.Function2<androidx.compose.ui.node.ComposeUiNode,androidx.compose.ui.Modifier,kotlin.Unit> getSetModifier();
+ property public final kotlin.jvm.functions.Function0<androidx.compose.ui.node.ComposeUiNode> Constructor;
+ property public final kotlin.jvm.functions.Function2<androidx.compose.ui.node.ComposeUiNode,androidx.compose.ui.unit.Density,kotlin.Unit> SetDensity;
+ property public final kotlin.jvm.functions.Function2<androidx.compose.ui.node.ComposeUiNode,androidx.compose.ui.unit.LayoutDirection,kotlin.Unit> SetLayoutDirection;
+ property public final kotlin.jvm.functions.Function2<androidx.compose.ui.node.ComposeUiNode,androidx.compose.ui.layout.MeasurePolicy,kotlin.Unit> SetMeasurePolicy;
+ property public final kotlin.jvm.functions.Function2<androidx.compose.ui.node.ComposeUiNode,androidx.compose.ui.Modifier,kotlin.Unit> SetModifier;
+ }
+
+ public final class LayoutNodeKt {
+ }
+
+ public final class Ref<T> {
+ ctor public Ref();
+ method public T? getValue();
+ method public void setValue(T? p);
+ property public final T? value;
+ }
+
+ public interface RootForTest {
+ method public androidx.compose.ui.unit.Density getDensity();
+ method public androidx.compose.ui.semantics.SemanticsOwner getSemanticsOwner();
+ method public androidx.compose.ui.text.input.TextInputService getTextInputService();
+ method public boolean sendKeyEvent-ZmokQxo(android.view.KeyEvent keyEvent);
+ property public abstract androidx.compose.ui.unit.Density density;
+ property public abstract androidx.compose.ui.semantics.SemanticsOwner semanticsOwner;
+ property public abstract androidx.compose.ui.text.input.TextInputService textInputService;
+ }
+
+ public final class ViewInterop_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.platform {
+
+ public abstract class AbstractComposeView extends android.view.ViewGroup {
+ ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+ ctor public AbstractComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
+ ctor public AbstractComposeView(android.content.Context context);
+ method @androidx.compose.runtime.Composable public abstract void Content();
+ method public final void createComposition();
+ method public final void disposeComposition();
+ method public final boolean getHasComposition();
+ method protected boolean getShouldCreateCompositionOnAttachedToWindow();
+ method public final boolean getShowLayoutBounds();
+ method protected final void onLayout(boolean changed, int left, int top, int right, int bottom);
+ method protected final void onMeasure(int widthMeasureSpec, int heightMeasureSpec);
+ method public final void setParentCompositionContext(androidx.compose.runtime.CompositionContext? parent);
+ method public final void setShowLayoutBounds(boolean value);
+ method public final void setViewCompositionStrategy(androidx.compose.ui.platform.ViewCompositionStrategy strategy);
+ property public final boolean hasComposition;
+ property protected boolean shouldCreateCompositionOnAttachedToWindow;
+ property public final boolean showLayoutBounds;
+ }
+
+ public interface AccessibilityManager {
+ method public long calculateRecommendedTimeoutMillis(long originalTimeoutMillis, optional boolean containsIcons, optional boolean containsText, optional boolean containsControls);
+ }
+
+ public final class AndroidClipboardManager_androidKt {
+ }
+
+ public final class AndroidComposeViewAccessibilityDelegateCompat_androidKt {
+ }
+
+ public final class AndroidComposeView_androidKt {
+ }
+
+ public final class AndroidCompositionLocals_androidKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<android.content.res.Configuration> getLocalConfiguration();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<android.content.Context> getLocalContext();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.lifecycle.LifecycleOwner> getLocalLifecycleOwner();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.savedstate.SavedStateRegistryOwner> getLocalSavedStateRegistryOwner();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<android.view.View> getLocalView();
+ }
+
+ public final class AndroidUiDispatcher extends kotlinx.coroutines.CoroutineDispatcher {
+ method public void dispatch(kotlin.coroutines.CoroutineContext context, Runnable block);
+ method public android.view.Choreographer getChoreographer();
+ method public androidx.compose.runtime.MonotonicFrameClock getFrameClock();
+ property public final android.view.Choreographer choreographer;
+ property public final androidx.compose.runtime.MonotonicFrameClock frameClock;
+ field public static final androidx.compose.ui.platform.AndroidUiDispatcher.Companion Companion;
+ }
+
+ public static final class AndroidUiDispatcher.Companion {
+ method public kotlin.coroutines.CoroutineContext getCurrentThread();
+ method public kotlin.coroutines.CoroutineContext getMain();
+ property public final kotlin.coroutines.CoroutineContext CurrentThread;
+ property public final kotlin.coroutines.CoroutineContext Main;
+ }
+
+ public final class AndroidUiDispatcher_androidKt {
+ }
+
+ public final class AndroidUiFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
+ ctor public AndroidUiFrameClock(android.view.Choreographer choreographer);
+ method public android.view.Choreographer getChoreographer();
+ method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R> p);
+ property public final android.view.Choreographer choreographer;
+ }
+
+ public final class AndroidUriHandler implements androidx.compose.ui.platform.UriHandler {
+ ctor public AndroidUriHandler(android.content.Context context);
+ method public void openUri(String uri);
+ }
+
+ public final class AndroidViewConfiguration implements androidx.compose.ui.platform.ViewConfiguration {
+ ctor public AndroidViewConfiguration(android.view.ViewConfiguration viewConfiguration);
+ method public long getDoubleTapMinTimeMillis();
+ method public long getDoubleTapTimeoutMillis();
+ method public long getLongPressTimeoutMillis();
+ method public float getTouchSlop();
+ property public long doubleTapMinTimeMillis;
+ property public long doubleTapTimeoutMillis;
+ property public long longPressTimeoutMillis;
+ property public float touchSlop;
+ }
+
+ public interface ClipboardManager {
+ method public androidx.compose.ui.text.AnnotatedString? getText();
+ method public void setText(androidx.compose.ui.text.AnnotatedString annotatedString);
+ }
+
+ public final class ComposeView extends androidx.compose.ui.platform.AbstractComposeView {
+ ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs, optional int defStyleAttr);
+ ctor public ComposeView(android.content.Context context, optional android.util.AttributeSet? attrs);
+ ctor public ComposeView(android.content.Context context);
+ method @androidx.compose.runtime.Composable public void Content();
+ method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ property protected boolean shouldCreateCompositionOnAttachedToWindow;
+ }
+
+ public final class CompositionLocalsKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.AccessibilityManager> getLocalAccessibilityManager();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.ClipboardManager> getLocalClipboardManager();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.unit.Density> getLocalDensity();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.focus.FocusManager> getLocalFocusManager();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.hapticfeedback.HapticFeedback> getLocalHapticFeedback();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.unit.LayoutDirection> getLocalLayoutDirection();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.text.input.TextInputService> getLocalTextInputService();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.TextToolbar> getLocalTextToolbar();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.UriHandler> getLocalUriHandler();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.ViewConfiguration> getLocalViewConfiguration();
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<androidx.compose.ui.platform.WindowInfo> getLocalWindowInfo();
+ }
+
+ public final class DebugUtilsKt {
+ }
+
+ public final class DisposableSaveableStateRegistry_androidKt {
+ }
+
+ public interface InspectableValue {
+ method public default kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> getInspectableElements();
+ method public default String? getNameFallback();
+ method public default Object? getValueOverride();
+ property public default kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> inspectableElements;
+ property public default String? nameFallback;
+ property public default Object? valueOverride;
+ }
+
+ public final class InspectableValueKt {
+ method public static inline kotlin.jvm.functions.Function1<androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> debugInspectorInfo(kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> definitions);
+ method public static kotlin.jvm.functions.Function1<androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> getNoInspectorInfo();
+ method public static boolean isDebugInspectorInfoEnabled();
+ method public static void setDebugInspectorInfoEnabled(boolean p);
+ }
+
+ public final class InspectionModeKt {
+ method public static androidx.compose.runtime.ProvidableCompositionLocal<java.lang.Boolean> getLocalInspectionMode();
+ }
+
+ public final class InspectorInfo {
+ ctor public InspectorInfo();
+ method public String? getName();
+ method public androidx.compose.ui.platform.ValueElementSequence getProperties();
+ method public Object? getValue();
+ method public void setName(String? p);
+ method public void setValue(Object? p);
+ property public final String? name;
+ property public final androidx.compose.ui.platform.ValueElementSequence properties;
+ property public final Object? value;
+ }
+
+ public abstract class InspectorValueInfo implements androidx.compose.ui.platform.InspectableValue {
+ ctor public InspectorValueInfo(kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.InspectorInfo,kotlin.Unit> info);
+ property public kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> inspectableElements;
+ property public String? nameFallback;
+ property public Object? valueOverride;
+ }
+
+ public final class JvmActuals_jvmKt {
+ }
+
+ public final class ShapeContainingUtilKt {
+ }
+
+ public final class TestTagKt {
+ method @androidx.compose.runtime.Stable public static androidx.compose.ui.Modifier testTag(androidx.compose.ui.Modifier, String tag);
+ }
+
+ public interface TextToolbar {
+ method public androidx.compose.ui.platform.TextToolbarStatus getStatus();
+ method public void hide();
+ method public void showMenu(androidx.compose.ui.geometry.Rect rect, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onCopyRequested, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onPasteRequested, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onCutRequested, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onSelectAllRequested);
+ property public abstract androidx.compose.ui.platform.TextToolbarStatus status;
+ }
+
+ public final class TextToolbarKt {
+ }
+
+ public enum TextToolbarStatus {
+ enum_constant public static final androidx.compose.ui.platform.TextToolbarStatus Hidden;
+ enum_constant public static final androidx.compose.ui.platform.TextToolbarStatus Shown;
+ }
+
+ public interface UriHandler {
+ method public void openUri(String uri);
+ }
+
+ public final class ValueElement {
+ ctor public ValueElement(String name, Object? value);
+ method public String component1();
+ method public Object? component2();
+ method public androidx.compose.ui.platform.ValueElement copy(String name, Object? value);
+ method public String getName();
+ method public Object? getValue();
+ property public final String name;
+ property public final Object? value;
+ }
+
+ public final class ValueElementSequence implements kotlin.sequences.Sequence<androidx.compose.ui.platform.ValueElement> {
+ ctor public ValueElementSequence();
+ method public java.util.Iterator<androidx.compose.ui.platform.ValueElement> iterator();
+ method public operator void set(String name, Object? value);
+ }
+
+ public interface ViewCompositionStrategy {
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ field public static final androidx.compose.ui.platform.ViewCompositionStrategy.Companion Companion;
+ }
+
+ public static final class ViewCompositionStrategy.Companion {
+ }
+
+ public static final class ViewCompositionStrategy.DisposeOnDetachedFromWindow implements androidx.compose.ui.platform.ViewCompositionStrategy {
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ field public static final androidx.compose.ui.platform.ViewCompositionStrategy.DisposeOnDetachedFromWindow INSTANCE;
+ }
+
+ public static final class ViewCompositionStrategy.DisposeOnLifecycleDestroyed implements androidx.compose.ui.platform.ViewCompositionStrategy {
+ ctor public ViewCompositionStrategy.DisposeOnLifecycleDestroyed(androidx.lifecycle.Lifecycle lifecycle);
+ ctor public ViewCompositionStrategy.DisposeOnLifecycleDestroyed(androidx.lifecycle.LifecycleOwner lifecycleOwner);
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ }
+
+ public static final class ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed implements androidx.compose.ui.platform.ViewCompositionStrategy {
+ method public kotlin.jvm.functions.Function0<kotlin.Unit> installFor(androidx.compose.ui.platform.AbstractComposeView view);
+ field public static final androidx.compose.ui.platform.ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed INSTANCE;
+ }
+
+ public final class ViewCompositionStrategy_androidKt {
+ }
+
+ public interface ViewConfiguration {
+ method public long getDoubleTapMinTimeMillis();
+ method public long getDoubleTapTimeoutMillis();
+ method public long getLongPressTimeoutMillis();
+ method public float getTouchSlop();
+ property public abstract long doubleTapMinTimeMillis;
+ property public abstract long doubleTapTimeoutMillis;
+ property public abstract long longPressTimeoutMillis;
+ property public abstract float touchSlop;
+ }
+
+ @VisibleForTesting public interface ViewRootForTest extends androidx.compose.ui.node.RootForTest {
+ method public boolean getHasPendingMeasureOrLayout();
+ method public android.view.View getView();
+ method public void invalidateDescendants();
+ method public boolean isLifecycleInResumedState();
+ property public abstract boolean hasPendingMeasureOrLayout;
+ property public abstract boolean isLifecycleInResumedState;
+ property public abstract android.view.View view;
+ field public static final androidx.compose.ui.platform.ViewRootForTest.Companion Companion;
+ }
+
+ public static final class ViewRootForTest.Companion {
+ method public kotlin.jvm.functions.Function1<androidx.compose.ui.platform.ViewRootForTest,kotlin.Unit>? getOnViewCreatedCallback();
+ method public void setOnViewCreatedCallback(kotlin.jvm.functions.Function1<? super androidx.compose.ui.platform.ViewRootForTest,kotlin.Unit>? p);
+ property public final kotlin.jvm.functions.Function1<androidx.compose.ui.platform.ViewRootForTest,kotlin.Unit>? onViewCreatedCallback;
+ }
+
+ @androidx.compose.runtime.Stable public interface WindowInfo {
+ method public boolean isWindowFocused();
+ property public abstract boolean isWindowFocused;
+ }
+
+ public final class WindowInfoKt {
+ }
+
+ public final class WindowRecomposer_androidKt {
+ method public static androidx.compose.runtime.CompositionContext? findViewTreeCompositionContext(android.view.View);
+ method public static androidx.compose.runtime.CompositionContext? getCompositionContext(android.view.View);
+ method public static void setCompositionContext(android.view.View, androidx.compose.runtime.CompositionContext? value);
+ }
+
+ public final class Wrapper_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.platform.accessibility {
+
+ public final class CollectionInfoKt {
+ }
+
+}
+
+package androidx.compose.ui.platform.actionmodecallback {
+
+ public final class TextActionModeCallback_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.res {
+
+ public final class AnimatedVectorResources_androidKt {
+ }
+
+ public final class AnimatorResources_androidKt {
+ }
+
+ public final class ColorResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static long colorResource(@ColorRes int id);
+ }
+
+ public final class FontResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static androidx.compose.ui.text.font.Typeface fontResource(androidx.compose.ui.text.font.FontFamily fontFamily);
+ }
+
+ public final class ImageResources_androidKt {
+ method public static androidx.compose.ui.graphics.ImageBitmap imageResource(androidx.compose.ui.graphics.ImageBitmap.Companion, android.content.res.Resources res, @DrawableRes int id);
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.ImageBitmap imageResource(androidx.compose.ui.graphics.ImageBitmap.Companion, @DrawableRes int id);
+ }
+
+ public final class PainterResources_androidKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.painter.Painter painterResource(@DrawableRes int id);
+ }
+
+ public final class PrimitiveResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static boolean booleanResource(@BoolRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static float dimensionResource(@DimenRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static int[] integerArrayResource(@ArrayRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static int integerResource(@IntegerRes int id);
+ }
+
+ public final class StringResources_androidKt {
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static String![] stringArrayResource(@ArrayRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static String stringResource(@StringRes int id);
+ method @androidx.compose.runtime.Composable @androidx.compose.runtime.ReadOnlyComposable public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
+ }
+
+ public final class VectorResources_androidKt {
+ method @androidx.compose.runtime.Composable public static androidx.compose.ui.graphics.vector.ImageVector vectorResource(androidx.compose.ui.graphics.vector.ImageVector.Companion, @DrawableRes int id);
+ method @kotlin.jvm.Throws(exceptionClasses=XmlPullParserException::class) public static androidx.compose.ui.graphics.vector.ImageVector vectorResource(androidx.compose.ui.graphics.vector.ImageVector.Companion, optional android.content.res.Resources.Theme? theme, android.content.res.Resources res, int resId) throws org.xmlpull.v1.XmlPullParserException;
+ }
+
+}
+
+package androidx.compose.ui.semantics {
+
+ public final class AccessibilityAction<T extends kotlin.Function<? extends java.lang.Boolean>> {
+ ctor public AccessibilityAction(String? label, T? action);
+ method public T? getAction();
+ method public String? getLabel();
+ property public final T? action;
+ property public final String? label;
+ }
+
+ public final class CollectionInfo {
+ ctor public CollectionInfo(int rowCount, int columnCount);
+ method public int getColumnCount();
+ method public int getRowCount();
+ property public final int columnCount;
+ property public final int rowCount;
+ }
+
+ public final class CollectionItemInfo {
+ ctor public CollectionItemInfo(int rowIndex, int rowSpan, int columnIndex, int columnSpan);
+ method public int getColumnIndex();
+ method public int getColumnSpan();
+ method public int getRowIndex();
+ method public int getRowSpan();
+ property public final int columnIndex;
+ property public final int columnSpan;
+ property public final int rowIndex;
+ property public final int rowSpan;
+ }
+
+ public final class CustomAccessibilityAction {
+ ctor public CustomAccessibilityAction(String label, kotlin.jvm.functions.Function0<java.lang.Boolean> action);
+ method public kotlin.jvm.functions.Function0<java.lang.Boolean> getAction();
+ method public String getLabel();
+ property public final kotlin.jvm.functions.Function0<java.lang.Boolean> action;
+ property public final String label;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class LiveRegionMode {
+ ctor public LiveRegionMode();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.semantics.LiveRegionMode.Companion Companion;
+ }
+
+ public static final class LiveRegionMode.Companion {
+ method public int getAssertive-0phEisY();
+ method public int getPolite-0phEisY();
+ property public final int Assertive;
+ property public final int Polite;
+ }
+
+ public final class ProgressBarRangeInfo {
+ ctor public ProgressBarRangeInfo(float current, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range, optional int steps);
+ method public float getCurrent();
+ method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getRange();
+ method public int getSteps();
+ property public final float current;
+ property public final kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> range;
+ property public final int steps;
+ field public static final androidx.compose.ui.semantics.ProgressBarRangeInfo.Companion Companion;
+ }
+
+ public static final class ProgressBarRangeInfo.Companion {
+ method public androidx.compose.ui.semantics.ProgressBarRangeInfo getIndeterminate();
+ property public final androidx.compose.ui.semantics.ProgressBarRangeInfo Indeterminate;
+ }
+
+ @androidx.compose.runtime.Immutable public final inline class Role {
+ ctor public Role();
+ method @androidx.compose.runtime.Immutable public static inline boolean equals-impl(int p, Object? p1);
+ method public static boolean equals-impl0(int p1, int p2);
+ method @androidx.compose.runtime.Immutable public static inline int hashCode-impl(int p);
+ method public static String toString-impl(int $this);
+ field public static final androidx.compose.ui.semantics.Role.Companion Companion;
+ }
+
+ public static final class Role.Companion {
+ method public int getButton-o7Vup1c();
+ method public int getCheckbox-o7Vup1c();
+ method public int getImage-o7Vup1c();
+ method public int getRadioButton-o7Vup1c();
+ method public int getSwitch-o7Vup1c();
+ method public int getTab-o7Vup1c();
+ property public final int Button;
+ property public final int Checkbox;
+ property public final int Image;
+ property public final int RadioButton;
+ property public final int Switch;
+ property public final int Tab;
+ }
+
+ public final class ScrollAxisRange {
+ ctor public ScrollAxisRange(kotlin.jvm.functions.Function0<java.lang.Float> value, kotlin.jvm.functions.Function0<java.lang.Float> maxValue, optional boolean reverseScrolling);
+ method public kotlin.jvm.functions.Function0<java.lang.Float> getMaxValue();
+ method public boolean getReverseScrolling();
+ method public kotlin.jvm.functions.Function0<java.lang.Float> getValue();
+ property public final kotlin.jvm.functions.Function0<java.lang.Float> maxValue;
+ property public final boolean reverseScrolling;
+ property public final kotlin.jvm.functions.Function0<java.lang.Float> value;
+ }
+
+ public final class SemanticsActions {
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getCollapse();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getCopyText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction>> getCustomActions();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getCutText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getDismiss();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getExpand();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> getGetTextLayoutResult();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnClick();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getOnLongClick();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> getPasteText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> getScrollBy();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Integer,java.lang.Boolean>>> getScrollToIndex();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> getSetProgress();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> getSetSelection();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> getSetText();
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> Collapse;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> CopyText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction>> CustomActions;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> CutText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> Dismiss;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> Expand;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>>> GetTextLayoutResult;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnClick;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> OnLongClick;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> PasteText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<java.lang.Float,java.lang.Float,java.lang.Boolean>>> ScrollBy;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Integer,java.lang.Boolean>>> ScrollToIndex;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Boolean>>> SetProgress;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function3<java.lang.Integer,java.lang.Integer,java.lang.Boolean,java.lang.Boolean>>> SetSelection;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function1<androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>>> SetText;
+ field public static final androidx.compose.ui.semantics.SemanticsActions INSTANCE;
+ }
+
+ public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.compose.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.compose.ui.semantics.SemanticsPropertyReceiver {
+ ctor public SemanticsConfiguration();
+ method public operator <T> boolean contains(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ method public androidx.compose.ui.semantics.SemanticsConfiguration copy();
+ method public operator <T> T! get(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ method public <T> T! getOrElse(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+ method public <T> T? getOrElseNullable(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+ method public boolean isClearingSemantics();
+ method public boolean isMergingSemanticsOfDescendants();
+ method public java.util.Iterator<java.util.Map.Entry<androidx.compose.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+ method public <T> void set(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+ method public void setClearingSemantics(boolean p);
+ method public void setMergingSemanticsOfDescendants(boolean p);
+ property public final boolean isClearingSemantics;
+ property public final boolean isMergingSemanticsOfDescendants;
+ }
+
+ public final class SemanticsConfigurationKt {
+ method public static <T> T? getOrNull(androidx.compose.ui.semantics.SemanticsConfiguration, androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
+ }
+
+ public interface SemanticsModifier extends androidx.compose.ui.Modifier.Element {
+ method public int getId();
+ method public androidx.compose.ui.semantics.SemanticsConfiguration getSemanticsConfiguration();
+ property public abstract int id;
+ property public abstract androidx.compose.ui.semantics.SemanticsConfiguration semanticsConfiguration;
+ }
+
+ public final class SemanticsModifierKt {
+ method public static androidx.compose.ui.Modifier clearAndSetSemantics(androidx.compose.ui.Modifier, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit> properties);
+ method public static androidx.compose.ui.Modifier semantics(androidx.compose.ui.Modifier, optional boolean mergeDescendants, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit> properties);
+ }
+
+ public final class SemanticsNode {
+ method public int getAlignmentLinePosition(androidx.compose.ui.layout.AlignmentLine alignmentLine);
+ method public androidx.compose.ui.geometry.Rect getBoundsInRoot();
+ method public androidx.compose.ui.geometry.Rect getBoundsInWindow();
+ method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getChildren();
+ method public androidx.compose.ui.semantics.SemanticsConfiguration getConfig();
+ method public int getId();
+ method public androidx.compose.ui.layout.LayoutInfo getLayoutInfo();
+ method public boolean getMergingEnabled();
+ method public androidx.compose.ui.semantics.SemanticsNode? getParent();
+ method public long getPositionInRoot-F1C5BW0();
+ method public long getPositionInWindow-F1C5BW0();
+ method public androidx.compose.ui.node.RootForTest? getRoot();
+ method public long getSize-YbymL2g();
+ method public boolean isRoot();
+ property public final androidx.compose.ui.geometry.Rect boundsInRoot;
+ property public final androidx.compose.ui.geometry.Rect boundsInWindow;
+ property public final java.util.List<androidx.compose.ui.semantics.SemanticsNode> children;
+ property public final androidx.compose.ui.semantics.SemanticsConfiguration config;
+ property public final int id;
+ property public final boolean isRoot;
+ property public final androidx.compose.ui.layout.LayoutInfo layoutInfo;
+ property public final boolean mergingEnabled;
+ property public final androidx.compose.ui.semantics.SemanticsNode? parent;
+ property public final long positionInRoot;
+ property public final long positionInWindow;
+ property public final androidx.compose.ui.node.RootForTest? root;
+ property public final long size;
+ }
+
+ public final class SemanticsNodeKt {
+ }
+
+ public final class SemanticsOwner {
+ method public androidx.compose.ui.semantics.SemanticsNode getRootSemanticsNode();
+ method public androidx.compose.ui.semantics.SemanticsNode getUnmergedRootSemanticsNode();
+ property public final androidx.compose.ui.semantics.SemanticsNode rootSemanticsNode;
+ property public final androidx.compose.ui.semantics.SemanticsNode unmergedRootSemanticsNode;
+ }
+
+ public final class SemanticsOwnerKt {
+ method public static java.util.List<androidx.compose.ui.semantics.SemanticsNode> getAllSemanticsNodes(androidx.compose.ui.semantics.SemanticsOwner, boolean mergingEnabled);
+ }
+
+ public final class SemanticsProperties {
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionInfo> getCollectionInfo();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionItemInfo> getCollectionItemInfo();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<java.lang.String>> getContentDescription();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getDisabled();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> getEditableText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getError();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getFocused();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getHeading();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> getHorizontalScrollAxisRange();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> getImeAction();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> getIndexForKey();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getInvisibleToUser();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsDialog();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getIsPopup();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> getLiveRegion();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getPaneTitle();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getPassword();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ProgressBarRangeInfo> getProgressBarRangeInfo();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.Role> getRole();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> getSelectableGroup();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getSelected();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getStateDescription();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.text.AnnotatedString>> getText();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> getTextSelectionRange();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.state.ToggleableState> getToggleableState();
+ method public androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> getVerticalScrollAxisRange();
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionInfo> CollectionInfo;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.CollectionItemInfo> CollectionItemInfo;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<java.lang.String>> ContentDescription;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Disabled;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.AnnotatedString> EditableText;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> Error;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Focused;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Heading;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> HorizontalScrollAxisRange;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.input.ImeAction> ImeAction;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer>> IndexForKey;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> InvisibleToUser;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsDialog;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> IsPopup;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.LiveRegionMode> LiveRegion;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> PaneTitle;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> Password;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ProgressBarRangeInfo> ProgressBarRangeInfo;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.Role> Role;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<kotlin.Unit> SelectableGroup;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Selected;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> StateDescription;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.compose.ui.text.AnnotatedString>> Text;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.text.TextRange> TextSelectionRange;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.state.ToggleableState> ToggleableState;
+ property public final androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.ScrollAxisRange> VerticalScrollAxisRange;
+ field public static final androidx.compose.ui.semantics.SemanticsProperties INSTANCE;
+ }
+
+ public final class SemanticsPropertiesKt {
+ method public static void collapse(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void copyText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void cutText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void dialog(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void disabled(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void dismiss(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void error(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String description);
+ method public static void expand(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static androidx.compose.ui.semantics.CollectionInfo getCollectionInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.CollectionItemInfo getCollectionItemInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getContentDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.text.AnnotatedString getEditableText(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static boolean getFocused(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.ScrollAxisRange getHorizontalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static int getImeAction(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static int getLiveRegion(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getPaneTitle(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.ProgressBarRangeInfo getProgressBarRangeInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static int getRole(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static boolean getSelected(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getStateDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static String getTestTag(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.text.AnnotatedString getText(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void getTextLayoutResult(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super java.util.List<androidx.compose.ui.text.TextLayoutResult>,java.lang.Boolean>? action);
+ method public static long getTextSelectionRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.state.ToggleableState getToggleableState(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static androidx.compose.ui.semantics.ScrollAxisRange getVerticalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void heading(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void indexForKey(androidx.compose.ui.semantics.SemanticsPropertyReceiver, kotlin.jvm.functions.Function1<java.lang.Object,java.lang.Integer> mapping);
+ method public static void onClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void onLongClick(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void password(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void pasteText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function0<java.lang.Boolean>? action);
+ method public static void popup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void scrollBy(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function2<? super java.lang.Float,? super java.lang.Float,java.lang.Boolean>? action);
+ method public static void scrollToIndex(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Boolean> action);
+ method public static void selectableGroup(androidx.compose.ui.semantics.SemanticsPropertyReceiver);
+ method public static void setCollectionInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionInfo p);
+ method public static void setCollectionItemInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.CollectionItemInfo p);
+ method public static void setContentDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String value);
+ method public static void setCustomActions(androidx.compose.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.compose.ui.semantics.CustomAccessibilityAction> p);
+ method public static void setEditableText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString p);
+ method public static void setFocused(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean p);
+ method public static void setHorizontalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ScrollAxisRange p);
+ method public static void setImeAction-R3uo_t0(androidx.compose.ui.semantics.SemanticsPropertyReceiver, int p);
+ method public static void setLiveRegion-QmIH8pA(androidx.compose.ui.semantics.SemanticsPropertyReceiver, int p);
+ method public static void setPaneTitle(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String p);
+ method public static void setProgress(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Boolean>? action);
+ method public static void setProgressBarRangeInfo(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ProgressBarRangeInfo p);
+ method public static void setRole-nYGtkIw(androidx.compose.ui.semantics.SemanticsPropertyReceiver, int p);
+ method public static void setSelected(androidx.compose.ui.semantics.SemanticsPropertyReceiver, boolean p);
+ method public static void setSelection(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function3<? super java.lang.Integer,? super java.lang.Integer,? super java.lang.Boolean,java.lang.Boolean>? action);
+ method public static void setStateDescription(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String p);
+ method public static void setTestTag(androidx.compose.ui.semantics.SemanticsPropertyReceiver, String p);
+ method public static void setText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.text.AnnotatedString value);
+ method public static void setText(androidx.compose.ui.semantics.SemanticsPropertyReceiver, optional String? label, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.AnnotatedString,java.lang.Boolean>? action);
+ method public static void setTextSelectionRange-Hy0MoUY(androidx.compose.ui.semantics.SemanticsPropertyReceiver, long p);
+ method public static void setToggleableState(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.state.ToggleableState p);
+ method public static void setVerticalScrollAxisRange(androidx.compose.ui.semantics.SemanticsPropertyReceiver, androidx.compose.ui.semantics.ScrollAxisRange p);
+ }
+
+ public final class SemanticsPropertyKey<T> {
+ ctor public SemanticsPropertyKey(String name, optional kotlin.jvm.functions.Function2<? super T,? super T,? extends T> mergePolicy);
+ method public String getName();
+ method public operator T! getValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
+ method public T? merge(T? parentValue, T? childValue);
+ method public operator void setValue(androidx.compose.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property, T? value);
+ property public final String name;
+ }
+
+ public interface SemanticsPropertyReceiver {
+ method public operator <T> void set(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+ }
+
+ public final class SemanticsSortKt {
+ }
+
+}
+
+package androidx.compose.ui.state {
+
+ public enum ToggleableState {
+ enum_constant public static final androidx.compose.ui.state.ToggleableState Indeterminate;
+ enum_constant public static final androidx.compose.ui.state.ToggleableState Off;
+ enum_constant public static final androidx.compose.ui.state.ToggleableState On;
+ }
+
+ public final class ToggleableStateKt {
+ method public static androidx.compose.ui.state.ToggleableState ToggleableState(boolean value);
+ }
+
+}
+
+package androidx.compose.ui.text.input {
+
+ public final class InputState_androidKt {
+ }
+
+ public final class RecordingInputConnection_androidKt {
+ }
+
+ public final class TextInputServiceAndroid_androidKt {
+ }
+
+}
+
+package androidx.compose.ui.viewinterop {
+
+ public final class AndroidViewHolder_androidKt {
+ }
+
+ public final class AndroidView_androidKt {
+ method @androidx.compose.runtime.Composable public static <T extends android.view.View> void AndroidView(kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> factory, optional androidx.compose.ui.Modifier modifier, optional kotlin.jvm.functions.Function1<? super T,kotlin.Unit> update);
+ method public static kotlin.jvm.functions.Function1<android.view.View,kotlin.Unit> getNoOpUpdate();
+ }
+
+}
+
+package androidx.compose.ui.window {
+
+ public final class AndroidDialog_androidKt {
+ method @androidx.compose.runtime.Composable public static void Dialog(kotlin.jvm.functions.Function0<kotlin.Unit> onDismissRequest, optional androidx.compose.ui.window.DialogProperties properties, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ }
+
+ public final class AndroidPopup_androidKt {
+ method @androidx.compose.runtime.Composable public static void Popup(androidx.compose.ui.window.PopupPositionProvider popupPositionProvider, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest, optional androidx.compose.ui.window.PopupProperties properties, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @androidx.compose.runtime.Composable public static void Popup-wO4EaeM(optional androidx.compose.ui.Alignment alignment, optional long offset, optional kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest, optional androidx.compose.ui.window.PopupProperties properties, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+ method @org.jetbrains.annotations.TestOnly public static boolean isPopupLayout(android.view.View view, optional String? testTag);
+ }
+
+ @androidx.compose.runtime.Immutable public final class DialogProperties {
+ ctor public DialogProperties(optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy);
+ method public boolean getDismissOnBackPress();
+ method public boolean getDismissOnClickOutside();
+ method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
+ property public final boolean dismissOnBackPress;
+ property public final boolean dismissOnClickOutside;
+ property public final androidx.compose.ui.window.SecureFlagPolicy securePolicy;
+ }
+
+ public interface DialogWindowProvider {
+ method public android.view.Window getWindow();
+ property public abstract android.view.Window window;
+ }
+
+ @androidx.compose.runtime.Immutable public interface PopupPositionProvider {
+ method public long calculatePosition-aa5Bd6I(androidx.compose.ui.unit.IntRect anchorBounds, long windowSize, androidx.compose.ui.unit.LayoutDirection layoutDirection, long popupContentSize);
+ }
+
+ @androidx.compose.runtime.Immutable public final class PopupProperties {
+ ctor public PopupProperties(optional boolean focusable, optional boolean dismissOnBackPress, optional boolean dismissOnClickOutside, optional androidx.compose.ui.window.SecureFlagPolicy securePolicy, optional boolean excludeFromSystemGesture, optional boolean clippingEnabled);
+ method public boolean getClippingEnabled();
+ method public boolean getDismissOnBackPress();
+ method public boolean getDismissOnClickOutside();
+ method public boolean getExcludeFromSystemGesture();
+ method public boolean getFocusable();
+ method public androidx.compose.ui.window.SecureFlagPolicy getSecurePolicy();
+ property public final boolean clippingEnabled;
+ property public final boolean dismissOnBackPress;
+ property public final boolean dismissOnClickOutside;
+ property public final boolean excludeFromSystemGesture;
+ property public final boolean focusable;
+ property public final androidx.compose.ui.window.SecureFlagPolicy securePolicy;
+ }
+
+ public enum SecureFlagPolicy {
+ enum_constant public static final androidx.compose.ui.window.SecureFlagPolicy Inherit;
+ enum_constant public static final androidx.compose.ui.window.SecureFlagPolicy SecureOff;
+ enum_constant public static final androidx.compose.ui.window.SecureFlagPolicy SecureOn;
+ }
+
+ public final class SecureFlagPolicy_androidKt {
+ }
+
+}
+
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidAccessibilityTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidAccessibilityTest.kt
index d134ee9..cdf94ae 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidAccessibilityTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidAccessibilityTest.kt
@@ -38,6 +38,7 @@
import android.widget.LinearLayout
import android.widget.TextView
import androidx.compose.foundation.ExperimentalFoundationApi
+import androidx.compose.foundation.ScrollState
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
@@ -47,11 +48,15 @@
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.lazy.LazyColumn
+import androidx.compose.foundation.lazy.LazyRow
+import androidx.compose.foundation.lazy.LazyListState
import androidx.compose.foundation.progressSemantics
import androidx.compose.foundation.selection.selectable
import androidx.compose.foundation.selection.toggleable
import androidx.compose.foundation.text.BasicText
import androidx.compose.foundation.text.BasicTextField
+import androidx.compose.foundation.verticalScroll
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -104,6 +109,7 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import androidx.test.platform.app.InstrumentationRegistry
+import com.google.common.truth.Truth.assertThat
import com.nhaarman.mockitokotlin2.argThat
import com.nhaarman.mockitokotlin2.atLeastOnce
import com.nhaarman.mockitokotlin2.doReturn
@@ -495,6 +501,147 @@
}
@Test
+ fun testPerformAction_showOnScreen() {
+ val scrollState = ScrollState(initial = 0)
+ val target1Tag = "target1"
+ val target2Tag = "target2"
+ container.setContent {
+ Box {
+ Column(
+ Modifier
+ .size(200.dp)
+ .verticalScroll(scrollState)
+ ) {
+ BasicText("Backward", Modifier.testTag(target2Tag).size(150.dp))
+ BasicText("Forward", Modifier.testTag(target1Tag).size(150.dp))
+ }
+ }
+ }
+
+ waitForSubtreeEventToSend()
+ assertThat(scrollState.value).isEqualTo(0)
+
+ val showOnScreen = android.R.id.accessibilityActionShowOnScreen
+ val targetNode1 = rule.onNodeWithTag(target1Tag)
+ .fetchSemanticsNode("couldn't find node with tag $target1Tag")
+ rule.runOnUiThread {
+ assertTrue(provider.performAction(targetNode1.id, showOnScreen, null))
+ }
+ with(rule.density) {
+ assertThat(scrollState.value).isGreaterThan(99.dp.toPx().toInt())
+ }
+
+ val targetNode2 = rule.onNodeWithTag(target2Tag)
+ .fetchSemanticsNode("couldn't find node with tag $target2Tag")
+ rule.runOnUiThread {
+ assertTrue(provider.performAction(targetNode2.id, showOnScreen, null))
+ }
+ assertThat(scrollState.value).isEqualTo(0)
+ }
+
+ @Test
+ fun testPerformAction_showOnScreen_lazy() {
+ val lazyState = LazyListState()
+ val target1Tag = "target1"
+ val target2Tag = "target2"
+ container.setContent {
+ Box {
+ LazyColumn(
+ modifier = Modifier.size(200.dp),
+ state = lazyState
+ ) {
+ item {
+ BasicText("Backward", Modifier.testTag(target2Tag).size(150.dp))
+ }
+ item {
+ BasicText("Forward", Modifier.testTag(target1Tag).size(150.dp))
+ }
+ }
+ }
+ }
+
+ waitForSubtreeEventToSend()
+ assertThat(lazyState.firstVisibleItemScrollOffset).isEqualTo(0)
+
+ val showOnScreen = android.R.id.accessibilityActionShowOnScreen
+ val targetNode1 = rule.onNodeWithTag(target1Tag)
+ .fetchSemanticsNode("couldn't find node with tag $target1Tag")
+ rule.runOnUiThread {
+ assertTrue(provider.performAction(targetNode1.id, showOnScreen, null))
+ }
+ with(rule.density) {
+ assertThat(lazyState.firstVisibleItemIndex).isEqualTo(0)
+ assertThat(lazyState.firstVisibleItemScrollOffset).isGreaterThan(99.dp.toPx().toInt())
+ }
+
+ val targetNode2 = rule.onNodeWithTag(target2Tag)
+ .fetchSemanticsNode("couldn't find node with tag $target2Tag")
+ rule.runOnUiThread {
+ assertTrue(provider.performAction(targetNode2.id, showOnScreen, null))
+ }
+ assertThat(lazyState.firstVisibleItemIndex).isEqualTo(0)
+ assertThat(lazyState.firstVisibleItemScrollOffset).isEqualTo(0)
+ }
+
+ @Test
+ fun testPerformAction_showOnScreen_lazynested() {
+ val parentLazyState = LazyListState()
+ val lazyState = LazyListState()
+ val target1Tag = "target1"
+ val target2Tag = "target2"
+ container.setContent {
+ Box {
+ LazyRow(
+ modifier = Modifier.size(250.dp),
+ state = parentLazyState
+ ) {
+ item {
+ LazyColumn(
+ modifier = Modifier.size(200.dp),
+ state = lazyState
+ ) {
+ item {
+ BasicText("Backward", Modifier.testTag(target2Tag).size(150.dp))
+ }
+ item {
+ BasicText("Forward", Modifier.testTag(target1Tag).size(150.dp))
+ }
+ }
+ }
+ }
+ }
+ }
+
+ waitForSubtreeEventToSend()
+ assertThat(lazyState.firstVisibleItemIndex).isEqualTo(0)
+ assertThat(lazyState.firstVisibleItemScrollOffset).isEqualTo(0)
+
+ // Test that child column scrolls to make it fully visible in its context, without being
+ // influenced by or influencing the parent row.
+ // TODO(b/190865803): Is this the ultimate right behavior we want?
+ val showOnScreen = android.R.id.accessibilityActionShowOnScreen
+ val targetNode1 = rule.onNodeWithTag(target1Tag)
+ .fetchSemanticsNode("couldn't find node with tag $target1Tag")
+ rule.runOnUiThread {
+ assertTrue(provider.performAction(targetNode1.id, showOnScreen, null))
+ }
+ with(rule.density) {
+ assertThat(lazyState.firstVisibleItemIndex).isEqualTo(0)
+ assertThat(lazyState.firstVisibleItemScrollOffset).isGreaterThan(99.dp.toPx().toInt())
+ }
+ assertThat(parentLazyState.firstVisibleItemScrollOffset).isEqualTo(0)
+
+ val targetNode2 = rule.onNodeWithTag(target2Tag)
+ .fetchSemanticsNode("couldn't find node with tag $target2Tag")
+ rule.runOnUiThread {
+ assertTrue(provider.performAction(targetNode2.id, showOnScreen, null))
+ }
+ assertThat(lazyState.firstVisibleItemIndex).isEqualTo(0)
+ assertThat(lazyState.firstVisibleItemScrollOffset).isEqualTo(0)
+ assertThat(parentLazyState.firstVisibleItemScrollOffset).isEqualTo(0)
+ }
+
+ @Test
fun testPerformAction_succeedOnEnabledNodes() {
val tag = "Toggleable"
container.setContent {
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt
index fea1c50..6663e6c 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/AndroidComposeViewAccessibilityDelegateCompatTest.kt
@@ -25,9 +25,11 @@
import android.widget.FrameLayout
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.size
+import androidx.compose.runtime.snapshots.Snapshot
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
+import androidx.compose.runtime.structuralEqualityPolicy
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.geometry.Rect
import androidx.compose.ui.node.InnerPlaceable
@@ -597,55 +599,46 @@
}
@Test
- fun notSendScrollEvent_whenOnlyScrollAxisRangeMaxValueChanges() {
- val oldSemanticsNode = createSemanticsNodeWithProperties(1, true) {
- this.verticalScrollAxisRange = ScrollAxisRange({ 0f }, { 0f }, false)
+ fun sendScrollEvent_byStateObservation() {
+ var scrollValue by mutableStateOf(0f, structuralEqualityPolicy())
+ var scrollMaxValue by mutableStateOf(100f, structuralEqualityPolicy())
+
+ val semanticsNode = createSemanticsNodeWithProperties(1, false) {
+ verticalScrollAxisRange = ScrollAxisRange({ scrollValue }, { scrollMaxValue })
}
+
accessibilityDelegate.previousSemanticsNodes[1] =
AndroidComposeViewAccessibilityDelegateCompat.SemanticsNodeCopy(
- oldSemanticsNode,
+ semanticsNode,
mapOf()
)
val newNodes = mutableMapOf<Int, SemanticsNodeWithAdjustedBounds>()
- newNodes[1] = createSemanticsNodeWithAdjustedBoundsWithProperties(1, true) {
- this.verticalScrollAxisRange = ScrollAxisRange({ 0f }, { 5f }, false)
- }
- accessibilityDelegate.sendSemanticsPropertyChangeEvents(newNodes)
-
- verify(container, never()).requestSendAccessibilityEvent(
- eq(androidComposeView),
- argThat(
- ArgumentMatcher {
- it.eventType == AccessibilityEvent.TYPE_VIEW_SCROLLED
- }
- )
+ newNodes[1] = SemanticsNodeWithAdjustedBounds(
+ semanticsNode,
+ android.graphics.Rect()
)
- }
- @Test
- fun sendScrollEvent_whenScrollAxisRangeValueChanges() {
- val oldSemanticsNode = createSemanticsNodeWithProperties(2, false) {
- this.verticalScrollAxisRange = ScrollAxisRange({ 0f }, { 5f }, false)
+ try {
+ accessibilityDelegate.view.snapshotObserver.startObserving()
+
+ accessibilityDelegate.sendSemanticsPropertyChangeEvents(newNodes)
+
+ Snapshot.notifyObjectsInitialized()
+ scrollValue = 1f
+ Snapshot.sendApplyNotifications()
+ } finally {
+ accessibilityDelegate.view.snapshotObserver.stopObserving()
}
- accessibilityDelegate.previousSemanticsNodes[2] =
- AndroidComposeViewAccessibilityDelegateCompat.SemanticsNodeCopy(
- oldSemanticsNode,
- mapOf()
- )
- val newNodes = mutableMapOf<Int, SemanticsNodeWithAdjustedBounds>()
- newNodes[2] = createSemanticsNodeWithAdjustedBoundsWithProperties(2, false) {
- this.verticalScrollAxisRange = ScrollAxisRange({ 2f }, { 5f }, false)
- }
- accessibilityDelegate.sendSemanticsPropertyChangeEvents(newNodes)
verify(container, times(1)).requestSendAccessibilityEvent(
eq(androidComposeView),
argThat(
ArgumentMatcher {
- it.eventType == AccessibilityEvent.TYPE_VIEW_SCROLLED && it.scrollY == 2 &&
- it.maxScrollY == 5 &&
+ it.eventType == AccessibilityEvent.TYPE_VIEW_SCROLLED &&
+ it.scrollY == 1 &&
+ it.maxScrollY == 100 &&
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- it.scrollDeltaY == 2
+ it.scrollDeltaY == 1
} else {
true
}
diff --git a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PositionInWindowTest.kt b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PositionInWindowTest.kt
index bbdc761..85d8eca 100644
--- a/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PositionInWindowTest.kt
+++ b/compose/ui/ui/src/androidAndroidTest/kotlin/androidx/compose/ui/window/PositionInWindowTest.kt
@@ -30,6 +30,7 @@
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
+import androidx.compose.ui.findAndroidComposeView
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.input.pointer.consumeAllChanges
@@ -37,6 +38,7 @@
import androidx.compose.ui.layout.LayoutCoordinates
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.layout.positionInWindow
+import androidx.compose.ui.platform.AndroidComposeView
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.testTag
@@ -202,7 +204,12 @@
}
rule.runOnIdle {
- activity.window.decorView.offsetTopAndBottom(10)
+ val decorView = activity.window.decorView as ViewGroup
+ val androidComposeView = findAndroidComposeView(decorView) as AndroidComposeView
+ // Reset this just in case something else has forced a redraw this frame.
+ // This should fix test flakes.
+ androidComposeView.lastMatrixRecalculationAnimationTime = -1
+ decorView.offsetTopAndBottom(10)
val newPosition = coordinates!!.positionInWindow()
assertThat(newPosition.y).isEqualTo(position.y + 10)
}
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
index bb4ce6c..2691ffe 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeView.android.kt
@@ -36,6 +36,7 @@
import androidx.annotation.DoNotInline
import androidx.annotation.RequiresApi
import androidx.annotation.RestrictTo
+import androidx.annotation.VisibleForTesting
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
@@ -275,7 +276,8 @@
private val viewToWindowMatrix = Matrix()
private val windowToViewMatrix = Matrix()
private val tmpCalculationMatrix = Matrix()
- private var lastMatrixRecalculationAnimationTime = -1L
+ @VisibleForTesting
+ internal var lastMatrixRecalculationAnimationTime = -1L
/**
* On some devices, the `getLocationOnScreen()` returns `(0, 0)` even when the Window
diff --git a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt
index b441e23..fe177ce 100644
--- a/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt
+++ b/compose/ui/ui/src/androidMain/kotlin/androidx/compose/ui/platform/AndroidComposeViewAccessibilityDelegateCompat.android.kt
@@ -45,8 +45,10 @@
import androidx.compose.ui.graphics.toAndroidRect
import androidx.compose.ui.layout.boundsInParent
import androidx.compose.ui.node.LayoutNode
+import androidx.compose.ui.node.OwnerScope
import androidx.compose.ui.semantics.CustomAccessibilityAction
import androidx.compose.ui.semantics.Role
+import androidx.compose.ui.semantics.ScrollAxisRange
import androidx.compose.ui.semantics.SemanticsActions
import androidx.compose.ui.semantics.SemanticsActions.CustomActions
import androidx.compose.ui.semantics.SemanticsNode
@@ -1198,6 +1200,33 @@
AccessibilityNodeInfoCompat.ACTION_DISMISS -> {
return node.config.getOrNull(SemanticsActions.Dismiss)?.action?.invoke() ?: false
}
+ android.R.id.accessibilityActionShowOnScreen -> {
+ // TODO(b/190865803): Consider scrolling nested containers instead of only the first one.
+ var scrollableAncestor: SemanticsNode? = node.parent
+ var scrollAction = scrollableAncestor?.config?.getOrNull(SemanticsActions.ScrollBy)
+ while (scrollableAncestor != null) {
+ if (scrollAction != null) {
+ break
+ }
+ scrollableAncestor = scrollableAncestor.parent
+ scrollAction = scrollableAncestor?.config?.getOrNull(SemanticsActions.ScrollBy)
+ }
+ if (scrollableAncestor == null) {
+ return false
+ }
+
+ // TalkBack expects the minimum amount of movement to fully reveal the node.
+ var xDelta = node.size.width - node.boundsInWindow.width
+ if (node.boundsInWindow.left == scrollableAncestor.positionInWindow.x) {
+ xDelta = -xDelta
+ }
+ var yDelta = node.size.height - node.boundsInWindow.height
+ if (node.boundsInWindow.top == scrollableAncestor.positionInWindow.y) {
+ yDelta = -yDelta
+ }
+
+ return scrollAction?.action?.invoke(xDelta, yDelta) ?: false
+ }
// TODO: handling for other system actions
else -> {
val label = actionIdToLabel[virtualViewId]?.get(action) ?: return false
@@ -1601,14 +1630,23 @@
internal fun sendSemanticsPropertyChangeEvents(
newSemanticsNodes: Map<Int, SemanticsNodeWithAdjustedBounds>
) {
+ val oldScrollObservationScopes = ArrayList(scrollObservationScopes)
+ scrollObservationScopes.clear()
for (id in newSemanticsNodes.keys) {
// We do doing this search because the new configuration is set as a whole, so we
// can't indicate which property is changed when setting the new configuration.
val oldNode = previousSemanticsNodes[id] ?: continue
val newNode = newSemanticsNodes[id]?.semanticsNode
var propertyChanged = false
+
for (entry in newNode!!.config) {
- if (entry.value == oldNode.config.getOrNull(entry.key)) {
+ var newlyObservingScroll = false
+ if (entry.key == SemanticsProperties.HorizontalScrollAxisRange ||
+ entry.key == SemanticsProperties.VerticalScrollAxisRange
+ ) {
+ newlyObservingScroll = registerScrollingId(id, oldScrollObservationScopes)
+ }
+ if (!newlyObservingScroll && entry.value == oldNode.config.getOrNull(entry.key)) {
continue
}
@Suppress("UNCHECKED_CAST")
@@ -1707,47 +1745,16 @@
SemanticsProperties.HorizontalScrollAxisRange,
SemanticsProperties.VerticalScrollAxisRange -> {
// TODO(yingleiw): Add throttling for scroll/state events.
- val newXState = newNode.config.getOrNull(
- SemanticsProperties.HorizontalScrollAxisRange
- )
- val oldXState = oldNode.config.getOrNull(
- SemanticsProperties.HorizontalScrollAxisRange
- )
- val newYState = newNode.config.getOrNull(
- SemanticsProperties.VerticalScrollAxisRange
- )
- val oldYState = oldNode.config.getOrNull(
- SemanticsProperties.VerticalScrollAxisRange
- )
notifySubtreeAccessibilityStateChangedIfNeeded(newNode.layoutNode)
- val deltaX = if (newXState != null && oldXState != null) {
- newXState.value() - oldXState.value()
- } else {
- 0f
- }
- val deltaY = if (newYState != null && oldYState != null) {
- newYState.value() - oldYState.value()
- } else {
- 0f
- }
- if (deltaX != 0f || deltaY != 0f) {
- val event = createEvent(
- semanticsNodeIdToAccessibilityVirtualNodeId(id),
- AccessibilityEvent.TYPE_VIEW_SCROLLED
- )
- if (newXState != null) {
- event.scrollX = newXState.value().toInt()
- event.maxScrollX = newXState.maxValue().toInt()
- }
- if (newYState != null) {
- event.scrollY = newYState.value().toInt()
- event.maxScrollY = newYState.maxValue().toInt()
- }
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- Api28Impl.setScrollEventDelta(event, deltaX.toInt(), deltaY.toInt())
- }
- sendEvent(event)
- }
+
+ val scope = scrollObservationScopes.findById(id)!!
+ scope.horizontalScrollAxisRange = newNode.config.getOrNull(
+ SemanticsProperties.HorizontalScrollAxisRange
+ )
+ scope.verticalScrollAxisRange = newNode.config.getOrNull(
+ SemanticsProperties.VerticalScrollAxisRange
+ )
+ sendScrollEventIfNeeded(scope)
}
SemanticsProperties.Focused -> {
if (entry.value as Boolean) {
@@ -1814,6 +1821,93 @@
}
}
+ // List of visible scrollable nodes (which are observing scroll state snapshot writes).
+ private val scrollObservationScopes = mutableListOf<ScrollObservationScope>()
+
+ /*
+ * Lambda to store in scrolling snapshot observer, which must never be recreated because
+ * the snapshot system makes use of lambda reference comparisons.
+ * (Note that recent versions of the Kotlin compiler do maintain a persistent
+ * object for most lambda expressions, so this is just for the purpose of explicitness.)
+ */
+ private val sendScrollEventIfNeededLambda: (ScrollObservationScope) -> Unit = {
+ this.sendScrollEventIfNeeded(it)
+ }
+
+ private fun registerScrollingId(
+ id: Int,
+ oldScrollObservationScopes: List<ScrollObservationScope>
+ ): Boolean {
+ var newlyObservingScroll = false
+ val oldScope = oldScrollObservationScopes.findById(id)
+ val newScope = if (oldScope != null) {
+ oldScope
+ } else {
+ newlyObservingScroll = true
+ ScrollObservationScope(
+ semanticsNodeId = id,
+ allScopes = scrollObservationScopes,
+ oldXValue = null,
+ oldYValue = null,
+ horizontalScrollAxisRange = null,
+ verticalScrollAxisRange = null
+ )
+ }
+ scrollObservationScopes.add(newScope)
+ return newlyObservingScroll
+ }
+
+ private fun sendScrollEventIfNeeded(scrollObservationScope: ScrollObservationScope) {
+ if (!scrollObservationScope.isValid) {
+ return
+ }
+ view.snapshotObserver.observeReads(scrollObservationScope, sendScrollEventIfNeededLambda) {
+ val newXState = scrollObservationScope.horizontalScrollAxisRange
+ val newYState = scrollObservationScope.verticalScrollAxisRange
+ val oldXValue = scrollObservationScope.oldXValue
+ val oldYValue = scrollObservationScope.oldYValue
+
+ val deltaX = if (newXState != null && oldXValue != null) {
+ newXState.value() - oldXValue
+ } else {
+ 0f
+ }
+ val deltaY = if (newYState != null && oldYValue != null) {
+ newYState.value() - oldYValue
+ } else {
+ 0f
+ }
+
+ if (deltaX != 0f || deltaY != 0f) {
+ val event = createEvent(
+ semanticsNodeIdToAccessibilityVirtualNodeId(
+ scrollObservationScope.semanticsNodeId
+ ),
+ AccessibilityEvent.TYPE_VIEW_SCROLLED
+ )
+ if (newXState != null) {
+ event.scrollX = newXState.value().toInt()
+ event.maxScrollX = newXState.maxValue().toInt()
+ }
+ if (newYState != null) {
+ event.scrollY = newYState.value().toInt()
+ event.maxScrollY = newYState.maxValue().toInt()
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
+ Api28Impl.setScrollEventDelta(event, deltaX.toInt(), deltaY.toInt())
+ }
+ sendEvent(event)
+ }
+
+ if (newXState != null) {
+ scrollObservationScope.oldXValue = newXState.value()
+ }
+ if (newYState != null) {
+ scrollObservationScope.oldYValue = newYState.value()
+ }
+ }
+ }
+
private fun sendPaneChangeEvents(
semanticsNodeId: Int,
contentChangeType: Int,
@@ -2341,4 +2435,27 @@
fun setAvailableExtraData(node: AccessibilityNodeInfo, data: List<String>) {
node.availableExtraData = data
}
+}
+
+// These objects are used as snapshot observation scopes for the purpose of sending accessibility
+// scroll events whenever the scroll offset changes. There is one per scroller and their lifecycle
+// is the same as the scroller's lifecycle in the semantics tree.
+internal class ScrollObservationScope(
+ val semanticsNodeId: Int,
+ val allScopes: List<ScrollObservationScope>,
+ var oldXValue: Float?,
+ var oldYValue: Float?,
+ var horizontalScrollAxisRange: ScrollAxisRange?,
+ var verticalScrollAxisRange: ScrollAxisRange?
+) : OwnerScope {
+ override val isValid get() = allScopes.contains(this)
+}
+
+internal fun List<ScrollObservationScope>.findById(id: Int): ScrollObservationScope? {
+ for (index in indices) {
+ if (this[index].semanticsNodeId == id) {
+ return this[index]
+ }
+ }
+ return null
}
\ No newline at end of file
diff --git a/compose/ui/ui/src/androidMain/res/values-af/strings.xml b/compose/ui/ui/src/androidMain/res/values-af/strings.xml
new file mode 100644
index 0000000..0a70b81
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-af/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nie gemerk of ontmerk nie"</string>
+ <string name="on" msgid="8655164131929253426">"Aan"</string>
+ <string name="off" msgid="875452955155264703">"Af"</string>
+ <string name="selected" msgid="6043586758067023">"Gekies"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nie gekies nie"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> persent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Besig"</string>
+ <string name="tab" msgid="1672349317127674378">"Oortjie"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigasiekieslys"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Maak navigasiekieslys toe"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Maak sigblad toe"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Ongeldige invoer"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-am/strings.xml b/compose/ui/ui/src/androidMain/res/values-am/strings.xml
new file mode 100644
index 0000000..45c14ea
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-am/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"ምልክት የተደረገበትም ያልተደረገበትም"</string>
+ <string name="on" msgid="8655164131929253426">"በርቷል"</string>
+ <string name="off" msgid="875452955155264703">"ጠፍቷል"</string>
+ <string name="selected" msgid="6043586758067023">"ተመርጧል"</string>
+ <string name="not_selected" msgid="6610465462668679431">"ያልተመረጡ"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> በመቶ።"</string>
+ <string name="in_progress" msgid="6827826412747255547">"በሂደት ላይ"</string>
+ <string name="tab" msgid="1672349317127674378">"ትር"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"የዳሰሳ ምናሌ"</string>
+ <string name="close_drawer" msgid="406453423630273620">"የዳሰሳ ምናሌን ዝጋ"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"ሉህን ዝጋ"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"ልክ ያልሆነ ግቤት"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ar/strings.xml b/compose/ui/ui/src/androidMain/res/values-ar/strings.xml
new file mode 100644
index 0000000..760e115
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ar/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"لم يتم وضع علامة أو إزالتها"</string>
+ <string name="on" msgid="8655164131929253426">"مفعّل"</string>
+ <string name="off" msgid="875452955155264703">"غير مفعّل"</string>
+ <string name="selected" msgid="6043586758067023">"محدّد"</string>
+ <string name="not_selected" msgid="6610465462668679431">"غير محدّد"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> في المئة."</string>
+ <string name="in_progress" msgid="6827826412747255547">"قيد التقدم"</string>
+ <string name="tab" msgid="1672349317127674378">"علامة تبويب"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"قائمة تنقل"</string>
+ <string name="close_drawer" msgid="406453423630273620">"إغلاق قائمة التنقل"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"إغلاق الورقة"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"إدخال غير صالح"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-as/strings.xml b/compose/ui/ui/src/androidMain/res/values-as/strings.xml
new file mode 100644
index 0000000..f1eed51
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-as/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"টিক চিহ্ন দিয়াও নাই আঁতৰোৱাও নাই"</string>
+ <string name="on" msgid="8655164131929253426">"অন কৰা আছে"</string>
+ <string name="off" msgid="875452955155264703">"অফ আছে"</string>
+ <string name="selected" msgid="6043586758067023">"বাছনি কৰা হৈছে"</string>
+ <string name="not_selected" msgid="6610465462668679431">"বাছনি কৰা হোৱা নাই"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> শতাংশ।"</string>
+ <string name="in_progress" msgid="6827826412747255547">"প্ৰক্ৰিয়াকৰণ কৰি থকা হৈছে"</string>
+ <string name="tab" msgid="1672349317127674378">"টেব"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"নেভিগেশ্বন মেনু"</string>
+ <string name="close_drawer" msgid="406453423630273620">"নেভিগেশ্বন মেনু বন্ধ কৰক"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"শ্বীট বন্ধ কৰক"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"অমান্য ইনপুট"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-az/strings.xml b/compose/ui/ui/src/androidMain/res/values-az/strings.xml
new file mode 100644
index 0000000..549f325
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-az/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nə seçilməyib, nə də seçim ləğv edilməyib"</string>
+ <string name="on" msgid="8655164131929253426">"Aktiv"</string>
+ <string name="off" msgid="875452955155264703">"Deaktiv"</string>
+ <string name="selected" msgid="6043586758067023">"Seçilib"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Seçilməyib"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> faiz."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Davam edir"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Naviqasiya menyusu"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Naviqasiya menyusunu bağlayın"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Səhifəni bağlayın"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Yanlış daxiletmə"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-b+sr+Latn/strings.xml b/compose/ui/ui/src/androidMain/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..5b6e403
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nije označeno niti poništeno"</string>
+ <string name="on" msgid="8655164131929253426">"Uključeno"</string>
+ <string name="off" msgid="875452955155264703">"Isključeno"</string>
+ <string name="selected" msgid="6043586758067023">"Izabrano"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nije izabrano"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> posto."</string>
+ <string name="in_progress" msgid="6827826412747255547">"U toku"</string>
+ <string name="tab" msgid="1672349317127674378">"Kartica"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Meni za navigaciju"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Zatvori meni za navigaciju"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Zatvorite tabelu"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Unos je nevažeći"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-be/strings.xml b/compose/ui/ui/src/androidMain/res/values-be/strings.xml
new file mode 100644
index 0000000..db26c43
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-be/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Птушка не пастаўлена і не знята"</string>
+ <string name="on" msgid="8655164131929253426">"Уключана"</string>
+ <string name="off" msgid="875452955155264703">"Выключана"</string>
+ <string name="selected" msgid="6043586758067023">"Выбрана"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Не выбрана"</string>
+ <string name="template_percent" msgid="5946805113151406391">"Працэнтаў: <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"У працэсе"</string>
+ <string name="tab" msgid="1672349317127674378">"Укладка"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Меню навігацыі"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Закрыць меню навігацыі"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Закрыць аркуш"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Памылка ўводу"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-bg/strings.xml b/compose/ui/ui/src/androidMain/res/values-bg/strings.xml
new file mode 100644
index 0000000..ee7ab18
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-bg/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Няма поставена или премахната отметка"</string>
+ <string name="on" msgid="8655164131929253426">"Вкл."</string>
+ <string name="off" msgid="875452955155264703">"Изкл."</string>
+ <string name="selected" msgid="6043586758067023">"Избрано"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Не е избрано"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> процента."</string>
+ <string name="in_progress" msgid="6827826412747255547">"В ход"</string>
+ <string name="tab" msgid="1672349317127674378">"Раздел"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Меню за навигация"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Затваряне на менюто за навигация"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Затваряне на таблицата"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Въведеното е невалидно"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-bs/strings.xml b/compose/ui/ui/src/androidMain/res/values-bs/strings.xml
new file mode 100644
index 0000000..529ef91
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-bs/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nije odabrano ni poništeno"</string>
+ <string name="on" msgid="8655164131929253426">"Uključeno"</string>
+ <string name="off" msgid="875452955155264703">"Isključeno"</string>
+ <string name="selected" msgid="6043586758067023">"Odabrano"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nije odabrano"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> posto."</string>
+ <string name="in_progress" msgid="6827826412747255547">"U toku"</string>
+ <string name="tab" msgid="1672349317127674378">"Kartica"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Meni za navigaciju"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Zatvaranje navigacionog menija"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Zatvaranje tabele"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Pogrešan unos"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ca/strings.xml b/compose/ui/ui/src/androidMain/res/values-ca/strings.xml
new file mode 100644
index 0000000..21f81fb
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ca/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ni marcada ni desmarcada"</string>
+ <string name="on" msgid="8655164131929253426">"Activat"</string>
+ <string name="off" msgid="875452955155264703">"Desactivat"</string>
+ <string name="selected" msgid="6043586758067023">"Seleccionat"</string>
+ <string name="not_selected" msgid="6610465462668679431">"No seleccionat"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> per cent"</string>
+ <string name="in_progress" msgid="6827826412747255547">"En curs"</string>
+ <string name="tab" msgid="1672349317127674378">"Pestanya"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menú de navegació"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Tanca el menú de navegació"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Tanca el full"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"L\'entrada no és vàlida"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-cs/strings.xml b/compose/ui/ui/src/androidMain/res/values-cs/strings.xml
new file mode 100644
index 0000000..48ba4f2
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-cs/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ani zaškrtnuto, ani nezaškrtnuto"</string>
+ <string name="on" msgid="8655164131929253426">"Zap"</string>
+ <string name="off" msgid="875452955155264703">"Vyp"</string>
+ <string name="selected" msgid="6043586758067023">"Vybráno"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nevybráno"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> procent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Probíhá"</string>
+ <string name="tab" msgid="1672349317127674378">"Karta"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigační nabídka"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Zavřít navigační panel"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Zavřít sešit"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Neplatný údaj"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-da/strings.xml b/compose/ui/ui/src/androidMain/res/values-da/strings.xml
new file mode 100644
index 0000000..7ff8daff
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-da/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Hverken tilvalgt eller fravalgt"</string>
+ <string name="on" msgid="8655164131929253426">"Til"</string>
+ <string name="off" msgid="875452955155264703">"Fra"</string>
+ <string name="selected" msgid="6043586758067023">"Valgt"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Ikke valgt"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> procent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"I gang"</string>
+ <string name="tab" msgid="1672349317127674378">"Fane"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigationsmenu"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Luk navigationsmenuen"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Luk arket"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Ugyldigt input"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-de/strings.xml b/compose/ui/ui/src/androidMain/res/values-de/strings.xml
new file mode 100644
index 0000000..b716e53
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-de/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Häkchen weder gesetzt noch entfernt"</string>
+ <string name="on" msgid="8655164131929253426">"An"</string>
+ <string name="off" msgid="875452955155264703">"Aus"</string>
+ <string name="selected" msgid="6043586758067023">"Ausgewählt"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nicht ausgewählt"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> Prozent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"In Bearbeitung"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigationsmenü"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Navigationsmenü schließen"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Tabelle schließen"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Ungültige Eingabe"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-el/strings.xml b/compose/ui/ui/src/androidMain/res/values-el/strings.xml
new file mode 100644
index 0000000..69dcbd3
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-el/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ούτε επιλεγμένο ούτε μη επιλεγμένο"</string>
+ <string name="on" msgid="8655164131929253426">"Ενεργό"</string>
+ <string name="off" msgid="875452955155264703">"Ανενεργό"</string>
+ <string name="selected" msgid="6043586758067023">"Επιλεγμένο"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Δεν έχει επιλεχθεί"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> τοις εκατό."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Σε εξέλιξη"</string>
+ <string name="tab" msgid="1672349317127674378">"Καρτέλα"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Μενού πλοήγησης"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Κλείσιμο του μενού πλοήγησης"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Κλείσιμο φύλλου"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Μη έγκυρη καταχώριση"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-en-rAU/strings.xml b/compose/ui/ui/src/androidMain/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..0bcdf21
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-en-rAU/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Neither ticked nor unticked"</string>
+ <string name="on" msgid="8655164131929253426">"On"</string>
+ <string name="off" msgid="875452955155264703">"Off"</string>
+ <string name="selected" msgid="6043586758067023">"Selected"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Not selected"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> per cent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"In progress"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigation menu"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Close navigation menu"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Close sheet"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Invalid input"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-en-rCA/strings.xml b/compose/ui/ui/src/androidMain/res/values-en-rCA/strings.xml
new file mode 100644
index 0000000..0bcdf21
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-en-rCA/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Neither ticked nor unticked"</string>
+ <string name="on" msgid="8655164131929253426">"On"</string>
+ <string name="off" msgid="875452955155264703">"Off"</string>
+ <string name="selected" msgid="6043586758067023">"Selected"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Not selected"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> per cent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"In progress"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigation menu"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Close navigation menu"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Close sheet"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Invalid input"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-en-rGB/strings.xml b/compose/ui/ui/src/androidMain/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..0bcdf21
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-en-rGB/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Neither ticked nor unticked"</string>
+ <string name="on" msgid="8655164131929253426">"On"</string>
+ <string name="off" msgid="875452955155264703">"Off"</string>
+ <string name="selected" msgid="6043586758067023">"Selected"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Not selected"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> per cent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"In progress"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigation menu"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Close navigation menu"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Close sheet"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Invalid input"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-en-rIN/strings.xml b/compose/ui/ui/src/androidMain/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..0bcdf21
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-en-rIN/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Neither ticked nor unticked"</string>
+ <string name="on" msgid="8655164131929253426">"On"</string>
+ <string name="off" msgid="875452955155264703">"Off"</string>
+ <string name="selected" msgid="6043586758067023">"Selected"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Not selected"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> per cent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"In progress"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigation menu"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Close navigation menu"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Close sheet"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Invalid input"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-en-rXC/strings.xml b/compose/ui/ui/src/androidMain/res/values-en-rXC/strings.xml
new file mode 100644
index 0000000..c08a8ca
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-en-rXC/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Neither checked nor unchecked"</string>
+ <string name="on" msgid="8655164131929253426">"On"</string>
+ <string name="off" msgid="875452955155264703">"Off"</string>
+ <string name="selected" msgid="6043586758067023">"Selected"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Not selected"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> percent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"In progress"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigation menu"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Close navigation menu"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Close sheet"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Invalid input"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-es-rUS/strings.xml b/compose/ui/ui/src/androidMain/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..878c0d6
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-es-rUS/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ni marcada ni desmarcada"</string>
+ <string name="on" msgid="8655164131929253426">"Sí"</string>
+ <string name="off" msgid="875452955155264703">"No"</string>
+ <string name="selected" msgid="6043586758067023">"Seleccionado"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Sin seleccionar"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> por ciento."</string>
+ <string name="in_progress" msgid="6827826412747255547">"En curso"</string>
+ <string name="tab" msgid="1672349317127674378">"Pestaña"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menú de navegación"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Cerrar el menú de navegación"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Cerrar hoja"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Entrada no válida"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-es/strings.xml b/compose/ui/ui/src/androidMain/res/values-es/strings.xml
new file mode 100644
index 0000000..1c59f02
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-es/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ni marcada ni desmarcada"</string>
+ <string name="on" msgid="8655164131929253426">"Activado"</string>
+ <string name="off" msgid="875452955155264703">"Desactivado"</string>
+ <string name="selected" msgid="6043586758067023">"Seleccionado"</string>
+ <string name="not_selected" msgid="6610465462668679431">"No seleccionado"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> por cien."</string>
+ <string name="in_progress" msgid="6827826412747255547">"En curso"</string>
+ <string name="tab" msgid="1672349317127674378">"Pestaña"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menú de navegación"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Cerrar menú de navegación"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Cerrar hoja"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Entrada no válida"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-et/strings.xml b/compose/ui/ui/src/androidMain/res/values-et/strings.xml
new file mode 100644
index 0000000..36a1d50
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-et/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ei märgitud ega märkimata"</string>
+ <string name="on" msgid="8655164131929253426">"Sees"</string>
+ <string name="off" msgid="875452955155264703">"Väljas"</string>
+ <string name="selected" msgid="6043586758067023">"Valitud"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Pole valitud"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> protsenti."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Pooleli"</string>
+ <string name="tab" msgid="1672349317127674378">"Vaheleht"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigeerimismenüü"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Sule navigeerimismenüü"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Sule leht"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Sobimatu sisend"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-eu/strings.xml b/compose/ui/ui/src/androidMain/res/values-eu/strings.xml
new file mode 100644
index 0000000..821ca0b
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-eu/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ez markatuta eta ez markatu gabe"</string>
+ <string name="on" msgid="8655164131929253426">"Aktibatuta"</string>
+ <string name="off" msgid="875452955155264703">"Desaktibatuta"</string>
+ <string name="selected" msgid="6043586758067023">"Hautatuta"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Hautatu gabe"</string>
+ <string name="template_percent" msgid="5946805113151406391">"Ehuneko <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Abian"</string>
+ <string name="tab" msgid="1672349317127674378">"Fitxa"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Nabigazio-menua"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Itxi nabigazio-menua"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Itxi orria"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Sarrerak ez du balio"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-fa/strings.xml b/compose/ui/ui/src/androidMain/res/values-fa/strings.xml
new file mode 100644
index 0000000..079c362
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-fa/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"نه علامتگذاری شده و نه علامتگذاری آن لغو شده"</string>
+ <string name="on" msgid="8655164131929253426">"روشن"</string>
+ <string name="off" msgid="875452955155264703">"خاموش"</string>
+ <string name="selected" msgid="6043586758067023">"انتخاب شد"</string>
+ <string name="not_selected" msgid="6610465462668679431">"انتخابنشده"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> درصد."</string>
+ <string name="in_progress" msgid="6827826412747255547">"درحال انجام"</string>
+ <string name="tab" msgid="1672349317127674378">"برگه"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"منوی پیمایش"</string>
+ <string name="close_drawer" msgid="406453423630273620">"بستن منوی پیمایش"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"بستن برگ"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"ورودی نامعتبر"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-fi/strings.xml b/compose/ui/ui/src/androidMain/res/values-fi/strings.xml
new file mode 100644
index 0000000..d606a79
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-fi/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ei valittu eikä valitsematta"</string>
+ <string name="on" msgid="8655164131929253426">"Päällä"</string>
+ <string name="off" msgid="875452955155264703">"Pois"</string>
+ <string name="selected" msgid="6043586758067023">"Valittu"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Ei valittu"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> prosenttia"</string>
+ <string name="in_progress" msgid="6827826412747255547">"Kesken"</string>
+ <string name="tab" msgid="1672349317127674378">"Välilehti"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigointivalikko"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Sulje navigointivalikko"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Sulje taulukko"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Virheellinen syöte"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-fr-rCA/strings.xml b/compose/ui/ui/src/androidMain/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..fcd13b9
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-fr-rCA/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ni cochée ni décochée"</string>
+ <string name="on" msgid="8655164131929253426">"Activé"</string>
+ <string name="off" msgid="875452955155264703">"Désactivé"</string>
+ <string name="selected" msgid="6043586758067023">"Sélectionné"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Non sélectionné"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> pour cent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"En cours…"</string>
+ <string name="tab" msgid="1672349317127674378">"Onglet"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu de navigation"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Fermer le menu de navigation"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Fermer la feuille"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Entrée incorrecte"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-fr/strings.xml b/compose/ui/ui/src/androidMain/res/values-fr/strings.xml
new file mode 100644
index 0000000..47a728f
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-fr/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ni cochée, ni décochée"</string>
+ <string name="on" msgid="8655164131929253426">"Activé"</string>
+ <string name="off" msgid="875452955155264703">"Désactivé"</string>
+ <string name="selected" msgid="6043586758067023">"Sélectionné"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Non sélectionné"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> pour cent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"En cours"</string>
+ <string name="tab" msgid="1672349317127674378">"Onglet"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu de navigation"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Fermer le menu de navigation"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Fermer la feuille"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Données incorrectes"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-gl/strings.xml b/compose/ui/ui/src/androidMain/res/values-gl/strings.xml
new file mode 100644
index 0000000..d3505c6
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-gl/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Non marcada nin desmarcada"</string>
+ <string name="on" msgid="8655164131929253426">"Activado"</string>
+ <string name="off" msgid="875452955155264703">"Desactivado"</string>
+ <string name="selected" msgid="6043586758067023">"Seleccionado"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Non seleccionado"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> por cento."</string>
+ <string name="in_progress" msgid="6827826412747255547">"En curso"</string>
+ <string name="tab" msgid="1672349317127674378">"Tabulador"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menú de navegación"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Pechar menú de navegación"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Pechar folla"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"O texto escrito non é válido"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-hi/strings.xml b/compose/ui/ui/src/androidMain/res/values-hi/strings.xml
new file mode 100644
index 0000000..8562884
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-hi/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"चेकबॉक्स पर न तो सही का निशान लगाया गया, न ही पहले से लगा सही का निशान हटाया गया"</string>
+ <string name="on" msgid="8655164131929253426">"चालू है"</string>
+ <string name="off" msgid="875452955155264703">"बंद है"</string>
+ <string name="selected" msgid="6043586758067023">"चुना गया"</string>
+ <string name="not_selected" msgid="6610465462668679431">"नहीं चुना गया"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> प्रतिशत."</string>
+ <string name="in_progress" msgid="6827826412747255547">"जारी है"</string>
+ <string name="tab" msgid="1672349317127674378">"टैब"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"नेविगेशन मेन्यू"</string>
+ <string name="close_drawer" msgid="406453423630273620">"नेविगेशन मेन्यू बंद करें"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"शीट बंद करें"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"अमान्य इनपुट"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-hr/strings.xml b/compose/ui/ui/src/androidMain/res/values-hr/strings.xml
new file mode 100644
index 0000000..c786212
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-hr/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nije označeno ni poništeno"</string>
+ <string name="on" msgid="8655164131929253426">"Uključeno"</string>
+ <string name="off" msgid="875452955155264703">"Isključeno"</string>
+ <string name="selected" msgid="6043586758067023">"Odabrano"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nije odabrano"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> posto."</string>
+ <string name="in_progress" msgid="6827826412747255547">"U tijeku"</string>
+ <string name="tab" msgid="1672349317127674378">"Kartica"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigacijski izbornik"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Zatvaranje izbornika za navigaciju"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Zatvaranje lista"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Nevažeći unos"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-hu/strings.xml b/compose/ui/ui/src/androidMain/res/values-hu/strings.xml
new file mode 100644
index 0000000..9bfc7f9
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-hu/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Sem bejelöléssel, sem bejelölés nélkül"</string>
+ <string name="on" msgid="8655164131929253426">"Be"</string>
+ <string name="off" msgid="875452955155264703">"Ki"</string>
+ <string name="selected" msgid="6043586758067023">"Kijelölve"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nincs kijelölve"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> százalék."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Folyamatban"</string>
+ <string name="tab" msgid="1672349317127674378">"Lap"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigációs menü"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Navigációs menü bezárása"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Munkalap bezárása"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Érvénytelen adat"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-in/strings.xml b/compose/ui/ui/src/androidMain/res/values-in/strings.xml
new file mode 100644
index 0000000..4651485
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-in/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Tidak dicentang atau dihapus centangnya"</string>
+ <string name="on" msgid="8655164131929253426">"Aktif"</string>
+ <string name="off" msgid="875452955155264703">"Nonaktif"</string>
+ <string name="selected" msgid="6043586758067023">"Dipilih"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Tidak dipilih"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> persen."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Dalam proses"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu navigasi"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Tutup menu navigasi"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Tutup sheet"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Input tidak valid"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-is/strings.xml b/compose/ui/ui/src/androidMain/res/values-is/strings.xml
new file mode 100644
index 0000000..f8ff962
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-is/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Hvorki merkt né afmerkt"</string>
+ <string name="on" msgid="8655164131929253426">"Kveikt"</string>
+ <string name="off" msgid="875452955155264703">"Slökkt"</string>
+ <string name="selected" msgid="6043586758067023">"Valið"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Ekki valið"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> prósent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Í vinnslu"</string>
+ <string name="tab" msgid="1672349317127674378">"Flipi"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Yfirlitsvalmynd"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Loka yfirlitsvalmynd"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Loka blaði"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Ógildur innsláttur"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-it/strings.xml b/compose/ui/ui/src/androidMain/res/values-it/strings.xml
new file mode 100644
index 0000000..97f5387
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-it/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Casella di controllo né selezionata né deselezionata"</string>
+ <string name="on" msgid="8655164131929253426">"On"</string>
+ <string name="off" msgid="875452955155264703">"Off"</string>
+ <string name="selected" msgid="6043586758067023">"Elemento selezionato"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Opzione non selezionata"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> percento."</string>
+ <string name="in_progress" msgid="6827826412747255547">"In corso"</string>
+ <string name="tab" msgid="1672349317127674378">"Scheda"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu di navigazione"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Chiudi il menu di navigazione"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Chiudi il foglio"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Valore non valido"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ja/strings.xml b/compose/ui/ui/src/androidMain/res/values-ja/strings.xml
new file mode 100644
index 0000000..58574d5
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ja/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"オンでもオフでもありません"</string>
+ <string name="on" msgid="8655164131929253426">"オン"</string>
+ <string name="off" msgid="875452955155264703">"オフ"</string>
+ <string name="selected" msgid="6043586758067023">"選択済み"</string>
+ <string name="not_selected" msgid="6610465462668679431">"未選択"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>パーセント。"</string>
+ <string name="in_progress" msgid="6827826412747255547">"処理しています"</string>
+ <string name="tab" msgid="1672349317127674378">"タブ"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"ナビゲーションメニュー"</string>
+ <string name="close_drawer" msgid="406453423630273620">"ナビゲーションメニューを閉じる"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"シートを閉じる"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"入力値が無効です"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ka/strings.xml b/compose/ui/ui/src/androidMain/res/values-ka/strings.xml
new file mode 100644
index 0000000..16f9b79
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ka/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"არც მონიშნულია და არც მოუნიშნავი"</string>
+ <string name="on" msgid="8655164131929253426">"ჩართული"</string>
+ <string name="off" msgid="875452955155264703">"გამორთული"</string>
+ <string name="selected" msgid="6043586758067023">"არჩეული"</string>
+ <string name="not_selected" msgid="6610465462668679431">"არ არის არჩეული"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> პროცენტი."</string>
+ <string name="in_progress" msgid="6827826412747255547">"მუშავდება"</string>
+ <string name="tab" msgid="1672349317127674378">"ჩანართი"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"ნავიგაციის მენიუ"</string>
+ <string name="close_drawer" msgid="406453423630273620">"ნავიგაციის მენიუს დახურვა"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"ფურცლის დახურვა"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"შენატანი არასწორია"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-kk/strings.xml b/compose/ui/ui/src/androidMain/res/values-kk/strings.xml
new file mode 100644
index 0000000..ceeb61f
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-kk/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Белгіленбеді немесе белгісі алынбады"</string>
+ <string name="on" msgid="8655164131929253426">"Қосулы"</string>
+ <string name="off" msgid="875452955155264703">"Өшірулі"</string>
+ <string name="selected" msgid="6043586758067023">"Таңдалды"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Таңдалмады"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> пайыз."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Орындалуда"</string>
+ <string name="tab" msgid="1672349317127674378">"Қойынды"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Навигация мәзірі"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Навигация мәзірін жабу"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Парақты жабу"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Енгізілген мән жарамсыз."</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-km/strings.xml b/compose/ui/ui/src/androidMain/res/values-km/strings.xml
new file mode 100644
index 0000000..7c77db5
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-km/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"មិនបានធីក ហើយក៏មិនបានដោះធីកដែរ"</string>
+ <string name="on" msgid="8655164131929253426">"បើក"</string>
+ <string name="off" msgid="875452955155264703">"បិទ"</string>
+ <string name="selected" msgid="6043586758067023">"បានជ្រើសរើស"</string>
+ <string name="not_selected" msgid="6610465462668679431">"មិនបានជ្រើសរើស"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> ភាគរយ។"</string>
+ <string name="in_progress" msgid="6827826412747255547">"កំពុងដំណើរការ"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"ម៉ឺនុយរុករក"</string>
+ <string name="close_drawer" msgid="406453423630273620">"បិទម៉ឺនុយរុករក"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"បិទសន្លឹក"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"ការបញ្ចូលមិនត្រឹមត្រូវ"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ko/strings.xml b/compose/ui/ui/src/androidMain/res/values-ko/strings.xml
new file mode 100644
index 0000000..6a2688a
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ko/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"선택 또는 선택 해제되지 않음"</string>
+ <string name="on" msgid="8655164131929253426">"켜짐"</string>
+ <string name="off" msgid="875452955155264703">"꺼짐"</string>
+ <string name="selected" msgid="6043586758067023">"선택됨"</string>
+ <string name="not_selected" msgid="6610465462668679431">"선택되지 않음"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>퍼센트"</string>
+ <string name="in_progress" msgid="6827826412747255547">"진행 중"</string>
+ <string name="tab" msgid="1672349317127674378">"탭"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"탐색 메뉴"</string>
+ <string name="close_drawer" msgid="406453423630273620">"탐색 메뉴 닫기"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"시트 닫기"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"입력이 잘못됨"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ky/strings.xml b/compose/ui/ui/src/androidMain/res/values-ky/strings.xml
new file mode 100644
index 0000000..636d1d3
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ky/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Белгиленген же белгиленбеген эмес"</string>
+ <string name="on" msgid="8655164131929253426">"Күйүк"</string>
+ <string name="off" msgid="875452955155264703">"Өчүк"</string>
+ <string name="selected" msgid="6043586758067023">"Тандалды"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Тандалган жок"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> пайыз."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Аткарылууда"</string>
+ <string name="tab" msgid="1672349317127674378">"Өтмөк"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Чабыттоо менюсу"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Чабыттоо менюсун жабуу"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Баракты жабуу"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Киргизилген маалымат жараксыз"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-lt/strings.xml b/compose/ui/ui/src/androidMain/res/values-lt/strings.xml
new file mode 100644
index 0000000..9bc393d
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-lt/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nei pažymėta, nei nepažymėta"</string>
+ <string name="on" msgid="8655164131929253426">"Įjungta"</string>
+ <string name="off" msgid="875452955155264703">"Išjungta"</string>
+ <string name="selected" msgid="6043586758067023">"Pasirinkta"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nepasirinkta"</string>
+ <string name="template_percent" msgid="5946805113151406391">"Procentų: <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Vyksta"</string>
+ <string name="tab" msgid="1672349317127674378">"Tabuliavimo klavišas"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Naršymo meniu"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Uždaryti naršymo meniu"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Uždaryti lapą"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Netinkama įvestis"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-lv/strings.xml b/compose/ui/ui/src/androidMain/res/values-lv/strings.xml
new file mode 100644
index 0000000..46a596d
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-lv/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nav ne atzīmēta, ne neatzīmēta"</string>
+ <string name="on" msgid="8655164131929253426">"Ieslēgts"</string>
+ <string name="off" msgid="875452955155264703">"Izslēgts"</string>
+ <string name="selected" msgid="6043586758067023">"Atlasīts"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nav atlasīts"</string>
+ <string name="template_percent" msgid="5946805113151406391">"Procenti: <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Notiek apstrāde"</string>
+ <string name="tab" msgid="1672349317127674378">"Cilne"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigācijas izvēlne"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Aizvērt navigācijas izvēlni"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Aizvērt izklājlapu"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Nederīga ievade"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-mk/strings.xml b/compose/ui/ui/src/androidMain/res/values-mk/strings.xml
new file mode 100644
index 0000000..13e7bd1
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-mk/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ниту штиклирано, ниту отштиклирано"</string>
+ <string name="on" msgid="8655164131929253426">"Вклучено"</string>
+ <string name="off" msgid="875452955155264703">"Исклучено"</string>
+ <string name="selected" msgid="6043586758067023">"Избрано"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Не е избрано"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> проценти."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Во тек"</string>
+ <string name="tab" msgid="1672349317127674378">"Картичка"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Мени за навигација"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Затворете го менито за навигација"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Затворете го листот"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Неважечки запис"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-mn/strings.xml b/compose/ui/ui/src/androidMain/res/values-mn/strings.xml
new file mode 100644
index 0000000..dcc5796
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-mn/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Тэмдэглэсэн, сонголтыг болиулаагүйн аль нь ч биш"</string>
+ <string name="on" msgid="8655164131929253426">"Асаалттай"</string>
+ <string name="off" msgid="875452955155264703">"Унтраалттай"</string>
+ <string name="selected" msgid="6043586758067023">"Сонгосон"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Сонгоогүй"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> хувь."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Үргэлжилж байна"</string>
+ <string name="tab" msgid="1672349317127674378">"Таб"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Навигацын цэс"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Навигацын цэсийг хаах"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Хүснэгтийг хаах"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Буруу оролт"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ms/strings.xml b/compose/ui/ui/src/androidMain/res/values-ms/strings.xml
new file mode 100644
index 0000000..399fce6
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ms/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Berkecuali"</string>
+ <string name="on" msgid="8655164131929253426">"Hidup"</string>
+ <string name="off" msgid="875452955155264703">"Mati"</string>
+ <string name="selected" msgid="6043586758067023">"Dipilih"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Tidak dipilih"</string>
+ <string name="template_percent" msgid="5946805113151406391">"Peratus <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Dalam proses"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu navigasi"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Tutup menu navigasi"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Tutup helaian"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Input tidak sah"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-my/strings.xml b/compose/ui/ui/src/androidMain/res/values-my/strings.xml
new file mode 100644
index 0000000..72d22c7
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-my/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"အမှတ်ခြစ်မထားပါ (သို့) အမှတ်ခြစ်ပြီး"</string>
+ <string name="on" msgid="8655164131929253426">"ဖွင့်"</string>
+ <string name="off" msgid="875452955155264703">"ပိတ်"</string>
+ <string name="selected" msgid="6043586758067023">"ရွေးထားသည်"</string>
+ <string name="not_selected" msgid="6610465462668679431">"ရွေးမထားပါ"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> ရာခိုင်နှုန်း။"</string>
+ <string name="in_progress" msgid="6827826412747255547">"ဆောင်ရွက်နေဆဲ"</string>
+ <string name="tab" msgid="1672349317127674378">"တဘ်"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"လမ်းညွှန် မီနူး"</string>
+ <string name="close_drawer" msgid="406453423630273620">"လမ်းညွှန် မီနူး ပိတ်ရန်"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"စာမျက်နှာ ပိတ်ရန်"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"ထည့်သွင်းမှု မမှန်ကန်ပါ"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-nb/strings.xml b/compose/ui/ui/src/androidMain/res/values-nb/strings.xml
new file mode 100644
index 0000000..2b8314b
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-nb/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Verken avmerket eller ikke avmerket"</string>
+ <string name="on" msgid="8655164131929253426">"På"</string>
+ <string name="off" msgid="875452955155264703">"Av"</string>
+ <string name="selected" msgid="6043586758067023">"Valgt"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Ikke valgt"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> prosent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Pågår"</string>
+ <string name="tab" msgid="1672349317127674378">"Fane"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigasjonsmeny"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Lukk navigasjonsmenyen"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Lukk arket"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Ugyldige inndata"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-nl/strings.xml b/compose/ui/ui/src/androidMain/res/values-nl/strings.xml
new file mode 100644
index 0000000..667814b
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-nl/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Niet aangevinkt of uitgevinkt"</string>
+ <string name="on" msgid="8655164131929253426">"Aan"</string>
+ <string name="off" msgid="875452955155264703">"Uit"</string>
+ <string name="selected" msgid="6043586758067023">"Geselecteerd"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Niet geselecteerd"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> procent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Bezig"</string>
+ <string name="tab" msgid="1672349317127674378">"Tabblad"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigatiemenu"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Navigatiemenu sluiten"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Blad sluiten"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Ongeldige invoer"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-pl/strings.xml b/compose/ui/ui/src/androidMain/res/values-pl/strings.xml
new file mode 100644
index 0000000..812531b
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-pl/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ani nie zaznaczono, ani nie odznaczono"</string>
+ <string name="on" msgid="8655164131929253426">"Włączono"</string>
+ <string name="off" msgid="875452955155264703">"Wyłączono"</string>
+ <string name="selected" msgid="6043586758067023">"Wybrano"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nie wybrano"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> procent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"W toku"</string>
+ <string name="tab" msgid="1672349317127674378">"Karta"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu nawigacyjne"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Zamknij menu nawigacyjne"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Zamknij arkusz"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Nieprawidłowe dane wejściowe"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-pt-rBR/strings.xml b/compose/ui/ui/src/androidMain/res/values-pt-rBR/strings.xml
new file mode 100644
index 0000000..d687d4b
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-pt-rBR/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nem marcada nem desmarcada"</string>
+ <string name="on" msgid="8655164131929253426">"Ativado"</string>
+ <string name="off" msgid="875452955155264703">"Desativado"</string>
+ <string name="selected" msgid="6043586758067023">"Selecionado"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Não selecionado"</string>
+ <!-- String.format failed for translation -->
+ <!-- no translation found for template_percent (5946805113151406391) -->
+ <skip />
+ <string name="in_progress" msgid="6827826412747255547">"Em andamento"</string>
+ <string name="tab" msgid="1672349317127674378">"Guia"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu de navegação"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Fechar menu de navegação"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Fechar planilha"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Entrada inválida"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-pt-rPT/strings.xml b/compose/ui/ui/src/androidMain/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..b7fb8a6
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-pt-rPT/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nem selecionada nem desselecionada"</string>
+ <string name="on" msgid="8655164131929253426">"Ativado"</string>
+ <string name="off" msgid="875452955155264703">"Desativado"</string>
+ <string name="selected" msgid="6043586758067023">"Selecionado"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Não selecionado"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> por cento."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Em curso"</string>
+ <string name="tab" msgid="1672349317127674378">"Separador"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu de navegação"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Fechar menu de navegação"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Fechar folha"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Entrada inválida"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-pt/strings.xml b/compose/ui/ui/src/androidMain/res/values-pt/strings.xml
new file mode 100644
index 0000000..d687d4b
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-pt/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nem marcada nem desmarcada"</string>
+ <string name="on" msgid="8655164131929253426">"Ativado"</string>
+ <string name="off" msgid="875452955155264703">"Desativado"</string>
+ <string name="selected" msgid="6043586758067023">"Selecionado"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Não selecionado"</string>
+ <!-- String.format failed for translation -->
+ <!-- no translation found for template_percent (5946805113151406391) -->
+ <skip />
+ <string name="in_progress" msgid="6827826412747255547">"Em andamento"</string>
+ <string name="tab" msgid="1672349317127674378">"Guia"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu de navegação"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Fechar menu de navegação"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Fechar planilha"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Entrada inválida"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ro/strings.xml b/compose/ui/ui/src/androidMain/res/values-ro/strings.xml
new file mode 100644
index 0000000..ad20c72
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ro/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Nici bifată, nici debifată"</string>
+ <string name="on" msgid="8655164131929253426">"Activat"</string>
+ <string name="off" msgid="875452955155264703">"Dezactivat"</string>
+ <string name="selected" msgid="6043586758067023">"Selectat"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Neselectat"</string>
+ <!-- String.format failed for translation -->
+ <!-- no translation found for template_percent (5946805113151406391) -->
+ <skip />
+ <string name="in_progress" msgid="6827826412747255547">"În curs"</string>
+ <string name="tab" msgid="1672349317127674378">"Filă"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Meniu de navigare"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Închideți meniul de navigare"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Închideți foaia"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Intrare nevalidă"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ru/strings.xml b/compose/ui/ui/src/androidMain/res/values-ru/strings.xml
new file mode 100644
index 0000000..65c7bfe
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ru/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Флажок не установлен и не снят"</string>
+ <string name="on" msgid="8655164131929253426">"Включено"</string>
+ <string name="off" msgid="875452955155264703">"Выключено"</string>
+ <string name="selected" msgid="6043586758067023">"Выбрано"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Не выбрано"</string>
+ <string name="template_percent" msgid="5946805113151406391">"Процентов: <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Выполняется"</string>
+ <string name="tab" msgid="1672349317127674378">"Вкладка"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Меню навигации"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Закрыть меню навигации"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Закрыть лист"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Неправильный ввод"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-si/strings.xml b/compose/ui/ui/src/androidMain/res/values-si/strings.xml
new file mode 100644
index 0000000..1d0294a
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-si/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"හරි ලකුණු යොදා හෝ හරි ලකුණු යෙදීම ඉවත් කර නැත"</string>
+ <string name="on" msgid="8655164131929253426">"ක්රියාත්මකයි"</string>
+ <string name="off" msgid="875452955155264703">"ක්රියාවිරහිතයි"</string>
+ <string name="selected" msgid="6043586758067023">"තෝරන ලදි"</string>
+ <string name="not_selected" msgid="6610465462668679431">"තෝරා නැත"</string>
+ <string name="template_percent" msgid="5946805113151406391">"සියයට <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"ප්රගතියේ පවතී"</string>
+ <string name="tab" msgid="1672349317127674378">"ටැබය"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"සංචාලන මෙනුව"</string>
+ <string name="close_drawer" msgid="406453423630273620">"සංචාලන මෙනුව වසන්න"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"පත්රය වසන්න"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"වලංගු නොවන ආදානයකි"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-sk/strings.xml b/compose/ui/ui/src/androidMain/res/values-sk/strings.xml
new file mode 100644
index 0000000..b912997
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-sk/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ani začiarknuté ani nezačiarknuté"</string>
+ <string name="on" msgid="8655164131929253426">"Zapnuté"</string>
+ <string name="off" msgid="875452955155264703">"Vypnuté"</string>
+ <string name="selected" msgid="6043586758067023">"Vybrané"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Nevybrané"</string>
+ <!-- String.format failed for translation -->
+ <!-- no translation found for template_percent (5946805113151406391) -->
+ <skip />
+ <string name="in_progress" msgid="6827826412747255547">"Prebieha"</string>
+ <string name="tab" msgid="1672349317127674378">"Karta"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigačná ponuka"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Zavrieť navigačnú ponuku"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Zavrieť hárok"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Neplatný vstup"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-sl/strings.xml b/compose/ui/ui/src/androidMain/res/values-sl/strings.xml
new file mode 100644
index 0000000..e30acad
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-sl/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Niti potrjeno niti nepotrjeno"</string>
+ <string name="on" msgid="8655164131929253426">"Vklopljeno"</string>
+ <string name="off" msgid="875452955155264703">"Izklopljeno"</string>
+ <string name="selected" msgid="6043586758067023">"Izbrano"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Ni izbrano"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> odstotkov"</string>
+ <string name="in_progress" msgid="6827826412747255547">"Poteka"</string>
+ <string name="tab" msgid="1672349317127674378">"Zavihek"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Meni za krmarjenje"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Zapri meni za krmarjenje"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Zapri list"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Neveljaven vnos"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-sr/strings.xml b/compose/ui/ui/src/androidMain/res/values-sr/strings.xml
new file mode 100644
index 0000000..485493f
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-sr/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Није означено нити поништено"</string>
+ <string name="on" msgid="8655164131929253426">"Укључено"</string>
+ <string name="off" msgid="875452955155264703">"Искључено"</string>
+ <string name="selected" msgid="6043586758067023">"Изабрано"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Није изабрано"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> посто."</string>
+ <string name="in_progress" msgid="6827826412747255547">"У току"</string>
+ <string name="tab" msgid="1672349317127674378">"Картица"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Мени за навигацију"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Затвори мени за навигацију"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Затворите табелу"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Унос је неважећи"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-sv/strings.xml b/compose/ui/ui/src/androidMain/res/values-sv/strings.xml
new file mode 100644
index 0000000..bb491c8
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-sv/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Varken markerad eller avmarkerad"</string>
+ <string name="on" msgid="8655164131929253426">"På"</string>
+ <string name="off" msgid="875452955155264703">"Av"</string>
+ <string name="selected" msgid="6043586758067023">"Valt"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Inte vald"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> procent."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Pågår"</string>
+ <string name="tab" msgid="1672349317127674378">"Flik"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Navigeringsmeny"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Stäng navigeringsmenyn"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Stäng kalkylarket"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Ogiltiga indata"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-sw/strings.xml b/compose/ui/ui/src/androidMain/res/values-sw/strings.xml
new file mode 100644
index 0000000..1f8eec8
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-sw/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Hujateua wala kubatilisha uteuzi"</string>
+ <string name="on" msgid="8655164131929253426">"Imewashwa"</string>
+ <string name="off" msgid="875452955155264703">"Imezimwa"</string>
+ <string name="selected" msgid="6043586758067023">"Umechagua"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Hujachagua"</string>
+ <string name="template_percent" msgid="5946805113151406391">"Asilimia <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Inaendelea"</string>
+ <string name="tab" msgid="1672349317127674378">"Kichupo"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menyu ya kusogeza"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Funga menyu ya kusogeza"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Funga laha"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Ulichoweka si sahihi"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-ta/strings.xml b/compose/ui/ui/src/androidMain/res/values-ta/strings.xml
new file mode 100644
index 0000000..ed3b4a2
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-ta/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"தேர்வுசெய்யப்பட்டது மற்றும் தேர்வுசெய்யப்படாதது"</string>
+ <string name="on" msgid="8655164131929253426">"இயக்கப்பட்டுள்ளது"</string>
+ <string name="off" msgid="875452955155264703">"முடக்கப்பட்டுள்ளது"</string>
+ <string name="selected" msgid="6043586758067023">"தேர்ந்தெடுக்கப்பட்டுள்ளது"</string>
+ <string name="not_selected" msgid="6610465462668679431">"தேர்ந்தெடுக்கப்படவில்லை"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> சதவீதம்."</string>
+ <string name="in_progress" msgid="6827826412747255547">"செயலிலுள்ளது"</string>
+ <string name="tab" msgid="1672349317127674378">"பிரிவு"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"வழிசெலுத்தல் மெனு"</string>
+ <string name="close_drawer" msgid="406453423630273620">"வழிசெலுத்தல் மெனுவை மூடும்"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"ஷீட்டை மூடும்"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"தவறான உள்ளீடு"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-th/strings.xml b/compose/ui/ui/src/androidMain/res/values-th/strings.xml
new file mode 100644
index 0000000..43a3761
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-th/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"ไม่ได้เลือกหรือยกเลิกการเลือก"</string>
+ <string name="on" msgid="8655164131929253426">"เปิด"</string>
+ <string name="off" msgid="875452955155264703">"ปิด"</string>
+ <string name="selected" msgid="6043586758067023">"เลือกไว้"</string>
+ <string name="not_selected" msgid="6610465462668679431">"ไม่ได้เลือก"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> เปอร์เซ็นต์"</string>
+ <string name="in_progress" msgid="6827826412747255547">"กำลังดำเนินการ"</string>
+ <string name="tab" msgid="1672349317127674378">"แท็บ"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"เมนูการนำทาง"</string>
+ <string name="close_drawer" msgid="406453423630273620">"ปิดเมนูการนำทาง"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"ปิดชีต"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"อินพุตไม่ถูกต้อง"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-tl/strings.xml b/compose/ui/ui/src/androidMain/res/values-tl/strings.xml
new file mode 100644
index 0000000..f0700fb
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-tl/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Hindi may check o walang check"</string>
+ <string name="on" msgid="8655164131929253426">"Naka-on"</string>
+ <string name="off" msgid="875452955155264703">"Naka-off"</string>
+ <string name="selected" msgid="6043586758067023">"Napili"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Hindi napili"</string>
+ <string name="template_percent" msgid="5946805113151406391">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> (na) porsyento."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Isinasagawa"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Menu ng navigation"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Isara ang menu ng navigation"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Isara ang sheet"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Invalid na input"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-tr/strings.xml b/compose/ui/ui/src/androidMain/res/values-tr/strings.xml
new file mode 100644
index 0000000..edb132d
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-tr/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Ne işaretlendi ne de işareti kaldırıldı"</string>
+ <string name="on" msgid="8655164131929253426">"Açık"</string>
+ <string name="off" msgid="875452955155264703">"Kapalı"</string>
+ <string name="selected" msgid="6043586758067023">"Seçili"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Seçilmedi"</string>
+ <string name="template_percent" msgid="5946805113151406391">"Yüzde <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Devam ediyor"</string>
+ <string name="tab" msgid="1672349317127674378">"Sekme"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Gezinme menüsü"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Gezinme menüsünü kapat"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Sayfayı kapat"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Geçersiz giriş"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-uk/strings.xml b/compose/ui/ui/src/androidMain/res/values-uk/strings.xml
new file mode 100644
index 0000000..1e73c6e
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-uk/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Прапорець ані поставлено, ані знято"</string>
+ <string name="on" msgid="8655164131929253426">"Увімкнено"</string>
+ <string name="off" msgid="875452955155264703">"Вимкнено"</string>
+ <string name="selected" msgid="6043586758067023">"Вибрано"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Не вибрано"</string>
+ <string name="template_percent" msgid="5946805113151406391">"Відсотків: <xliff:g id="PERCENTAGE">%1$d</xliff:g>."</string>
+ <string name="in_progress" msgid="6827826412747255547">"Виконується"</string>
+ <string name="tab" msgid="1672349317127674378">"Вкладка"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Меню навігації"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Закрити меню навігації"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Закрити аркуш"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Введено недійсні дані"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-vi/strings.xml b/compose/ui/ui/src/androidMain/res/values-vi/strings.xml
new file mode 100644
index 0000000..5dd316f
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-vi/strings.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"Không đánh dấu cũng không bỏ đánh dấu"</string>
+ <string name="on" msgid="8655164131929253426">"Đang bật"</string>
+ <string name="off" msgid="875452955155264703">"Đang tắt"</string>
+ <string name="selected" msgid="6043586758067023">"Đã chọn"</string>
+ <string name="not_selected" msgid="6610465462668679431">"Chưa chọn"</string>
+ <!-- String.format failed for translation -->
+ <!-- no translation found for template_percent (5946805113151406391) -->
+ <skip />
+ <string name="in_progress" msgid="6827826412747255547">"Đang thực hiện"</string>
+ <string name="tab" msgid="1672349317127674378">"Thẻ"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"Trình đơn điều hướng"</string>
+ <string name="close_drawer" msgid="406453423630273620">"Đóng trình đơn điều hướng"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"Đóng trang tính"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"Giá trị nhập không hợp lệ"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-zh-rCN/strings.xml b/compose/ui/ui/src/androidMain/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..6392b8b
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-zh-rCN/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"既没有勾选也没有取消选中"</string>
+ <string name="on" msgid="8655164131929253426">"开启"</string>
+ <string name="off" msgid="875452955155264703">"关闭"</string>
+ <string name="selected" msgid="6043586758067023">"已选择"</string>
+ <string name="not_selected" msgid="6610465462668679431">"未选择"</string>
+ <string name="template_percent" msgid="5946805113151406391">"百分之 <xliff:g id="PERCENTAGE">%1$d</xliff:g>。"</string>
+ <string name="in_progress" msgid="6827826412747255547">"进行中"</string>
+ <string name="tab" msgid="1672349317127674378">"标签页"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"导航菜单"</string>
+ <string name="close_drawer" msgid="406453423630273620">"关闭导航菜单"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"关闭工作表"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"输入无效"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-zh-rHK/strings.xml b/compose/ui/ui/src/androidMain/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..5b4e62b
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-zh-rHK/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"未勾選或者未取消勾選"</string>
+ <string name="on" msgid="8655164131929253426">"開"</string>
+ <string name="off" msgid="875452955155264703">"閂"</string>
+ <string name="selected" msgid="6043586758067023">"揀咗"</string>
+ <string name="not_selected" msgid="6610465462668679431">"未揀"</string>
+ <string name="template_percent" msgid="5946805113151406391">"百分之 <xliff:g id="PERCENTAGE">%1$d</xliff:g>。"</string>
+ <string name="in_progress" msgid="6827826412747255547">"進行中"</string>
+ <string name="tab" msgid="1672349317127674378">"分頁"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"導覽選單"</string>
+ <string name="close_drawer" msgid="406453423630273620">"閂導覽選單"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"閂表單"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"輸入嘅資料無效"</string>
+</resources>
diff --git a/compose/ui/ui/src/androidMain/res/values-zh-rTW/strings.xml b/compose/ui/ui/src/androidMain/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..8f47f69
--- /dev/null
+++ b/compose/ui/ui/src/androidMain/res/values-zh-rTW/strings.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="indeterminate" msgid="2486394087603402002">"沒有勾選也沒有取消勾選"</string>
+ <string name="on" msgid="8655164131929253426">"已開啟"</string>
+ <string name="off" msgid="875452955155264703">"已關閉"</string>
+ <string name="selected" msgid="6043586758067023">"已選取"</string>
+ <string name="not_selected" msgid="6610465462668679431">"未選取"</string>
+ <string name="template_percent" msgid="5946805113151406391">"百分之 <xliff:g id="PERCENTAGE">%1$d</xliff:g>。"</string>
+ <string name="in_progress" msgid="6827826412747255547">"處理中"</string>
+ <string name="tab" msgid="1672349317127674378">"Tab 鍵"</string>
+ <string name="navigation_menu" msgid="542007171693138492">"導覽選單"</string>
+ <string name="close_drawer" msgid="406453423630273620">"關閉導覽選單"</string>
+ <string name="close_sheet" msgid="7573152094250666567">"關閉功能表"</string>
+ <string name="default_error_message" msgid="8038256446254964252">"輸入內容無效"</string>
+</resources>
diff --git a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/SubcomposeLayout.kt b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/SubcomposeLayout.kt
index 25e32b8..59b148f 100644
--- a/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/SubcomposeLayout.kt
+++ b/compose/ui/ui/src/commonMain/kotlin/androidx/compose/ui/layout/SubcomposeLayout.kt
@@ -181,6 +181,7 @@
private var precomposedCount = 0
internal fun subcompose(slotId: Any?, content: @Composable () -> Unit): List<Measurable> {
+ makeSureStateIsConsistent()
val layoutState = root.layoutState
check(layoutState == LayoutState.Measuring || layoutState == LayoutState.LayingOut) {
"subcompose can only be used inside the measure or layout blocks"
@@ -285,6 +286,16 @@
root.removeAt(currentIndex, nodesToDispose)
}
}
+
+ makeSureStateIsConsistent()
+ }
+
+ private fun makeSureStateIsConsistent() {
+ require(nodeToNodeState.size == root.foldedChildren.size) {
+ "Inconsistency between the count of nodes tracked by the state (${nodeToNodeState
+ .size}) and the children count on the SubcomposeLayout (${root.foldedChildren
+ .size}). Are you trying to use the state of the disposed SubcomposeLayout?"
+ }
}
private fun takeNodeFromReusables(slotId: Any?): LayoutNode {
@@ -382,6 +393,7 @@
* @return [PrecomposedSlotHandle] instance which allows you to dispose the content.
*/
fun precompose(slotId: Any?, content: @Composable () -> Unit): PrecomposedSlotHandle {
+ makeSureStateIsConsistent()
if (!slotIdToNode.containsKey(slotId)) {
val node = precomposeMap.getOrPut(slotId) {
if (reusableCount > 0) {
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.desktop.kt
index 7389d3a..983fe33 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwner.desktop.kt
@@ -69,6 +69,8 @@
import androidx.compose.ui.unit.Constraints
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.IntSize
+import androidx.compose.ui.unit.IntOffset
+import androidx.compose.ui.unit.IntRect
import androidx.compose.ui.unit.LayoutDirection
private typealias Command = () -> Unit
@@ -80,9 +82,16 @@
internal class DesktopOwner(
val container: DesktopOwners,
density: Density = Density(1f, 1f),
- val isVirtual: Boolean = false,
+ val isPopup: Boolean = false,
+ val isFocusable: Boolean = true,
+ val onDismissRequest: (() -> Unit)? = null
) : Owner, RootForTest, DesktopRootForTest, PositionCalculator {
- internal var size by mutableStateOf(IntSize(0, 0))
+
+ internal fun isHovered(point: IntOffset): Boolean {
+ return bounds.contains(point)
+ }
+
+ internal var bounds by mutableStateOf(IntRect.Zero)
override var density by mutableStateOf(density)
@@ -137,6 +146,9 @@
container.register(this)
snapshotObserver.startObserving()
root.attach(this)
+ if (isFocusable) {
+ container.focusedOwner = this
+ }
_focusManager.takeFocus()
}
@@ -290,7 +302,12 @@
fun setSize(width: Int, height: Int) {
val constraints = Constraints(0, width, 0, height)
- this.size = IntSize(width, height)
+ if (!isPopup) {
+ this.bounds = IntRect(
+ IntOffset(bounds.left, bounds.top),
+ IntSize(width, height)
+ )
+ }
measureAndLayoutDelegate.updateRootConstraints(constraints)
}
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwners.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwners.desktop.kt
index ab0583e..acbcd1c 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwners.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/platform/DesktopOwners.desktop.kt
@@ -25,6 +25,7 @@
import androidx.compose.ui.input.pointer.PointerInputEvent
import androidx.compose.ui.input.pointer.PointerInputEventData
import androidx.compose.ui.input.pointer.PointerType
+import androidx.compose.ui.unit.IntOffset
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.CoroutineStart
import kotlinx.coroutines.launch
@@ -129,45 +130,83 @@
invalidateIfNeeded()
}
- private val lastOwner: DesktopOwner?
- get() = list.lastOrNull { !it.isVirtual }
+ internal var focusedOwner: DesktopOwner? = null
+ private val hoveredOwner: DesktopOwner?
+ get() {
+ listCopy.addAll(list)
+ for (i in (listCopy.size - 1) downTo 0) {
+ val owner = listCopy[i]
+ if (owner.isHovered(pointLocation)) {
+ listCopy.clear()
+ return owner
+ }
+ }
+ listCopy.clear()
+ return list.lastOrNull()
+ }
fun onMousePressed(x: Int, y: Int, nativeEvent: MouseEvent? = null) {
isMousePressed = true
- lastOwner?.processPointerInput(pointerInputEvent(nativeEvent, x, y, isMousePressed))
+ val currentOwner = hoveredOwner
+ if (currentOwner != null) {
+ if (currentOwner.isFocusable && focusedOwner != currentOwner) {
+ focusedOwner?.onDismissRequest?.invoke()
+ focusedOwner = currentOwner
+ } else {
+ currentOwner.processPointerInput(
+ pointerInputEvent(nativeEvent, x, y, isMousePressed)
+ )
+ return
+ }
+ }
+ focusedOwner?.processPointerInput(pointerInputEvent(nativeEvent, x, y, isMousePressed))
}
fun onMouseReleased(x: Int, y: Int, nativeEvent: MouseEvent? = null) {
isMousePressed = false
- lastOwner?.processPointerInput(pointerInputEvent(nativeEvent, x, y, isMousePressed))
+ val currentOwner = hoveredOwner
+ if (currentOwner != null) {
+ if (currentOwner.isFocusable) {
+ focusedOwner = currentOwner
+ } else {
+ currentOwner.processPointerInput(
+ pointerInputEvent(nativeEvent, x, y, isMousePressed)
+ )
+ return
+ }
+ }
+ focusedOwner?.processPointerInput(pointerInputEvent(nativeEvent, x, y, isMousePressed))
pointerId += 1
}
+ private var pointLocation = IntOffset.Zero
+
fun onMouseMoved(x: Int, y: Int, nativeEvent: MouseEvent? = null) {
+ pointLocation = IntOffset(x, y)
val event = pointerInputEvent(nativeEvent, x, y, isMousePressed)
- val result = lastOwner?.processPointerInput(event)
+ val result = hoveredOwner?.processPointerInput(event)
if (result?.anyMovementConsumed != true) {
val position = Offset(x.toFloat(), y.toFloat())
- lastOwner?.onPointerMove(position)
+ hoveredOwner?.onPointerMove(position)
}
}
fun onMouseScroll(x: Int, y: Int, event: MouseScrollEvent) {
val position = Offset(x.toFloat(), y.toFloat())
- lastOwner?.onMouseScroll(position, event)
+ hoveredOwner?.onMouseScroll(position, event)
}
fun onMouseEntered(x: Int, y: Int) {
val position = Offset(x.toFloat(), y.toFloat())
- lastOwner?.onPointerEnter(position)
+ hoveredOwner?.onPointerEnter(position)
}
fun onMouseExited() {
- lastOwner?.onPointerExit()
+ hoveredOwner?.onPointerExit()
}
private fun consumeKeyEvent(event: KeyEvent) {
- list.lastOrNull()?.sendKeyEvent(ComposeKeyEvent(event))
+ focusedOwner?.sendKeyEvent(ComposeKeyEvent(event))
}
fun onKeyPressed(event: KeyEvent) = consumeKeyEvent(event)
diff --git a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.desktop.kt b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.desktop.kt
index 08b6b17..3c2f509 100644
--- a/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.desktop.kt
+++ b/compose/ui/ui/src/desktopMain/kotlin/androidx/compose/ui/window/DesktopPopup.desktop.kt
@@ -26,10 +26,6 @@
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
-import androidx.compose.ui.input.pointer.PointerEventPass
-import androidx.compose.ui.input.pointer.PointerInputScope
-import androidx.compose.ui.input.pointer.changedToDown
-import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.onGloballyPositioned
import androidx.compose.ui.platform.DesktopOwner
@@ -138,19 +134,16 @@
val parentComposition = rememberCompositionContext()
val (owner, composition) = remember {
- val owner = DesktopOwner(owners, density, !focusable)
+ val owner = DesktopOwner(
+ container = owners,
+ density = density,
+ isPopup = true,
+ isFocusable = focusable,
+ onDismissRequest = onDismissRequest
+ )
val composition = owner.setContent(parent = parentComposition) {
Layout(
content = content,
- modifier = Modifier.pointerInput(focusable, onDismissRequest) {
- detectDown(
- onDown = { point ->
- if (focusable && isOutsideRectTap(popupBounds, point)) {
- onDismissRequest?.invoke()
- }
- }
- )
- },
measurePolicy = { measurables, constraints ->
val width = constraints.maxWidth
val height = constraints.maxHeight
@@ -181,6 +174,7 @@
position,
IntSize(placeable.width, placeable.height)
)
+ owner.bounds = popupBounds
placeable.place(position.x, position.y)
}
}
@@ -201,15 +195,3 @@
private fun isOutsideRectTap(rect: IntRect, point: Offset): Boolean {
return !rect.contains(IntOffset(point.x.toInt(), point.y.toInt()))
}
-
-private suspend fun PointerInputScope.detectDown(onDown: (Offset) -> Unit) {
- while (true) {
- awaitPointerEventScope {
- val event = awaitPointerEvent(PointerEventPass.Initial)
- val down = event.changes.find { it.changedToDown() }
- if (down != null) {
- onDown(down.position)
- }
- }
- }
-}
diff --git a/core/core/api/restricted_current.txt b/core/core/api/restricted_current.txt
index 7b2d5de..44e72c1 100644
--- a/core/core/api/restricted_current.txt
+++ b/core/core/api/restricted_current.txt
@@ -1258,6 +1258,11 @@
@IntDef(flag=true, value={androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_MANIFEST, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_DYNAMIC, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_PINNED, androidx.core.content.pm.ShortcutManagerCompat.FLAG_MATCH_CACHED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ShortcutManagerCompat.ShortcutMatchFlags {
}
+ @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class ShortcutXmlParser {
+ method @WorkerThread public static java.util.List<java.lang.String!> getShortcutIds(android.content.Context);
+ method @VisibleForTesting public static java.util.List<java.lang.String!> parseShortcutIds(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+ }
+
}
package androidx.core.content.res {
diff --git a/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutXmlParserTest.java b/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutXmlParserTest.java
new file mode 100644
index 0000000..853f89e
--- /dev/null
+++ b/core/core/src/androidTest/java/androidx/core/content/pm/ShortcutXmlParserTest.java
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.core.content.pm;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
+import android.util.Xml;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.filters.MediumTest;
+import androidx.test.filters.SdkSuppress;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.List;
+
+@MediumTest
+@RunWith(AndroidJUnit4.class)
+public class ShortcutXmlParserTest {
+
+ private static final String SHORTCUTS_XML = "<shortcuts xmlns:android=\"http://schemas"
+ + ".android.com/apk/res/android\">\n"
+ + " <shortcut\n"
+ + " android:shortcutId=\"my_shortcut\"\n"
+ + " android:enabled=\"true\"\n"
+ + " android:icon=\"@mipmap/logo_avatar\"\n"
+ + " android:shortcutShortLabel=\"@string/dummy_shortcut_short_label\"\n"
+ + " android:shortcutLongLabel=\"@string/dummy_shortcut_long_label\"\n"
+ + " android:shortcutDisabledMessage=\"@string"
+ + "/dummy_shortcut_disabled_message\">\n"
+ + " <intent\n"
+ + " android:action=\"android.intent.action.VIEW\"\n"
+ + " android:targetPackage=\"androidx.sharetarget.testapp\"\n"
+ + " android:targetClass=\"androidx.sharetarget.testapp"
+ + ".TextConsumerActivity\" />\n"
+ + " <categories android:name=\"android.shortcut.conversation\" />\n"
+ + " </shortcut>\n"
+ + "\n"
+ + " <share-target android:targetClass=\"androidx.sharetarget.testapp"
+ + ".TextConsumerActivity\">\n"
+ + " <data android:mimeType=\"text/plain\"/>\n"
+ + " <category\n"
+ + " android:name=\"androidx.sharetarget.testapp.category"
+ + ".TEXT_SHARE_TARGET\"/>\n"
+ + " </share-target>\n"
+ + "\n"
+ + " <shortcut\n"
+ + " android:shortcutId=\"another_shortcut\"\n"
+ + " android:enabled=\"true\"\n"
+ + " android:icon=\"@mipmap/logo_avatar\"\n"
+ + " android:shortcutShortLabel=\"@string/dummy_shortcut_short_label2\"\n"
+ + " android:shortcutLongLabel=\"@string/dummy_shortcut_long_label2\"\n"
+ + " android:shortcutDisabledMessage=\"@string"
+ + "/dummy_shortcut_disabled_message2\">\n"
+ + " <intent\n"
+ + " android:action=\"android.intent.action.VIEW\"\n"
+ + " android:targetPackage=\"androidx.sharetarget.testapp\"\n"
+ + " android:targetClass=\"androidx.sharetarget.testapp"
+ + ".TextConsumerActivity\" />\n"
+ + " <categories android:name=\"android.shortcut.conversation\" />\n"
+ + " </shortcut>\n"
+ + "\n"
+ + " <share-target android:targetClass=\"androidx.sharetarget.testapp"
+ + ".OtherTextConsumerActivity\">\n"
+ + " <data android:mimeType=\"text/plain\"/>\n"
+ + " <category android:name=\"androidx.sharetarget.testapp.category"
+ + ".OTHER_TEXT_SHARE_TARGET\"/>\n"
+ + " </share-target>\n"
+ + "</shortcuts>\n";
+
+ @Test
+ @SdkSuppress(minSdkVersion = 19)
+ public void testParseShortcutIds() throws XmlPullParserException, IOException {
+ final XmlPullParser parser = Xml.newPullParser();
+ parser.setInput(new ByteArrayInputStream(SHORTCUTS_XML.getBytes(StandardCharsets.UTF_8)),
+ StandardCharsets.UTF_8.name());
+ final List<String> shortcutIds = ShortcutXmlParser.parseShortcutIds(parser);
+ assertNotNull(shortcutIds);
+ assertEquals(2, shortcutIds.size());
+ assertTrue(shortcutIds.contains("my_shortcut"));
+ assertTrue(shortcutIds.contains("another_shortcut"));
+ }
+}
diff --git a/core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingFlingVelocityTest.kt b/core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingFlingVelocityTest.kt
index 10a341e..ffdde65 100644
--- a/core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingFlingVelocityTest.kt
+++ b/core/core/src/androidTest/java/androidx/core/widget/NestedScrollViewNestedScrollingFlingVelocityTest.kt
@@ -24,7 +24,6 @@
import android.widget.FrameLayout
import androidx.core.view.NestedScrollingParent3
import androidx.test.core.app.ApplicationProvider
-import androidx.test.filters.FlakyTest
import androidx.test.filters.LargeTest
import org.hamcrest.MatcherAssert.assertThat
import org.hamcrest.Matchers.closeTo
@@ -84,7 +83,6 @@
testContentView.awaitLayouts(2)
}
- @FlakyTest(bugId = 190538334)
@Test
fun uiFingerFling_flingVelocityIsCorrect() {
diff --git a/core/core/src/main/java/androidx/core/content/pm/ShortcutXmlParser.java b/core/core/src/main/java/androidx/core/content/pm/ShortcutXmlParser.java
new file mode 100644
index 0000000..95a9003
--- /dev/null
+++ b/core/core/src/main/java/androidx/core/content/pm/ShortcutXmlParser.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.core.content.pm;
+
+import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.content.res.XmlResourceParser;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.RestrictTo;
+import androidx.annotation.VisibleForTesting;
+import androidx.annotation.WorkerThread;
+
+import org.xmlpull.v1.XmlPullParser;
+import org.xmlpull.v1.XmlPullParserException;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Parses information of static shortcuts from shortcuts.xml
+ * @hide
+ */
+@RestrictTo(LIBRARY_GROUP)
+public class ShortcutXmlParser {
+
+ private static final String TAG = "ShortcutXmlParser";
+
+ private static final String META_DATA_APP_SHORTCUTS = "android.app.shortcuts";
+ private static final String TAG_SHORTCUT = "shortcut";
+ private static final String ATTR_SHORTCUT_ID = "shortcutId";
+
+ // List of static shortcuts loaded from app's manifest. Will not change while the app is
+ // running.
+ private static volatile ArrayList<String> sShortcutIds;
+ private static final Object GET_INSTANCE_LOCK = new Object();
+
+ /**
+ * Returns a singleton instance of list of ids of static shortcuts parsed from shortcuts.xml
+ */
+ @WorkerThread
+ @NonNull
+ public static List<String> getShortcutIds(@NonNull final Context context) {
+ if (sShortcutIds == null) {
+ synchronized (GET_INSTANCE_LOCK) {
+ if (sShortcutIds == null) {
+ sShortcutIds = new ArrayList<>();
+ sShortcutIds.addAll(parseShortcutIds(context));
+ }
+ }
+ }
+ return sShortcutIds;
+ }
+
+ private ShortcutXmlParser() {
+ /* Hide the constructor */
+ }
+
+ /**
+ * Parses the shortcut ids of static shortcuts from the calling package.
+ * Calling package is determined by {@link Context#getPackageName}
+ * Returns a set of string which contains the ids of static shortcuts.
+ */
+ @NonNull
+ private static Set<String> parseShortcutIds(@NonNull final Context context) {
+ final Set<String> result = new HashSet<>();
+ final Intent mainIntent = new Intent(Intent.ACTION_MAIN);
+ mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
+ mainIntent.setPackage(context.getPackageName());
+
+ final List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentActivities(
+ mainIntent, PackageManager.GET_META_DATA);
+ if (resolveInfos == null || resolveInfos.size() == 0) {
+ return result;
+ }
+ try {
+ for (ResolveInfo info : resolveInfos) {
+ final ActivityInfo activityInfo = info.activityInfo;
+ final Bundle metaData = activityInfo.metaData;
+ if (metaData != null && metaData.containsKey(META_DATA_APP_SHORTCUTS)) {
+ try (XmlResourceParser parser = getXmlResourceParser(context, activityInfo)) {
+ result.addAll(parseShortcutIds(parser));
+ }
+ }
+ }
+ } catch (Exception e) {
+ // Resource ID mismatch may cause various runtime exceptions when parsing XMLs,
+ // But we don't crash the device, so just swallow them.
+ Log.e(TAG, "Failed to parse the Xml resource: ", e);
+ }
+ return result;
+ }
+
+ @NonNull
+ private static XmlResourceParser getXmlResourceParser(Context context, ActivityInfo info) {
+ final XmlResourceParser parser = info.loadXmlMetaData(context.getPackageManager(),
+ META_DATA_APP_SHORTCUTS);
+ if (parser == null) {
+ throw new IllegalArgumentException("Failed to open " + META_DATA_APP_SHORTCUTS
+ + " meta-data resource of " + info.name);
+ }
+
+ return parser;
+ }
+
+ /**
+ * Parses the shortcut ids from given XmlPullParser.
+ */
+ @VisibleForTesting
+ @NonNull
+ public static List<String> parseShortcutIds(@NonNull final XmlPullParser parser)
+ throws IOException, XmlPullParserException {
+
+ final List<String> result = new ArrayList<>(1);
+ int type;
+
+ while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
+ && (type != XmlPullParser.END_TAG || parser.getDepth() > 0)) {
+ final int depth = parser.getDepth();
+ final String tag = parser.getName();
+
+ if ((type == XmlPullParser.START_TAG) && (depth == 2) && TAG_SHORTCUT.equals(tag)) {
+ final String shortcutId = getAttributeValue(
+ parser, ATTR_SHORTCUT_ID);
+ if (shortcutId == null) {
+ continue;
+ }
+ result.add(shortcutId);
+ }
+ }
+
+ return result;
+ }
+
+ private static String getAttributeValue(XmlPullParser parser, String attribute) {
+ String value = parser.getAttributeValue("http://schemas.android.com/apk/res/android",
+ attribute);
+ if (value == null) {
+ value = parser.getAttributeValue(null, attribute);
+ }
+ return value;
+ }
+}
diff --git a/datastore/datastore-core/api/1.0.0-beta03.txt b/datastore/datastore-core/api/1.0.0-beta03.txt
new file mode 100644
index 0000000..abfdd9c
--- /dev/null
+++ b/datastore/datastore-core/api/1.0.0-beta03.txt
@@ -0,0 +1,45 @@
+// Signature format: 4.0
+package androidx.datastore.core {
+
+ public final class CorruptionException extends java.io.IOException {
+ ctor public CorruptionException(String message, optional Throwable? cause);
+ }
+
+ public interface DataMigration<T> {
+ method public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p);
+ method public suspend Object? shouldMigrate(T? currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public interface DataStore<T> {
+ method public kotlinx.coroutines.flow.Flow<T> getData();
+ method public suspend Object? updateData(kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super T>,?> transform, kotlin.coroutines.Continuation<? super T> p);
+ property public abstract kotlinx.coroutines.flow.Flow<T> data;
+ }
+
+ public final class DataStoreFactory {
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, optional kotlinx.coroutines.CoroutineScope scope, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ field public static final androidx.datastore.core.DataStoreFactory INSTANCE;
+ }
+
+ public interface Serializer<T> {
+ method public T! getDefaultValue();
+ method public suspend Object? readFrom(java.io.InputStream input, kotlin.coroutines.Continuation<? super T> p);
+ method public suspend Object? writeTo(T? t, java.io.OutputStream output, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public abstract T! defaultValue;
+ }
+
+}
+
+package androidx.datastore.core.handlers {
+
+ public final class ReplaceFileCorruptionHandler<T> {
+ ctor public ReplaceFileCorruptionHandler(kotlin.jvm.functions.Function1<? super androidx.datastore.core.CorruptionException,? extends T> produceNewData);
+ method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? handleCorruption(androidx.datastore.core.CorruptionException ex, kotlin.coroutines.Continuation<? super T> p) throws java.io.IOException;
+ }
+
+}
+
diff --git a/datastore/datastore-core/api/public_plus_experimental_1.0.0-beta03.txt b/datastore/datastore-core/api/public_plus_experimental_1.0.0-beta03.txt
new file mode 100644
index 0000000..abfdd9c
--- /dev/null
+++ b/datastore/datastore-core/api/public_plus_experimental_1.0.0-beta03.txt
@@ -0,0 +1,45 @@
+// Signature format: 4.0
+package androidx.datastore.core {
+
+ public final class CorruptionException extends java.io.IOException {
+ ctor public CorruptionException(String message, optional Throwable? cause);
+ }
+
+ public interface DataMigration<T> {
+ method public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p);
+ method public suspend Object? shouldMigrate(T? currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public interface DataStore<T> {
+ method public kotlinx.coroutines.flow.Flow<T> getData();
+ method public suspend Object? updateData(kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super T>,?> transform, kotlin.coroutines.Continuation<? super T> p);
+ property public abstract kotlinx.coroutines.flow.Flow<T> data;
+ }
+
+ public final class DataStoreFactory {
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, optional kotlinx.coroutines.CoroutineScope scope, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ field public static final androidx.datastore.core.DataStoreFactory INSTANCE;
+ }
+
+ public interface Serializer<T> {
+ method public T! getDefaultValue();
+ method public suspend Object? readFrom(java.io.InputStream input, kotlin.coroutines.Continuation<? super T> p);
+ method public suspend Object? writeTo(T? t, java.io.OutputStream output, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public abstract T! defaultValue;
+ }
+
+}
+
+package androidx.datastore.core.handlers {
+
+ public final class ReplaceFileCorruptionHandler<T> {
+ ctor public ReplaceFileCorruptionHandler(kotlin.jvm.functions.Function1<? super androidx.datastore.core.CorruptionException,? extends T> produceNewData);
+ method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? handleCorruption(androidx.datastore.core.CorruptionException ex, kotlin.coroutines.Continuation<? super T> p) throws java.io.IOException;
+ }
+
+}
+
diff --git a/datastore/datastore-core/api/restricted_1.0.0-beta03.txt b/datastore/datastore-core/api/restricted_1.0.0-beta03.txt
new file mode 100644
index 0000000..abfdd9c
--- /dev/null
+++ b/datastore/datastore-core/api/restricted_1.0.0-beta03.txt
@@ -0,0 +1,45 @@
+// Signature format: 4.0
+package androidx.datastore.core {
+
+ public final class CorruptionException extends java.io.IOException {
+ ctor public CorruptionException(String message, optional Throwable? cause);
+ }
+
+ public interface DataMigration<T> {
+ method public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p);
+ method public suspend Object? shouldMigrate(T? currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public interface DataStore<T> {
+ method public kotlinx.coroutines.flow.Flow<T> getData();
+ method public suspend Object? updateData(kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super T>,?> transform, kotlin.coroutines.Continuation<? super T> p);
+ property public abstract kotlinx.coroutines.flow.Flow<T> data;
+ }
+
+ public final class DataStoreFactory {
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, optional kotlinx.coroutines.CoroutineScope scope, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<T>> migrations, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public <T> androidx.datastore.core.DataStore<T> create(androidx.datastore.core.Serializer<T> serializer, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ field public static final androidx.datastore.core.DataStoreFactory INSTANCE;
+ }
+
+ public interface Serializer<T> {
+ method public T! getDefaultValue();
+ method public suspend Object? readFrom(java.io.InputStream input, kotlin.coroutines.Continuation<? super T> p);
+ method public suspend Object? writeTo(T? t, java.io.OutputStream output, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+ property public abstract T! defaultValue;
+ }
+
+}
+
+package androidx.datastore.core.handlers {
+
+ public final class ReplaceFileCorruptionHandler<T> {
+ ctor public ReplaceFileCorruptionHandler(kotlin.jvm.functions.Function1<? super androidx.datastore.core.CorruptionException,? extends T> produceNewData);
+ method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? handleCorruption(androidx.datastore.core.CorruptionException ex, kotlin.coroutines.Continuation<? super T> p) throws java.io.IOException;
+ }
+
+}
+
diff --git a/datastore/datastore-preferences-core/api/1.0.0-beta03.txt b/datastore/datastore-preferences-core/api/1.0.0-beta03.txt
new file mode 100644
index 0000000..1b3e2d0
--- /dev/null
+++ b/datastore/datastore-preferences-core/api/1.0.0-beta03.txt
@@ -0,0 +1,63 @@
+// Signature format: 4.0
+package androidx.datastore.preferences.core {
+
+ public final class MutablePreferences extends androidx.datastore.preferences.core.Preferences {
+ method public java.util.Map<androidx.datastore.preferences.core.Preferences.Key<?>,java.lang.Object> asMap();
+ method public void clear();
+ method public operator <T> boolean contains(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public operator <T> T? get(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public operator void minusAssign(androidx.datastore.preferences.core.Preferences.Key<?> key);
+ method public operator void plusAssign(androidx.datastore.preferences.core.Preferences prefs);
+ method public operator void plusAssign(androidx.datastore.preferences.core.Preferences.Pair<?> pair);
+ method public void putAll(androidx.datastore.preferences.core.Preferences.Pair<?>... pairs);
+ method public <T> T! remove(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public operator <T> void set(androidx.datastore.preferences.core.Preferences.Key<T> key, T? value);
+ }
+
+ public final class PreferenceDataStoreFactory {
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>> migrations, optional kotlinx.coroutines.CoroutineScope scope, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>> migrations, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ field public static final androidx.datastore.preferences.core.PreferenceDataStoreFactory INSTANCE;
+ }
+
+ public abstract class Preferences {
+ method public abstract java.util.Map<androidx.datastore.preferences.core.Preferences.Key<?>,java.lang.Object> asMap();
+ method public abstract operator <T> boolean contains(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public abstract operator <T> T? get(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public final androidx.datastore.preferences.core.MutablePreferences toMutablePreferences();
+ method public final androidx.datastore.preferences.core.Preferences toPreferences();
+ }
+
+ public static final class Preferences.Key<T> {
+ method public String getName();
+ method public infix androidx.datastore.preferences.core.Preferences.Pair<T> to(T? value);
+ property public final String name;
+ }
+
+ public static final class Preferences.Pair<T> {
+ }
+
+ public final class PreferencesFactory {
+ method public static androidx.datastore.preferences.core.Preferences create(androidx.datastore.preferences.core.Preferences.Pair<?>... pairs);
+ method public static androidx.datastore.preferences.core.Preferences createEmpty();
+ method public static androidx.datastore.preferences.core.MutablePreferences createMutable(androidx.datastore.preferences.core.Preferences.Pair<?>... pairs);
+ }
+
+ public final class PreferencesKeys {
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Boolean> booleanKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Double> doubleKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Float> floatKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Integer> intKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Long> longKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.String> stringKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.util.Set<java.lang.String>> stringSetKey(String name);
+ }
+
+ public final class PreferencesKt {
+ method public static suspend Object? edit(androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences>, kotlin.jvm.functions.Function2<? super androidx.datastore.preferences.core.MutablePreferences,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> transform, kotlin.coroutines.Continuation<? super androidx.datastore.preferences.core.Preferences> p);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences-core/api/public_plus_experimental_1.0.0-beta03.txt b/datastore/datastore-preferences-core/api/public_plus_experimental_1.0.0-beta03.txt
new file mode 100644
index 0000000..1b3e2d0
--- /dev/null
+++ b/datastore/datastore-preferences-core/api/public_plus_experimental_1.0.0-beta03.txt
@@ -0,0 +1,63 @@
+// Signature format: 4.0
+package androidx.datastore.preferences.core {
+
+ public final class MutablePreferences extends androidx.datastore.preferences.core.Preferences {
+ method public java.util.Map<androidx.datastore.preferences.core.Preferences.Key<?>,java.lang.Object> asMap();
+ method public void clear();
+ method public operator <T> boolean contains(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public operator <T> T? get(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public operator void minusAssign(androidx.datastore.preferences.core.Preferences.Key<?> key);
+ method public operator void plusAssign(androidx.datastore.preferences.core.Preferences prefs);
+ method public operator void plusAssign(androidx.datastore.preferences.core.Preferences.Pair<?> pair);
+ method public void putAll(androidx.datastore.preferences.core.Preferences.Pair<?>... pairs);
+ method public <T> T! remove(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public operator <T> void set(androidx.datastore.preferences.core.Preferences.Key<T> key, T? value);
+ }
+
+ public final class PreferenceDataStoreFactory {
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>> migrations, optional kotlinx.coroutines.CoroutineScope scope, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>> migrations, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ field public static final androidx.datastore.preferences.core.PreferenceDataStoreFactory INSTANCE;
+ }
+
+ public abstract class Preferences {
+ method public abstract java.util.Map<androidx.datastore.preferences.core.Preferences.Key<?>,java.lang.Object> asMap();
+ method public abstract operator <T> boolean contains(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public abstract operator <T> T? get(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public final androidx.datastore.preferences.core.MutablePreferences toMutablePreferences();
+ method public final androidx.datastore.preferences.core.Preferences toPreferences();
+ }
+
+ public static final class Preferences.Key<T> {
+ method public String getName();
+ method public infix androidx.datastore.preferences.core.Preferences.Pair<T> to(T? value);
+ property public final String name;
+ }
+
+ public static final class Preferences.Pair<T> {
+ }
+
+ public final class PreferencesFactory {
+ method public static androidx.datastore.preferences.core.Preferences create(androidx.datastore.preferences.core.Preferences.Pair<?>... pairs);
+ method public static androidx.datastore.preferences.core.Preferences createEmpty();
+ method public static androidx.datastore.preferences.core.MutablePreferences createMutable(androidx.datastore.preferences.core.Preferences.Pair<?>... pairs);
+ }
+
+ public final class PreferencesKeys {
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Boolean> booleanKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Double> doubleKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Float> floatKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Integer> intKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Long> longKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.String> stringKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.util.Set<java.lang.String>> stringSetKey(String name);
+ }
+
+ public final class PreferencesKt {
+ method public static suspend Object? edit(androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences>, kotlin.jvm.functions.Function2<? super androidx.datastore.preferences.core.MutablePreferences,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> transform, kotlin.coroutines.Continuation<? super androidx.datastore.preferences.core.Preferences> p);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences-core/api/restricted_1.0.0-beta03.txt b/datastore/datastore-preferences-core/api/restricted_1.0.0-beta03.txt
new file mode 100644
index 0000000..1b3e2d0
--- /dev/null
+++ b/datastore/datastore-preferences-core/api/restricted_1.0.0-beta03.txt
@@ -0,0 +1,63 @@
+// Signature format: 4.0
+package androidx.datastore.preferences.core {
+
+ public final class MutablePreferences extends androidx.datastore.preferences.core.Preferences {
+ method public java.util.Map<androidx.datastore.preferences.core.Preferences.Key<?>,java.lang.Object> asMap();
+ method public void clear();
+ method public operator <T> boolean contains(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public operator <T> T? get(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public operator void minusAssign(androidx.datastore.preferences.core.Preferences.Key<?> key);
+ method public operator void plusAssign(androidx.datastore.preferences.core.Preferences prefs);
+ method public operator void plusAssign(androidx.datastore.preferences.core.Preferences.Pair<?> pair);
+ method public void putAll(androidx.datastore.preferences.core.Preferences.Pair<?>... pairs);
+ method public <T> T! remove(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public operator <T> void set(androidx.datastore.preferences.core.Preferences.Key<T> key, T? value);
+ }
+
+ public final class PreferenceDataStoreFactory {
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>> migrations, optional kotlinx.coroutines.CoroutineScope scope, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>> migrations, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ method public androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences> create(kotlin.jvm.functions.Function0<? extends java.io.File> produceFile);
+ field public static final androidx.datastore.preferences.core.PreferenceDataStoreFactory INSTANCE;
+ }
+
+ public abstract class Preferences {
+ method public abstract java.util.Map<androidx.datastore.preferences.core.Preferences.Key<?>,java.lang.Object> asMap();
+ method public abstract operator <T> boolean contains(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public abstract operator <T> T? get(androidx.datastore.preferences.core.Preferences.Key<T> key);
+ method public final androidx.datastore.preferences.core.MutablePreferences toMutablePreferences();
+ method public final androidx.datastore.preferences.core.Preferences toPreferences();
+ }
+
+ public static final class Preferences.Key<T> {
+ method public String getName();
+ method public infix androidx.datastore.preferences.core.Preferences.Pair<T> to(T? value);
+ property public final String name;
+ }
+
+ public static final class Preferences.Pair<T> {
+ }
+
+ public final class PreferencesFactory {
+ method public static androidx.datastore.preferences.core.Preferences create(androidx.datastore.preferences.core.Preferences.Pair<?>... pairs);
+ method public static androidx.datastore.preferences.core.Preferences createEmpty();
+ method public static androidx.datastore.preferences.core.MutablePreferences createMutable(androidx.datastore.preferences.core.Preferences.Pair<?>... pairs);
+ }
+
+ public final class PreferencesKeys {
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Boolean> booleanKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Double> doubleKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Float> floatKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Integer> intKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.Long> longKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.lang.String> stringKey(String name);
+ method public static androidx.datastore.preferences.core.Preferences.Key<java.util.Set<java.lang.String>> stringSetKey(String name);
+ }
+
+ public final class PreferencesKt {
+ method public static suspend Object? edit(androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences>, kotlin.jvm.functions.Function2<? super androidx.datastore.preferences.core.MutablePreferences,? super kotlin.coroutines.Continuation<? super kotlin.Unit>,?> transform, kotlin.coroutines.Continuation<? super androidx.datastore.preferences.core.Preferences> p);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences-rxjava2/api/1.0.0-beta03.txt b/datastore/datastore-preferences-rxjava2/api/1.0.0-beta03.txt
new file mode 100644
index 0000000..66b2ceb
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava2/api/1.0.0-beta03.txt
@@ -0,0 +1,19 @@
+// Signature format: 4.0
+package androidx.datastore.preferences.rxjava2 {
+
+ public final class RxPreferenceDataStoreBuilder {
+ ctor public RxPreferenceDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile);
+ ctor public RxPreferenceDataStoreBuilder(android.content.Context context, String name);
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder addDataMigration(androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences> dataMigration);
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder addRxDataMigration(androidx.datastore.rxjava2.RxDataMigration<androidx.datastore.preferences.core.Preferences> rxDataMigration);
+ method public androidx.datastore.rxjava2.RxDataStore<androidx.datastore.preferences.core.Preferences> build();
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences> corruptionHandler);
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder setIoScheduler(io.reactivex.Scheduler ioScheduler);
+ }
+
+ public final class RxPreferenceDataStoreDelegateKt {
+ method public static kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava2.RxDataStore<androidx.datastore.preferences.core.Preferences>> rxPreferencesDataStore(String name, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>>> produceMigrations, optional io.reactivex.Scheduler scheduler);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt b/datastore/datastore-preferences-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt
new file mode 100644
index 0000000..66b2ceb
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt
@@ -0,0 +1,19 @@
+// Signature format: 4.0
+package androidx.datastore.preferences.rxjava2 {
+
+ public final class RxPreferenceDataStoreBuilder {
+ ctor public RxPreferenceDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile);
+ ctor public RxPreferenceDataStoreBuilder(android.content.Context context, String name);
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder addDataMigration(androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences> dataMigration);
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder addRxDataMigration(androidx.datastore.rxjava2.RxDataMigration<androidx.datastore.preferences.core.Preferences> rxDataMigration);
+ method public androidx.datastore.rxjava2.RxDataStore<androidx.datastore.preferences.core.Preferences> build();
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences> corruptionHandler);
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder setIoScheduler(io.reactivex.Scheduler ioScheduler);
+ }
+
+ public final class RxPreferenceDataStoreDelegateKt {
+ method public static kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava2.RxDataStore<androidx.datastore.preferences.core.Preferences>> rxPreferencesDataStore(String name, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>>> produceMigrations, optional io.reactivex.Scheduler scheduler);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences-rxjava2/api/res-1.0.0-beta03.txt b/datastore/datastore-preferences-rxjava2/api/res-1.0.0-beta03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava2/api/res-1.0.0-beta03.txt
diff --git a/datastore/datastore-preferences-rxjava2/api/restricted_1.0.0-beta03.txt b/datastore/datastore-preferences-rxjava2/api/restricted_1.0.0-beta03.txt
new file mode 100644
index 0000000..66b2ceb
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava2/api/restricted_1.0.0-beta03.txt
@@ -0,0 +1,19 @@
+// Signature format: 4.0
+package androidx.datastore.preferences.rxjava2 {
+
+ public final class RxPreferenceDataStoreBuilder {
+ ctor public RxPreferenceDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile);
+ ctor public RxPreferenceDataStoreBuilder(android.content.Context context, String name);
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder addDataMigration(androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences> dataMigration);
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder addRxDataMigration(androidx.datastore.rxjava2.RxDataMigration<androidx.datastore.preferences.core.Preferences> rxDataMigration);
+ method public androidx.datastore.rxjava2.RxDataStore<androidx.datastore.preferences.core.Preferences> build();
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences> corruptionHandler);
+ method public androidx.datastore.preferences.rxjava2.RxPreferenceDataStoreBuilder setIoScheduler(io.reactivex.Scheduler ioScheduler);
+ }
+
+ public final class RxPreferenceDataStoreDelegateKt {
+ method public static kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava2.RxDataStore<androidx.datastore.preferences.core.Preferences>> rxPreferencesDataStore(String name, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>>> produceMigrations, optional io.reactivex.Scheduler scheduler);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences-rxjava3/api/1.0.0-beta03.txt b/datastore/datastore-preferences-rxjava3/api/1.0.0-beta03.txt
new file mode 100644
index 0000000..4e0b0bf
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava3/api/1.0.0-beta03.txt
@@ -0,0 +1,19 @@
+// Signature format: 4.0
+package androidx.datastore.preferences.rxjava3 {
+
+ public final class RxPreferenceDataStoreBuilder {
+ ctor public RxPreferenceDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile);
+ ctor public RxPreferenceDataStoreBuilder(android.content.Context context, String name);
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder addDataMigration(androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences> dataMigration);
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder addRxDataMigration(androidx.datastore.rxjava3.RxDataMigration<androidx.datastore.preferences.core.Preferences> rxDataMigration);
+ method public androidx.datastore.rxjava3.RxDataStore<androidx.datastore.preferences.core.Preferences> build();
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences> corruptionHandler);
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder setIoScheduler(io.reactivex.rxjava3.core.Scheduler ioScheduler);
+ }
+
+ public final class RxPreferenceDataStoreDelegateKt {
+ method public static kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava3.RxDataStore<androidx.datastore.preferences.core.Preferences>> rxPreferencesDataStore(String name, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>>> produceMigrations, optional io.reactivex.rxjava3.core.Scheduler scheduler);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt b/datastore/datastore-preferences-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt
new file mode 100644
index 0000000..4e0b0bf
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt
@@ -0,0 +1,19 @@
+// Signature format: 4.0
+package androidx.datastore.preferences.rxjava3 {
+
+ public final class RxPreferenceDataStoreBuilder {
+ ctor public RxPreferenceDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile);
+ ctor public RxPreferenceDataStoreBuilder(android.content.Context context, String name);
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder addDataMigration(androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences> dataMigration);
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder addRxDataMigration(androidx.datastore.rxjava3.RxDataMigration<androidx.datastore.preferences.core.Preferences> rxDataMigration);
+ method public androidx.datastore.rxjava3.RxDataStore<androidx.datastore.preferences.core.Preferences> build();
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences> corruptionHandler);
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder setIoScheduler(io.reactivex.rxjava3.core.Scheduler ioScheduler);
+ }
+
+ public final class RxPreferenceDataStoreDelegateKt {
+ method public static kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava3.RxDataStore<androidx.datastore.preferences.core.Preferences>> rxPreferencesDataStore(String name, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>>> produceMigrations, optional io.reactivex.rxjava3.core.Scheduler scheduler);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences-rxjava3/api/res-1.0.0-beta03.txt b/datastore/datastore-preferences-rxjava3/api/res-1.0.0-beta03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava3/api/res-1.0.0-beta03.txt
diff --git a/datastore/datastore-preferences-rxjava3/api/restricted_1.0.0-beta03.txt b/datastore/datastore-preferences-rxjava3/api/restricted_1.0.0-beta03.txt
new file mode 100644
index 0000000..4e0b0bf
--- /dev/null
+++ b/datastore/datastore-preferences-rxjava3/api/restricted_1.0.0-beta03.txt
@@ -0,0 +1,19 @@
+// Signature format: 4.0
+package androidx.datastore.preferences.rxjava3 {
+
+ public final class RxPreferenceDataStoreBuilder {
+ ctor public RxPreferenceDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile);
+ ctor public RxPreferenceDataStoreBuilder(android.content.Context context, String name);
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder addDataMigration(androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences> dataMigration);
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder addRxDataMigration(androidx.datastore.rxjava3.RxDataMigration<androidx.datastore.preferences.core.Preferences> rxDataMigration);
+ method public androidx.datastore.rxjava3.RxDataStore<androidx.datastore.preferences.core.Preferences> build();
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences> corruptionHandler);
+ method public androidx.datastore.preferences.rxjava3.RxPreferenceDataStoreBuilder setIoScheduler(io.reactivex.rxjava3.core.Scheduler ioScheduler);
+ }
+
+ public final class RxPreferenceDataStoreDelegateKt {
+ method public static kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava3.RxDataStore<androidx.datastore.preferences.core.Preferences>> rxPreferencesDataStore(String name, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>>> produceMigrations, optional io.reactivex.rxjava3.core.Scheduler scheduler);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences/api/1.0.0-beta03.txt b/datastore/datastore-preferences/api/1.0.0-beta03.txt
new file mode 100644
index 0000000..722515f
--- /dev/null
+++ b/datastore/datastore-preferences/api/1.0.0-beta03.txt
@@ -0,0 +1,20 @@
+// Signature format: 4.0
+package androidx.datastore.preferences {
+
+ public final class PreferenceDataStoreDelegateKt {
+ method public static kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences>> preferencesDataStore(String name, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>>> produceMigrations, optional kotlinx.coroutines.CoroutineScope scope);
+ }
+
+ public final class PreferenceDataStoreFile {
+ method public static java.io.File preferencesDataStoreFile(android.content.Context, String name);
+ }
+
+ public final class SharedPreferencesMigrationKt {
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate);
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences);
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate);
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences/api/public_plus_experimental_1.0.0-beta03.txt b/datastore/datastore-preferences/api/public_plus_experimental_1.0.0-beta03.txt
new file mode 100644
index 0000000..722515f
--- /dev/null
+++ b/datastore/datastore-preferences/api/public_plus_experimental_1.0.0-beta03.txt
@@ -0,0 +1,20 @@
+// Signature format: 4.0
+package androidx.datastore.preferences {
+
+ public final class PreferenceDataStoreDelegateKt {
+ method public static kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences>> preferencesDataStore(String name, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>>> produceMigrations, optional kotlinx.coroutines.CoroutineScope scope);
+ }
+
+ public final class PreferenceDataStoreFile {
+ method public static java.io.File preferencesDataStoreFile(android.content.Context, String name);
+ }
+
+ public final class SharedPreferencesMigrationKt {
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate);
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences);
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate);
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName);
+ }
+
+}
+
diff --git a/datastore/datastore-preferences/api/res-1.0.0-beta03.txt b/datastore/datastore-preferences/api/res-1.0.0-beta03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/datastore/datastore-preferences/api/res-1.0.0-beta03.txt
diff --git a/datastore/datastore-preferences/api/restricted_1.0.0-beta03.txt b/datastore/datastore-preferences/api/restricted_1.0.0-beta03.txt
new file mode 100644
index 0000000..722515f
--- /dev/null
+++ b/datastore/datastore-preferences/api/restricted_1.0.0-beta03.txt
@@ -0,0 +1,20 @@
+// Signature format: 4.0
+package androidx.datastore.preferences {
+
+ public final class PreferenceDataStoreDelegateKt {
+ method public static kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.core.DataStore<androidx.datastore.preferences.core.Preferences>> preferencesDataStore(String name, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<androidx.datastore.preferences.core.Preferences>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<androidx.datastore.preferences.core.Preferences>>> produceMigrations, optional kotlinx.coroutines.CoroutineScope scope);
+ }
+
+ public final class PreferenceDataStoreFile {
+ method public static java.io.File preferencesDataStoreFile(android.content.Context, String name);
+ }
+
+ public final class SharedPreferencesMigrationKt {
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate);
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences);
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate);
+ method public static androidx.datastore.migrations.SharedPreferencesMigration<androidx.datastore.preferences.core.Preferences> SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName);
+ }
+
+}
+
diff --git a/datastore/datastore-rxjava2/api/1.0.0-beta03.txt b/datastore/datastore-rxjava2/api/1.0.0-beta03.txt
new file mode 100644
index 0000000..433238b
--- /dev/null
+++ b/datastore/datastore-rxjava2/api/1.0.0-beta03.txt
@@ -0,0 +1,42 @@
+// Signature format: 4.0
+package androidx.datastore.rxjava2 {
+
+ public interface RxDataMigration<T> {
+ method public io.reactivex.Completable cleanUp();
+ method public io.reactivex.Single<T!> migrate(T?);
+ method public io.reactivex.Single<java.lang.Boolean!> shouldMigrate(T?);
+ }
+
+ public final class RxDataStore<T> implements io.reactivex.disposables.Disposable {
+ method public void dispose();
+ method public boolean isDisposed();
+ method public io.reactivex.Completable shutdownComplete();
+ }
+
+ public final class RxDataStoreBuilder<T> {
+ ctor public RxDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer);
+ ctor public RxDataStoreBuilder(android.content.Context context, String fileName, androidx.datastore.core.Serializer<T> serializer);
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> addDataMigration(androidx.datastore.core.DataMigration<T> dataMigration);
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> addRxDataMigration(androidx.datastore.rxjava2.RxDataMigration<T> rxDataMigration);
+ method public androidx.datastore.rxjava2.RxDataStore<T> build();
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T> corruptionHandler);
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> setIoScheduler(io.reactivex.Scheduler ioScheduler);
+ }
+
+ public final class RxDataStoreDelegateKt {
+ method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava2.RxDataStore<T>> rxDataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional io.reactivex.Scheduler scheduler);
+ }
+
+ public interface RxSharedPreferencesMigration<T> {
+ method public io.reactivex.Single<T> migrate(androidx.datastore.migrations.SharedPreferencesView sharedPreferencesView, T? currentData);
+ method public default io.reactivex.Single<java.lang.Boolean> shouldMigrate(T? currentData);
+ }
+
+ public final class RxSharedPreferencesMigrationBuilder<T> {
+ ctor public RxSharedPreferencesMigrationBuilder(android.content.Context context, String sharedPreferencesName, androidx.datastore.rxjava2.RxSharedPreferencesMigration<T> rxSharedPreferencesMigration);
+ method public androidx.datastore.core.DataMigration<T> build();
+ method public androidx.datastore.rxjava2.RxSharedPreferencesMigrationBuilder<T> setKeysToMigrate(java.lang.String... keys);
+ }
+
+}
+
diff --git a/datastore/datastore-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt b/datastore/datastore-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt
new file mode 100644
index 0000000..e662ed7
--- /dev/null
+++ b/datastore/datastore-rxjava2/api/public_plus_experimental_1.0.0-beta03.txt
@@ -0,0 +1,44 @@
+// Signature format: 4.0
+package androidx.datastore.rxjava2 {
+
+ public interface RxDataMigration<T> {
+ method public io.reactivex.Completable cleanUp();
+ method public io.reactivex.Single<T!> migrate(T?);
+ method public io.reactivex.Single<java.lang.Boolean!> shouldMigrate(T?);
+ }
+
+ public final class RxDataStore<T> implements io.reactivex.disposables.Disposable {
+ method @kotlinx.coroutines.ExperimentalCoroutinesApi public io.reactivex.Flowable<T> data();
+ method public void dispose();
+ method public boolean isDisposed();
+ method public io.reactivex.Completable shutdownComplete();
+ method @kotlinx.coroutines.ExperimentalCoroutinesApi public io.reactivex.Single<T> updateDataAsync(io.reactivex.functions.Function<T,io.reactivex.Single<T>> transform);
+ }
+
+ public final class RxDataStoreBuilder<T> {
+ ctor public RxDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer);
+ ctor public RxDataStoreBuilder(android.content.Context context, String fileName, androidx.datastore.core.Serializer<T> serializer);
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> addDataMigration(androidx.datastore.core.DataMigration<T> dataMigration);
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> addRxDataMigration(androidx.datastore.rxjava2.RxDataMigration<T> rxDataMigration);
+ method public androidx.datastore.rxjava2.RxDataStore<T> build();
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T> corruptionHandler);
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> setIoScheduler(io.reactivex.Scheduler ioScheduler);
+ }
+
+ public final class RxDataStoreDelegateKt {
+ method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava2.RxDataStore<T>> rxDataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional io.reactivex.Scheduler scheduler);
+ }
+
+ public interface RxSharedPreferencesMigration<T> {
+ method public io.reactivex.Single<T> migrate(androidx.datastore.migrations.SharedPreferencesView sharedPreferencesView, T? currentData);
+ method public default io.reactivex.Single<java.lang.Boolean> shouldMigrate(T? currentData);
+ }
+
+ public final class RxSharedPreferencesMigrationBuilder<T> {
+ ctor public RxSharedPreferencesMigrationBuilder(android.content.Context context, String sharedPreferencesName, androidx.datastore.rxjava2.RxSharedPreferencesMigration<T> rxSharedPreferencesMigration);
+ method public androidx.datastore.core.DataMigration<T> build();
+ method public androidx.datastore.rxjava2.RxSharedPreferencesMigrationBuilder<T> setKeysToMigrate(java.lang.String... keys);
+ }
+
+}
+
diff --git a/datastore/datastore-rxjava2/api/res-1.0.0-beta03.txt b/datastore/datastore-rxjava2/api/res-1.0.0-beta03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/datastore/datastore-rxjava2/api/res-1.0.0-beta03.txt
diff --git a/datastore/datastore-rxjava2/api/restricted_1.0.0-beta03.txt b/datastore/datastore-rxjava2/api/restricted_1.0.0-beta03.txt
new file mode 100644
index 0000000..433238b
--- /dev/null
+++ b/datastore/datastore-rxjava2/api/restricted_1.0.0-beta03.txt
@@ -0,0 +1,42 @@
+// Signature format: 4.0
+package androidx.datastore.rxjava2 {
+
+ public interface RxDataMigration<T> {
+ method public io.reactivex.Completable cleanUp();
+ method public io.reactivex.Single<T!> migrate(T?);
+ method public io.reactivex.Single<java.lang.Boolean!> shouldMigrate(T?);
+ }
+
+ public final class RxDataStore<T> implements io.reactivex.disposables.Disposable {
+ method public void dispose();
+ method public boolean isDisposed();
+ method public io.reactivex.Completable shutdownComplete();
+ }
+
+ public final class RxDataStoreBuilder<T> {
+ ctor public RxDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer);
+ ctor public RxDataStoreBuilder(android.content.Context context, String fileName, androidx.datastore.core.Serializer<T> serializer);
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> addDataMigration(androidx.datastore.core.DataMigration<T> dataMigration);
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> addRxDataMigration(androidx.datastore.rxjava2.RxDataMigration<T> rxDataMigration);
+ method public androidx.datastore.rxjava2.RxDataStore<T> build();
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T> corruptionHandler);
+ method public androidx.datastore.rxjava2.RxDataStoreBuilder<T> setIoScheduler(io.reactivex.Scheduler ioScheduler);
+ }
+
+ public final class RxDataStoreDelegateKt {
+ method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava2.RxDataStore<T>> rxDataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional io.reactivex.Scheduler scheduler);
+ }
+
+ public interface RxSharedPreferencesMigration<T> {
+ method public io.reactivex.Single<T> migrate(androidx.datastore.migrations.SharedPreferencesView sharedPreferencesView, T? currentData);
+ method public default io.reactivex.Single<java.lang.Boolean> shouldMigrate(T? currentData);
+ }
+
+ public final class RxSharedPreferencesMigrationBuilder<T> {
+ ctor public RxSharedPreferencesMigrationBuilder(android.content.Context context, String sharedPreferencesName, androidx.datastore.rxjava2.RxSharedPreferencesMigration<T> rxSharedPreferencesMigration);
+ method public androidx.datastore.core.DataMigration<T> build();
+ method public androidx.datastore.rxjava2.RxSharedPreferencesMigrationBuilder<T> setKeysToMigrate(java.lang.String... keys);
+ }
+
+}
+
diff --git a/datastore/datastore-rxjava3/api/1.0.0-beta03.txt b/datastore/datastore-rxjava3/api/1.0.0-beta03.txt
new file mode 100644
index 0000000..1033671
--- /dev/null
+++ b/datastore/datastore-rxjava3/api/1.0.0-beta03.txt
@@ -0,0 +1,42 @@
+// Signature format: 4.0
+package androidx.datastore.rxjava3 {
+
+ public interface RxDataMigration<T> {
+ method public io.reactivex.rxjava3.core.Completable cleanUp();
+ method public io.reactivex.rxjava3.core.Single<T!> migrate(T?);
+ method public io.reactivex.rxjava3.core.Single<java.lang.Boolean!> shouldMigrate(T?);
+ }
+
+ public final class RxDataStore<T> implements io.reactivex.rxjava3.disposables.Disposable {
+ method public void dispose();
+ method public boolean isDisposed();
+ method public io.reactivex.rxjava3.core.Completable shutdownComplete();
+ }
+
+ public final class RxDataStoreBuilder<T> {
+ ctor public RxDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer);
+ ctor public RxDataStoreBuilder(android.content.Context context, String fileName, androidx.datastore.core.Serializer<T> serializer);
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> addDataMigration(androidx.datastore.core.DataMigration<T> dataMigration);
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> addRxDataMigration(androidx.datastore.rxjava3.RxDataMigration<T> rxDataMigration);
+ method public androidx.datastore.rxjava3.RxDataStore<T> build();
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T> corruptionHandler);
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> setIoScheduler(io.reactivex.rxjava3.core.Scheduler ioScheduler);
+ }
+
+ public final class RxDataStoreDelegateKt {
+ method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava3.RxDataStore<T>> rxDataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional io.reactivex.rxjava3.core.Scheduler scheduler);
+ }
+
+ public interface RxSharedPreferencesMigration<T> {
+ method public io.reactivex.rxjava3.core.Single<T> migrate(androidx.datastore.migrations.SharedPreferencesView sharedPreferencesView, T? currentData);
+ method public default io.reactivex.rxjava3.core.Single<java.lang.Boolean> shouldMigrate(T? currentData);
+ }
+
+ public final class RxSharedPreferencesMigrationBuilder<T> {
+ ctor public RxSharedPreferencesMigrationBuilder(android.content.Context context, String sharedPreferencesName, androidx.datastore.rxjava3.RxSharedPreferencesMigration<T> rxSharedPreferencesMigration);
+ method public androidx.datastore.core.DataMigration<T> build();
+ method public androidx.datastore.rxjava3.RxSharedPreferencesMigrationBuilder<T> setKeysToMigrate(java.lang.String... keys);
+ }
+
+}
+
diff --git a/datastore/datastore-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt b/datastore/datastore-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt
new file mode 100644
index 0000000..05fa237
--- /dev/null
+++ b/datastore/datastore-rxjava3/api/public_plus_experimental_1.0.0-beta03.txt
@@ -0,0 +1,44 @@
+// Signature format: 4.0
+package androidx.datastore.rxjava3 {
+
+ public interface RxDataMigration<T> {
+ method public io.reactivex.rxjava3.core.Completable cleanUp();
+ method public io.reactivex.rxjava3.core.Single<T!> migrate(T?);
+ method public io.reactivex.rxjava3.core.Single<java.lang.Boolean!> shouldMigrate(T?);
+ }
+
+ public final class RxDataStore<T> implements io.reactivex.rxjava3.disposables.Disposable {
+ method @kotlinx.coroutines.ExperimentalCoroutinesApi public io.reactivex.rxjava3.core.Flowable<T> data();
+ method public void dispose();
+ method public boolean isDisposed();
+ method public io.reactivex.rxjava3.core.Completable shutdownComplete();
+ method @kotlinx.coroutines.ExperimentalCoroutinesApi public io.reactivex.rxjava3.core.Single<T> updateDataAsync(io.reactivex.rxjava3.functions.Function<T,io.reactivex.rxjava3.core.Single<T>> transform);
+ }
+
+ public final class RxDataStoreBuilder<T> {
+ ctor public RxDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer);
+ ctor public RxDataStoreBuilder(android.content.Context context, String fileName, androidx.datastore.core.Serializer<T> serializer);
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> addDataMigration(androidx.datastore.core.DataMigration<T> dataMigration);
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> addRxDataMigration(androidx.datastore.rxjava3.RxDataMigration<T> rxDataMigration);
+ method public androidx.datastore.rxjava3.RxDataStore<T> build();
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T> corruptionHandler);
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> setIoScheduler(io.reactivex.rxjava3.core.Scheduler ioScheduler);
+ }
+
+ public final class RxDataStoreDelegateKt {
+ method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava3.RxDataStore<T>> rxDataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional io.reactivex.rxjava3.core.Scheduler scheduler);
+ }
+
+ public interface RxSharedPreferencesMigration<T> {
+ method public io.reactivex.rxjava3.core.Single<T> migrate(androidx.datastore.migrations.SharedPreferencesView sharedPreferencesView, T? currentData);
+ method public default io.reactivex.rxjava3.core.Single<java.lang.Boolean> shouldMigrate(T? currentData);
+ }
+
+ public final class RxSharedPreferencesMigrationBuilder<T> {
+ ctor public RxSharedPreferencesMigrationBuilder(android.content.Context context, String sharedPreferencesName, androidx.datastore.rxjava3.RxSharedPreferencesMigration<T> rxSharedPreferencesMigration);
+ method public androidx.datastore.core.DataMigration<T> build();
+ method public androidx.datastore.rxjava3.RxSharedPreferencesMigrationBuilder<T> setKeysToMigrate(java.lang.String... keys);
+ }
+
+}
+
diff --git a/datastore/datastore-rxjava3/api/res-1.0.0-beta03.txt b/datastore/datastore-rxjava3/api/res-1.0.0-beta03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/datastore/datastore-rxjava3/api/res-1.0.0-beta03.txt
diff --git a/datastore/datastore-rxjava3/api/restricted_1.0.0-beta03.txt b/datastore/datastore-rxjava3/api/restricted_1.0.0-beta03.txt
new file mode 100644
index 0000000..1033671
--- /dev/null
+++ b/datastore/datastore-rxjava3/api/restricted_1.0.0-beta03.txt
@@ -0,0 +1,42 @@
+// Signature format: 4.0
+package androidx.datastore.rxjava3 {
+
+ public interface RxDataMigration<T> {
+ method public io.reactivex.rxjava3.core.Completable cleanUp();
+ method public io.reactivex.rxjava3.core.Single<T!> migrate(T?);
+ method public io.reactivex.rxjava3.core.Single<java.lang.Boolean!> shouldMigrate(T?);
+ }
+
+ public final class RxDataStore<T> implements io.reactivex.rxjava3.disposables.Disposable {
+ method public void dispose();
+ method public boolean isDisposed();
+ method public io.reactivex.rxjava3.core.Completable shutdownComplete();
+ }
+
+ public final class RxDataStoreBuilder<T> {
+ ctor public RxDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer);
+ ctor public RxDataStoreBuilder(android.content.Context context, String fileName, androidx.datastore.core.Serializer<T> serializer);
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> addDataMigration(androidx.datastore.core.DataMigration<T> dataMigration);
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> addRxDataMigration(androidx.datastore.rxjava3.RxDataMigration<T> rxDataMigration);
+ method public androidx.datastore.rxjava3.RxDataStore<T> build();
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T> corruptionHandler);
+ method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> setIoScheduler(io.reactivex.rxjava3.core.Scheduler ioScheduler);
+ }
+
+ public final class RxDataStoreDelegateKt {
+ method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava3.RxDataStore<T>> rxDataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional io.reactivex.rxjava3.core.Scheduler scheduler);
+ }
+
+ public interface RxSharedPreferencesMigration<T> {
+ method public io.reactivex.rxjava3.core.Single<T> migrate(androidx.datastore.migrations.SharedPreferencesView sharedPreferencesView, T? currentData);
+ method public default io.reactivex.rxjava3.core.Single<java.lang.Boolean> shouldMigrate(T? currentData);
+ }
+
+ public final class RxSharedPreferencesMigrationBuilder<T> {
+ ctor public RxSharedPreferencesMigrationBuilder(android.content.Context context, String sharedPreferencesName, androidx.datastore.rxjava3.RxSharedPreferencesMigration<T> rxSharedPreferencesMigration);
+ method public androidx.datastore.core.DataMigration<T> build();
+ method public androidx.datastore.rxjava3.RxSharedPreferencesMigrationBuilder<T> setKeysToMigrate(java.lang.String... keys);
+ }
+
+}
+
diff --git a/datastore/datastore/api/1.0.0-beta03.txt b/datastore/datastore/api/1.0.0-beta03.txt
new file mode 100644
index 0000000..46a48c7
--- /dev/null
+++ b/datastore/datastore/api/1.0.0-beta03.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.datastore {
+
+ public final class DataStoreDelegateKt {
+ method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.core.DataStore<T>> dataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional kotlinx.coroutines.CoroutineScope scope);
+ }
+
+ public final class DataStoreFile {
+ method public static java.io.File dataStoreFile(android.content.Context, String fileName);
+ }
+
+}
+
+package androidx.datastore.migrations {
+
+ public final class SharedPreferencesMigration<T> implements androidx.datastore.core.DataMigration<T> {
+ ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p) throws java.io.IOException;
+ method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p);
+ method public suspend Object? shouldMigrate(T? currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public final class SharedPreferencesMigrationKt {
+ }
+
+ public final class SharedPreferencesView {
+ method public operator boolean contains(String key);
+ method public java.util.Map<java.lang.String,java.lang.Object> getAll();
+ method public boolean getBoolean(String key, boolean defValue);
+ method public float getFloat(String key, float defValue);
+ method public int getInt(String key, int defValue);
+ method public long getLong(String key, long defValue);
+ method public String? getString(String key, optional String? defValue);
+ method public java.util.Set<java.lang.String>? getStringSet(String key, optional java.util.Set<java.lang.String>? defValues);
+ }
+
+}
+
diff --git a/datastore/datastore/api/public_plus_experimental_1.0.0-beta03.txt b/datastore/datastore/api/public_plus_experimental_1.0.0-beta03.txt
new file mode 100644
index 0000000..46a48c7
--- /dev/null
+++ b/datastore/datastore/api/public_plus_experimental_1.0.0-beta03.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.datastore {
+
+ public final class DataStoreDelegateKt {
+ method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.core.DataStore<T>> dataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional kotlinx.coroutines.CoroutineScope scope);
+ }
+
+ public final class DataStoreFile {
+ method public static java.io.File dataStoreFile(android.content.Context, String fileName);
+ }
+
+}
+
+package androidx.datastore.migrations {
+
+ public final class SharedPreferencesMigration<T> implements androidx.datastore.core.DataMigration<T> {
+ ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p) throws java.io.IOException;
+ method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p);
+ method public suspend Object? shouldMigrate(T? currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public final class SharedPreferencesMigrationKt {
+ }
+
+ public final class SharedPreferencesView {
+ method public operator boolean contains(String key);
+ method public java.util.Map<java.lang.String,java.lang.Object> getAll();
+ method public boolean getBoolean(String key, boolean defValue);
+ method public float getFloat(String key, float defValue);
+ method public int getInt(String key, int defValue);
+ method public long getLong(String key, long defValue);
+ method public String? getString(String key, optional String? defValue);
+ method public java.util.Set<java.lang.String>? getStringSet(String key, optional java.util.Set<java.lang.String>? defValues);
+ }
+
+}
+
diff --git a/datastore/datastore/api/res-1.0.0-beta03.txt b/datastore/datastore/api/res-1.0.0-beta03.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/datastore/datastore/api/res-1.0.0-beta03.txt
diff --git a/datastore/datastore/api/restricted_1.0.0-beta03.txt b/datastore/datastore/api/restricted_1.0.0-beta03.txt
new file mode 100644
index 0000000..46a48c7
--- /dev/null
+++ b/datastore/datastore/api/restricted_1.0.0-beta03.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.datastore {
+
+ public final class DataStoreDelegateKt {
+ method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.core.DataStore<T>> dataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional kotlinx.coroutines.CoroutineScope scope);
+ }
+
+ public final class DataStoreFile {
+ method public static java.io.File dataStoreFile(android.content.Context, String fileName);
+ }
+
+}
+
+package androidx.datastore.migrations {
+
+ public final class SharedPreferencesMigration<T> implements androidx.datastore.core.DataMigration<T> {
+ ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(kotlin.jvm.functions.Function0<? extends android.content.SharedPreferences> produceSharedPreferences, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, optional kotlin.jvm.functions.Function2<? super T,? super kotlin.coroutines.Continuation<? super java.lang.Boolean>,?> shouldRunMigration, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, optional java.util.Set<java.lang.String> keysToMigrate, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ ctor public SharedPreferencesMigration(android.content.Context context, String sharedPreferencesName, kotlin.jvm.functions.Function3<? super androidx.datastore.migrations.SharedPreferencesView,? super T,? super kotlin.coroutines.Continuation<? super T>,?> migrate);
+ method @kotlin.jvm.Throws(exceptionClasses=IOException::class) public suspend Object? cleanUp(kotlin.coroutines.Continuation<? super kotlin.Unit> p) throws java.io.IOException;
+ method public suspend Object? migrate(T? currentData, kotlin.coroutines.Continuation<? super T> p);
+ method public suspend Object? shouldMigrate(T? currentData, kotlin.coroutines.Continuation<? super java.lang.Boolean> p);
+ }
+
+ public final class SharedPreferencesMigrationKt {
+ }
+
+ public final class SharedPreferencesView {
+ method public operator boolean contains(String key);
+ method public java.util.Map<java.lang.String,java.lang.Object> getAll();
+ method public boolean getBoolean(String key, boolean defValue);
+ method public float getFloat(String key, float defValue);
+ method public int getInt(String key, int defValue);
+ method public long getLong(String key, long defValue);
+ method public String? getString(String key, optional String? defValue);
+ method public java.util.Set<java.lang.String>? getStringSet(String key, optional java.util.Set<java.lang.String>? defValues);
+ }
+
+}
+
diff --git a/development/apilint.py b/development/apilint.py
index 3d4c3e9..e4b1880 100755
--- a/development/apilint.py
+++ b/development/apilint.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
#
# Copyright 2019, The Android Open Source Project
diff --git a/development/build_log_simplifier/messages.ignore b/development/build_log_simplifier/messages.ignore
index 55622b6..37d5008 100644
--- a/development/build_log_simplifier/messages.ignore
+++ b/development/build_log_simplifier/messages.ignore
@@ -519,18 +519,6 @@
# > Task :compose:ui:ui:processDebugUnitTestManifest
\$OUT_DIR/androidx/compose/ui/ui/build/intermediates/tmp/manifest/test/debug/tempFile[0-9]+ProcessTestManifest[0-9]+\.xml Warning:
\$OUT_DIR/androidx/compose/ui/ui/build/intermediates/tmp/manifest/test/debug/manifestMerger[0-9]+\.xml Warning:
-# > Task *:lintDebug
-# TODO: b/182321297 remove when this message isn't printed
-Lint: Unknown issue id "ComposableNaming"
-Lint: Unknown issue id "ComposableLambdaParameterNaming"
-Lint: Unknown issue id "ComposableLambdaParameterPosition"
-Lint: Unknown issue id "CompositionLocalNaming"
-Lint: Unknown issue id "ComposableModifierFactory"
-Lint: Unknown issue id "InvalidColorHexValue"
-Lint: Unknown issue id "MissingColorAlphaChannel"
-Lint: Unknown issue id "ModifierFactoryExtensionFunction"
-Lint: Unknown issue id "ModifierFactoryReturnType"
-Lint: Unknown issue id "ModifierParameter"
# > Task :compose:foundation:foundation:reportLibraryMetrics
Stripped invalid locals information from [0-9]+ methods\.
Methods with invalid locals information:
@@ -1095,7 +1083,6 @@
\.+
# > Task :compose:ui:ui-tooling:processDebugAndroidTestManifest
\$SUPPORT/compose/ui/ui\-tooling/src/androidAndroidTest/AndroidManifest\.xml:[0-9]+:[0-9]+\-[0-9]+:[0-9]+ Warning:
-.*Unknown issue id.*
No issues found.*
Incorrect detector reported disabled issue.*
Scanning .* \(Phase 2\):
@@ -1103,6 +1090,7 @@
# > Task :camera:camera-camera2-pipe:reportLibraryMetrics
Info: Stripped invalid locals information from [0-9]+ methods\.
Info: Methods with invalid locals information:
+java\.lang\.Object androidx\.wear\.watchface\.editor\.BaseEditorSession\.openComplicationProviderChooser\$suspendImpl\(androidx\.wear\.watchface\.editor\.BaseEditorSession, int, kotlin\.coroutines\.Continuation\)
java\.lang\.Object androidx\.compose\.foundation\.gestures\.DraggableKt\$draggable\$[0-9]+\$[0-9]+\.invokeSuspend\(java\.lang\.Object\)
Type information in locals\-table is inconsistent\. Cannot constrain type: @Nullable androidx\.compose\.foundation\.gestures\.DragLogic \{\} for value: v[0-9]+\(\$this\$invokeSuspend_u[0-9]+lambda_u[0-9]+d[0-9]+\) by constraint INT\.
java\.lang\.Object androidx\.compose\.ui\.platform\.GlobalSnapshotManager\$ensureStarted\$[0-9]+\.invokeSuspend\(java\.lang\.Object\)
@@ -1160,4 +1148,4 @@
\$SUPPORT/wear/compose/material/benchmark/src/androidTest/AndroidManifest\.xml:[0-9]+:[0-9]+\-[0-9]+:[0-9]+ Warning:
# > Configure project :ads-identifier
WARNING\:The option setting \'android\.experimental\.enableArtProfiles\=true\' is experimental\.
-The current default is \'false\'\.
+The current default is \'false\'\.
\ No newline at end of file
diff --git a/development/referenceDocs/switcher.py b/development/referenceDocs/switcher.py
index 83369b5..c4ee6d2 100755
--- a/development/referenceDocs/switcher.py
+++ b/development/referenceDocs/switcher.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
#
# Copyright 2019 - The Android Open Source Project
#
diff --git a/development/suppressFailingTests.py b/development/suppressFailingTests.py
new file mode 100755
index 0000000..0e38902
--- /dev/null
+++ b/development/suppressFailingTests.py
@@ -0,0 +1,446 @@
+#!/usr/bin/python3
+
+"""
+Parses information about failing tests, and then generates a change to disable them.
+
+Requires that the `bugged` command-line tool is installed, see go/bugged .
+"""
+
+import argparse, csv, os, subprocess
+
+parser = argparse.ArgumentParser(
+ description=__doc__
+)
+parser.add_argument("config_path", help="Path of file to process, downloaded from go/androidx-test-failures", nargs="+")
+
+dirOfThisScript = os.path.dirname(os.path.realpath(__file__))
+supportRoot = os.path.dirname(dirOfThisScript)
+
+class LocatedFailure(object):
+ def __init__(self, failure, location):
+ self.failure = failure
+ self.location = location
+
+class TestFailure(object):
+ def __init__(self, qualifiedClassName, methodName, testDefinitionName, consistent, branchName, testResultId):
+ self.qualifiedClassName = qualifiedClassName
+ self.methodName = methodName
+ self.testDefinitionName = testDefinitionName
+ self.consistent = consistent
+ self.branchName = branchName
+ self.testResultId = testResultId
+
+ def getUrl(self):
+ return "https://android-build.googleplex.com/builds/tests/view?testResultId=" + self.testResultId
+
+class FailuresDatabase(object):
+ """A collection of LocatedFailure instances, organized by their locations"""
+ def __init__(self):
+ self.failuresByPath = {}
+
+ def add(self, locatedFailure):
+ path = locatedFailure.location.filePath
+ if path not in self.failuresByPath:
+ self.failuresByPath[path] = {}
+ failuresAtPath = self.failuresByPath[path]
+
+ lineNumber = locatedFailure.location.lineNumber
+ if lineNumber not in failuresAtPath:
+ failuresAtPath[lineNumber] = locatedFailure
+ else:
+ # already have a failure at this location
+ if not failuresAtPath[lineNumber].failure.consistent:
+ # if the previously detected failure wasn't consistent, update with the new one
+ failuresAtPath[lineNumber] = locatedFailure
+
+ # returns Map<String, LocatedFailure> with key being filePath
+ def getAll(self):
+ results = {}
+ for path, failuresAtPath in self.failuresByPath.items():
+ lineNumbers = sorted(failuresAtPath.keys(), reverse=True)
+ resultsAtPath = []
+ # add failures in reverse order to make it easier to modify methods without adjusting line numbers for other methods
+ for line in lineNumbers:
+ resultsAtPath.append(failuresAtPath[line])
+ results[path] = resultsAtPath
+ return results
+
+# parses the data file containing the failing tests
+def parse():
+ arguments = parser.parse_args()
+ configPath = arguments.config_path[0]
+ failures = []
+ with open(configPath) as configFile:
+ config = csv.DictReader(configFile, delimiter="\t")
+ for item in config:
+ # Decide whether this failure appears to be happening reliably (consistent = True)
+ # or flakily (consistent = False).
+ #
+ # A flaky failure will probably occur a small number (probably 1) of times in a row
+ # and a small fraction of times (slightly more than 0%),
+ #
+ # whereas a consistent failure will probably occur a large number of times (until we address
+ # it, probably at least 3) and about 100% of the time
+ #
+ # These cutoff values are mostly arbitrary, about halfway between the expectations for these
+ # two types of failures
+ if int(item["consecutive_failures"]) >= 2 and float(item["failure_rate"]) > 0.5:
+ consistent = True
+ else:
+ consistent = False
+ failures.append(
+ TestFailure(
+ item["test_class"],
+ item["method"],
+ item["test_definition_name"],
+ consistent,
+ item["branch_name"],
+ item["test_result_id"]
+ )
+ )
+ return failures
+
+class FileLocation(object):
+ def __init__(self, filePath, lineNumber):
+ self.filePath = filePath
+ self.lineNumber = lineNumber
+
+ def __str__(self):
+ return self.filePath + "#" + str(self.lineNumber)
+
+class ShellRunner(object):
+ def __init__(self):
+ return
+
+ def runAndGetOutput(self, args):
+ result = subprocess.run(args, capture_output=True, text=True).stdout
+ return result
+
+ def run(self, args):
+ subprocess.run(args, capture_output=False)
+
+shellRunner = ShellRunner()
+
+class FileFinder(object):
+ def __init__(self, rootPath):
+ self.rootPath = rootPath
+ self.resultsCache = {}
+
+ def findIname(self, name):
+ if name not in self.resultsCache:
+ text = shellRunner.runAndGetOutput(["find", self.rootPath , "-type", "f", "-iname", name])
+ filePaths = [path.strip() for path in text.split("\n")]
+ filePaths = [path for path in filePaths if path != ""]
+ self.resultsCache[name] = filePaths
+ return self.resultsCache[name]
+fileFinder = FileFinder(supportRoot)
+
+class ClassFinder(object):
+ """Locates the file path and line number for classes and methods"""
+ def __init__(self):
+ self.classToFile_cache = {}
+ self.methodLocations_cache = {}
+
+ def findMethod(self, qualifiedClassName, methodName):
+ bracketIndex = methodName.find("[")
+ if bracketIndex >= 0:
+ methodName = methodName[:bracketIndex]
+ fullName = qualifiedClassName + "." + methodName
+ containingFile = self.findFileContainingClass(qualifiedClassName)
+ if containingFile is None:
+ return None
+ if fullName not in self.methodLocations_cache:
+ index = -1
+ foundLineNumber = None
+ with open(containingFile) as f:
+ for line in f:
+ index += 1
+ if (" " + methodName + "(") in line:
+ if foundLineNumber is not None:
+ # found two matches, can't choose one
+ foundLineNumber = None
+ break
+ foundLineNumber = index
+ result = None
+ if foundLineNumber is not None:
+ result = FileLocation(containingFile, foundLineNumber)
+ self.methodLocations_cache[fullName] = result
+ return self.methodLocations_cache[fullName]
+
+
+ def findFileContainingClass(self, qualifiedName):
+ if qualifiedName not in self.classToFile_cache:
+ lastDotIndex = qualifiedName.rindex(".")
+ if lastDotIndex >= 0:
+ packageName = qualifiedName[:lastDotIndex]
+ className = qualifiedName[lastDotIndex + 1:]
+ else:
+ packageName = ""
+ className = qualifiedName
+ options = fileFinder.findIname(className + ".*")
+ possibleContainingFiles = sorted(options)
+ result = None
+ for f in possibleContainingFiles:
+ if self.getPackage(f) == packageName:
+ result = f
+ break
+ self.classToFile_cache[qualifiedName] = result
+ return self.classToFile_cache[qualifiedName]
+
+ def getPackage(self, filePath):
+ prefix = "package "
+ with open(filePath) as f:
+ for line in f:
+ line = line.strip()
+ if line.startswith(prefix):
+ suffix = line[len(prefix):]
+ if suffix.endswith(";"):
+ return suffix[:-1]
+ return suffix
+ return None
+
+classFinder = ClassFinder()
+
+def readFile(path):
+ f = open(path)
+ text = f.read()
+ f.close()
+ return text
+
+def writeFile(path, text):
+ f = open(path, "w")
+ f.write(text)
+ f.close()
+
+def extractIndent(text):
+ indentSize = 0
+ for c in text:
+ if c == " ":
+ indentSize += 1
+ else:
+ break
+ return " " * indentSize
+
+class SourceFile(object):
+ """An in-memory model of a source file (java, kotlin) that can be manipulated and saved"""
+ def __init__(self, path):
+ text = readFile(path)
+ self.lines = text.split("\n")
+ self.path = path
+
+ def isKotlin(self):
+ return self.path.endswith(".kt")
+
+ def maybeSemicolon(self):
+ if self.isKotlin():
+ return ""
+ return ";"
+
+ def addAnnotation(self, methodLineNumber, annotation):
+ parenIndex = annotation.find("(")
+ if parenIndex > 0:
+ baseName = annotation[:parenIndex]
+ else:
+ baseName = annotation
+ if self.findAnnotationLine(methodLineNumber, baseName) is not None:
+ # already have an annotation, don't need to add another
+ return
+ indent = extractIndent(self.lines[methodLineNumber])
+ self.insertLine(methodLineNumber, indent + annotation)
+
+ # Adds an import to this file
+ # Attempts to preserve alphabetical import ordering:
+ # If two consecutive imports can be found such that one should precede this import and
+ # one should follow this import, inserts between those two imports
+ # Otherwise attempts to add this import after the last import or before the first import
+ # (Note that imports might be grouped into multiple blocks, each separated by a blank line)
+ def addImport(self, symbolText):
+ insertText = "import " + symbolText + self.maybeSemicolon()
+ if insertText in self.lines:
+ return # already added
+ # set of lines that the insertion could immediately precede
+ beforeLineNumbers = set()
+ # set of lines that the insertion could immediately follow
+ afterLineNumbers = set()
+ for i in range(len(self.lines)):
+ line = self.lines[i]
+ if line.startswith("import"):
+ # found an import. Should our import be before or after?
+ if insertText < line:
+ beforeLineNumbers.add(i)
+ else:
+ afterLineNumbers.add(i)
+ # search for two adjacent lines that the line can be inserted between
+ insertionLineNumber = None
+ for i in range(len(self.lines) - 1):
+ if i in afterLineNumbers and (i + 1) in beforeLineNumbers:
+ insertionLineNumber = i + 1
+ break
+ # search for a line we can insert after
+ if insertionLineNumber is None:
+ for i in range(len(self.lines) - 1):
+ if i in afterLineNumbers and (i + 1) not in afterLineNumbers:
+ insertionLineNumber = i + 1
+ break
+ # search for a line we can insert before
+ if insertionLineNumber is None:
+ for i in range(len(self.lines) - 1, 0, -1):
+ if i in beforeLineNumbers and (i - 1) not in beforeLineNumbers:
+ insertionLineNumber = i
+ break
+
+ if insertionLineNumber is not None:
+ self.insertLine(insertionLineNumber, insertText)
+
+ def insertLine(self, beforeLineNumber, text):
+ self.lines = self.lines[:beforeLineNumber] + [text] + self.lines[beforeLineNumber:]
+
+ def findAnnotationLine(self, methodLineNumber, annotationText):
+ lineNumber = methodLineNumber
+ while True:
+ if lineNumber < 0:
+ return None
+ if annotationText in self.lines[lineNumber]:
+ return lineNumber
+ if self.lines[lineNumber].strip() == "":
+ return None
+ lineNumber -= 1
+
+ def removeLine(self, index):
+ self.lines = self.lines[:index] + self.lines[index + 1:]
+
+ def hasAnnotation(self, methodLineNumber, annotation):
+ return self.findAnnotationLine(methodLineNumber, annotation) is not None
+
+ def save(self):
+ writeFile(self.path, "\n".join(self.lines))
+
+# searches for bugs matching certain criteria, using the `bugged` CLI tool
+class BugFinder(object):
+ def __init__(self):
+ self.bugsByQuery = {}
+
+ def findForFailure(self, testFailure):
+ qualifiedName = testFailure.qualifiedClassName
+ text = ["title:" + qualifiedName, "status:open", "--columns=issue"]
+ return self.query(text)
+
+ def query(self, args):
+ text = " ".join(args)
+ if text not in self.bugsByQuery:
+ response = None
+ try:
+ response = shellRunner.runAndGetOutput(["bugged", "search"] + args)
+ except FileNotFoundError as e:
+ raise FileNotFoundError("The `bugged` command-line tool is required but was not found. See go/bugged to install.")
+ lines = response.split("\n")
+ result = None
+ for line in response.split("\n"):
+ if line != "issue":
+ result = line
+ break
+ if result == "":
+ result = None
+ self.bugsByQuery[text] = result
+ return self.bugsByQuery[text]
+
+bugFinder = BugFinder()
+
+# converts from a List<TestFailure> to a FailuresDatabase containing LocatedFailure
+def locate(failures):
+ db = FailuresDatabase()
+ for failure in failures:
+ location = classFinder.findMethod(failure.qualifiedClassName, failure.methodName)
+ if location is not None:
+ db.add(LocatedFailure(failure, location))
+ else:
+ message = "Could not locate " + str(failure.qualifiedClassName) + "#" + str(failure.methodName)
+ if failure.branchName != "aosp-androidx-main":
+ message += ", should be in " + failure.branchName
+ print(message)
+ return db
+
+# removes test result urls from the commit
+def uncommitTestResultUrls():
+ # first, remove test results urls from the files
+ shellRunner.run(["bash", "-c", "git log -1 --name-only | grep -v ' ' | xargs sed -i 's| // .*testResultId.*||g'"])
+ # commit the removal of these test result urls
+ shellRunner.run(["git", "add", "."])
+ shellRunner.run(["git", "commit", "-q", "--amend", "--no-edit"])
+ # restore the previous versions of the files
+ shellRunner.run(["git", "checkout", "-q", "HEAD@{1}", "--", "."])
+ shellRunner.run(["git", "reset", "-q"])
+
+# Given a FailureDatabase, disables all of the tests mentioned in it, by adding the appropriate
+# annotations:
+# consistent failures get annotated with @Ignore ,
+# flaky failures get annotated with @FlakyTest.
+# Annotations link to the associated bug if possible
+def disable(failuresDatabase):
+ mentionedBugs = set()
+ numUpdates = 0
+ failuresByPath = failuresDatabase.getAll()
+ for path, failuresAtPath in failuresByPath.items():
+ source = SourceFile(path)
+ addedIgnore = False
+ addedFlaky = False
+ for failure in failuresAtPath:
+ lineNumber = failure.location.lineNumber
+ if source.hasAnnotation(lineNumber, "@FlakyTest") or source.hasAnnotation(lineNumber, "@Ignore"):
+ continue
+ bug = bugFinder.findForFailure(failure.failure)
+ if bug is not None:
+ mentionedBugs.add(bug)
+ if failure.failure.consistent:
+ if bug is not None:
+ bugText = '"b/' + bug + '"'
+ else:
+ bugText = '"why"'
+ source.addAnnotation(lineNumber, "@Ignore(" + bugText + ") // " + failure.failure.getUrl())
+ addedIgnore = True
+ else:
+ if bug is not None:
+ bugText = "bugId = " + bug
+ else:
+ bugText = "bugId = num"
+ source.addAnnotation(lineNumber, "@FlakyTest(" + bugText + ") // " + failure.failure.getUrl())
+ addedFlaky = True
+ if addedIgnore:
+ source.addImport("org.junit.Ignore")
+ if addedFlaky:
+ source.addImport("androidx.test.filters.FlakyTest")
+ if addedIgnore or addedFlaky:
+ # save file
+ source.save()
+ numUpdates += 1
+ # make git commit
+ commitHeader = """Mostly autogenerated suppression of test failures
+
+This commit was created with the help of development/suppressFailingTests.py
+
+"""
+
+ bugStanzas = "\n".join(["Bug: " + bug for bug in sorted(mentionedBugs)])
+ commitMessage = commitHeader + bugStanzas
+
+ # make git commit containing the suppressions
+ os.chdir(supportRoot)
+ shellRunner.run(["git", "add", "."])
+ shellRunner.run(["git", "commit", "-q", "--no-edit", "-m", commitMessage])
+
+ # Remove test result urls from the git commit but keep them in the tree
+ uncommitTestResultUrls()
+ print("")
+ print("Committed updates to " + str(numUpdates) + " files. Inspect/fix as needed.")
+ print("")
+ print("Additional context (test failure urls) has been added but not committed.")
+ print("You can manually remove this information or you can run `git checkout -- <path>` to discard uncommitted changes under <path>")
+
+def main():
+ failures = parse()
+ locations = locate(failures)
+ disable(locations)
+
+if __name__ == "__main__":
+ main()
+
diff --git a/development/triage-guesser.py b/development/triage-guesser.py
index ed631c2..d867c1b 100755
--- a/development/triage-guesser.py
+++ b/development/triage-guesser.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
import sys, re, subprocess, os
diff --git a/docs-public/build.gradle b/docs-public/build.gradle
index ce30af2..224debf 100644
--- a/docs-public/build.gradle
+++ b/docs-public/build.gradle
@@ -4,10 +4,10 @@
}
dependencies {
- docs("androidx.activity:activity:1.3.0-beta01")
- docs("androidx.activity:activity-compose:1.3.0-beta01")
- samples("androidx.activity:activity-compose-samples:1.3.0-beta01")
- docs("androidx.activity:activity-ktx:1.3.0-beta01")
+ docs("androidx.activity:activity:1.3.0-beta02")
+ docs("androidx.activity:activity-compose:1.3.0-beta02")
+ samples("androidx.activity:activity-compose-samples:1.3.0-beta02")
+ docs("androidx.activity:activity-ktx:1.3.0-beta02")
docs("androidx.ads:ads-identifier:1.0.0-alpha04")
docs("androidx.ads:ads-identifier-provider:1.0.0-alpha04")
docs("androidx.annotation:annotation:1.3.0-alpha01")
@@ -21,10 +21,10 @@
docs("androidx.arch.core:core-testing:2.1.0")
docs("androidx.asynclayoutinflater:asynclayoutinflater:1.0.0")
docs("androidx.autofill:autofill:1.2.0-alpha02")
- docs("androidx.benchmark:benchmark-common:1.1.0-alpha02")
- docs("androidx.benchmark:benchmark-junit4:1.1.0-alpha02")
- docs("androidx.benchmark:benchmark-macro:1.1.0-alpha02")
- docs("androidx.benchmark:benchmark-macro-junit4:1.1.0-alpha02")
+ docs("androidx.benchmark:benchmark-common:1.1.0-alpha03")
+ docs("androidx.benchmark:benchmark-junit4:1.1.0-alpha03")
+ docs("androidx.benchmark:benchmark-macro:1.1.0-alpha03")
+ docs("androidx.benchmark:benchmark-macro-junit4:1.1.0-alpha03")
docs("androidx.biometric:biometric:1.2.0-alpha03")
docs("androidx.biometric:biometric-ktx:1.2.0-alpha03")
samples("androidx.biometric:biometric-ktx-samples:1.2.0-alpha03")
@@ -35,56 +35,57 @@
stubs(fileTree(dir: "../camera/camera-extensions-stub", include: ["camera-extensions-stub.jar"]))
docs("androidx.camera:camera-lifecycle:1.1.0-alpha05")
docs("androidx.camera:camera-view:1.0.0-alpha25")
- docs("androidx.car.app:app:1.0.0")
- docs("androidx.car.app:app-testing:1.0.0-alpha01")
+ docs("androidx.car.app:app:1.1.0-alpha01")
+ docs("androidx.car.app:app-automotive:1.1.0-alpha01")
+ docs("androidx.car.app:app-testing:1.1.0-alpha01")
docs("androidx.cardview:cardview:1.0.0")
docs("androidx.collection:collection:1.2.0-alpha01")
docs("androidx.collection:collection-ktx:1.2.0-alpha01")
- docs("androidx.compose.animation:animation:1.0.0-beta08")
- docs("androidx.compose.animation:animation-core:1.0.0-beta08")
- samples("androidx.compose.animation:animation-samples:1.0.0-beta08")
- samples("androidx.compose.animation:animation-core-samples:1.0.0-beta08")
- docs("androidx.compose.foundation:foundation:1.0.0-beta08")
- docs("androidx.compose.foundation:foundation-layout:1.0.0-beta08")
- samples("androidx.compose.foundation:foundation-layout-samples:1.0.0-beta08")
- samples("androidx.compose.foundation:foundation-samples:1.0.0-beta08")
- docs("androidx.compose.material:material:1.0.0-beta08")
- docs("androidx.compose.material:material-icons-core:1.0.0-beta08")
- samples("androidx.compose.material:material-icons-core-samples:1.0.0-beta08")
- docs("androidx.compose.material:material-icons-extended:1.0.0-beta08")
- docs("androidx.compose.material:material-ripple:1.0.0-beta08")
- samples("androidx.compose.material:material-samples:1.0.0-beta08")
- docs("androidx.compose.runtime:runtime:1.0.0-beta08")
- docs("androidx.compose.runtime:runtime-livedata:1.0.0-beta08")
- samples("androidx.compose.runtime:runtime-livedata-samples:1.0.0-beta08")
- docs("androidx.compose.runtime:runtime-rxjava2:1.0.0-beta08")
- samples("androidx.compose.runtime:runtime-rxjava2-samples:1.0.0-beta08")
- docs("androidx.compose.runtime:runtime-rxjava3:1.0.0-beta08")
- samples("androidx.compose.runtime:runtime-rxjava3-samples:1.0.0-beta08")
- docs("androidx.compose.runtime:runtime-saveable:1.0.0-beta08")
- samples("androidx.compose.runtime:runtime-saveable-samples:1.0.0-beta08")
- samples("androidx.compose.runtime:runtime-samples:1.0.0-beta08")
- docs("androidx.compose.ui:ui:1.0.0-beta08")
- docs("androidx.compose.ui:ui-geometry:1.0.0-beta08")
- docs("androidx.compose.ui:ui-graphics:1.0.0-beta08")
- samples("androidx.compose.ui:ui-graphics-samples:1.0.0-beta08")
- docs("androidx.compose.ui:ui-test:1.0.0-beta08")
- docs("androidx.compose.ui:ui-test-junit4:1.0.0-beta08")
- docs("androidx.compose.ui:ui-text:1.0.0-beta08")
- samples("androidx.compose.ui:ui-text-samples:1.0.0-beta08")
- docs("androidx.compose.ui:ui-tooling:1.0.0-beta08")
- docs("androidx.compose.ui:ui-tooling-data:1.0.0-beta08")
- docs("androidx.compose.ui:ui-unit:1.0.0-beta08")
- samples("androidx.compose.ui:ui-unit-samples:1.0.0-beta08")
- docs("androidx.compose.ui:ui-util:1.0.0-beta08")
- docs("androidx.compose.ui:ui-viewbinding:1.0.0-beta08")
- samples("androidx.compose.ui:ui-viewbinding-samples:1.0.0-beta08")
- samples("androidx.compose.ui:ui-samples:1.0.0-beta08")
+ docs("androidx.compose.animation:animation:1.0.0-beta09")
+ docs("androidx.compose.animation:animation-core:1.0.0-beta09")
+ samples("androidx.compose.animation:animation-samples:1.0.0-beta09")
+ samples("androidx.compose.animation:animation-core-samples:1.0.0-beta09")
+ docs("androidx.compose.foundation:foundation:1.0.0-beta09")
+ docs("androidx.compose.foundation:foundation-layout:1.0.0-beta09")
+ samples("androidx.compose.foundation:foundation-layout-samples:1.0.0-beta09")
+ samples("androidx.compose.foundation:foundation-samples:1.0.0-beta09")
+ docs("androidx.compose.material:material:1.0.0-beta09")
+ docs("androidx.compose.material:material-icons-core:1.0.0-beta09")
+ samples("androidx.compose.material:material-icons-core-samples:1.0.0-beta09")
+ docs("androidx.compose.material:material-icons-extended:1.0.0-beta09")
+ docs("androidx.compose.material:material-ripple:1.0.0-beta09")
+ samples("androidx.compose.material:material-samples:1.0.0-beta09")
+ docs("androidx.compose.runtime:runtime:1.0.0-beta09")
+ docs("androidx.compose.runtime:runtime-livedata:1.0.0-beta09")
+ samples("androidx.compose.runtime:runtime-livedata-samples:1.0.0-beta09")
+ docs("androidx.compose.runtime:runtime-rxjava2:1.0.0-beta09")
+ samples("androidx.compose.runtime:runtime-rxjava2-samples:1.0.0-beta09")
+ docs("androidx.compose.runtime:runtime-rxjava3:1.0.0-beta09")
+ samples("androidx.compose.runtime:runtime-rxjava3-samples:1.0.0-beta09")
+ docs("androidx.compose.runtime:runtime-saveable:1.0.0-beta09")
+ samples("androidx.compose.runtime:runtime-saveable-samples:1.0.0-beta09")
+ samples("androidx.compose.runtime:runtime-samples:1.0.0-beta09")
+ docs("androidx.compose.ui:ui:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-geometry:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-graphics:1.0.0-beta09")
+ samples("androidx.compose.ui:ui-graphics-samples:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-test:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-test-junit4:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-text:1.0.0-beta09")
+ samples("androidx.compose.ui:ui-text-samples:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-tooling:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-tooling-data:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-unit:1.0.0-beta09")
+ samples("androidx.compose.ui:ui-unit-samples:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-util:1.0.0-beta09")
+ docs("androidx.compose.ui:ui-viewbinding:1.0.0-beta09")
+ samples("androidx.compose.ui:ui-viewbinding-samples:1.0.0-beta09")
+ samples("androidx.compose.ui:ui-samples:1.0.0-beta09")
docs("androidx.concurrent:concurrent-futures:1.1.0")
docs("androidx.concurrent:concurrent-futures-ktx:1.1.0")
docs("androidx.contentpager:contentpager:1.0.0")
docs("androidx.coordinatorlayout:coordinatorlayout:1.1.0")
- docs("androidx.core:core-google-shortcuts:1.0.0-alpha02")
+ docs("androidx.core:core-google-shortcuts:1.0.0-rc01")
docs("androidx.core:core-role:1.1.0-alpha02")
docs("androidx.core:core-animation:1.0.0-alpha02")
docs("androidx.core:core-animation-testing:1.0.0-alpha02")
@@ -92,14 +93,14 @@
docs("androidx.core:core-ktx:1.6.0-rc01")
docs("androidx.cursoradapter:cursoradapter:1.0.0")
docs("androidx.customview:customview:1.1.0")
- docs("androidx.datastore:datastore:1.0.0-beta01")
- docs("androidx.datastore:datastore-core:1.0.0-beta01")
- docs("androidx.datastore:datastore-preferences:1.0.0-beta01")
- docs("androidx.datastore:datastore-preferences-core:1.0.0-beta01")
- docs("androidx.datastore:datastore-preferences-rxjava2:1.0.0-beta01")
- docs("androidx.datastore:datastore-preferences-rxjava3:1.0.0-beta01")
- docs("androidx.datastore:datastore-rxjava2:1.0.0-beta01")
- docs("androidx.datastore:datastore-rxjava3:1.0.0-beta01")
+ docs("androidx.datastore:datastore:1.0.0-beta02")
+ docs("androidx.datastore:datastore-core:1.0.0-beta02")
+ docs("androidx.datastore:datastore-preferences:1.0.0-beta02")
+ docs("androidx.datastore:datastore-preferences-core:1.0.0-beta02")
+ docs("androidx.datastore:datastore-preferences-rxjava2:1.0.0-beta02")
+ docs("androidx.datastore:datastore-preferences-rxjava3:1.0.0-beta02")
+ docs("androidx.datastore:datastore-rxjava2:1.0.0-beta02")
+ docs("androidx.datastore:datastore-rxjava3:1.0.0-beta02")
docs("androidx.documentfile:documentfile:1.0.0")
docs("androidx.drawerlayout:drawerlayout:1.1.1")
docs("androidx.dynamicanimation:dynamicanimation:1.1.0-alpha02")
@@ -113,15 +114,15 @@
docs("androidx.enterprise:enterprise-feedback:1.1.0")
docs("androidx.enterprise:enterprise-feedback-testing:1.1.0")
docs("androidx.exifinterface:exifinterface:1.3.2")
- docs("androidx.fragment:fragment:1.4.0-alpha02")
- docs("androidx.fragment:fragment-ktx:1.4.0-alpha02")
- docs("androidx.fragment:fragment-testing:1.4.0-alpha02")
+ docs("androidx.fragment:fragment:1.4.0-alpha03")
+ docs("androidx.fragment:fragment-ktx:1.4.0-alpha03")
+ docs("androidx.fragment:fragment-testing:1.4.0-alpha03")
docs("androidx.gridlayout:gridlayout:1.0.0")
docs("androidx.health:health-services-client:1.0.0-alpha01")
docs("androidx.heifwriter:heifwriter:1.1.0-alpha01")
docs("androidx.hilt:hilt-common:1.0.0-beta01")
docs("androidx.hilt:hilt-navigation:1.0.0-beta01")
- docs("androidx.hilt:hilt-navigation-compose:1.0.0-alpha01")
+ docs("androidx.hilt:hilt-navigation-compose:1.0.0-alpha03")
docs("androidx.hilt:hilt-navigation-fragment:1.0.0-beta01")
docs("androidx.hilt:hilt-work:1.0.0-beta01")
docs("androidx.interpolator:interpolator:1.0.0")
@@ -129,24 +130,25 @@
docs("androidx.leanback:leanback-paging:1.1.0-alpha07")
docs("androidx.leanback:leanback-preference:1.1.0-rc01")
docs("androidx.leanback:leanback-tab:1.1.0-beta01")
- docs("androidx.lifecycle:lifecycle-common:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-common-java8:2.4.0-alpha01")
+ docs("androidx.lifecycle:lifecycle-common:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-common-java8:2.4.0-alpha02")
docs("androidx.lifecycle:lifecycle-extensions:2.2.0")
- docs("androidx.lifecycle:lifecycle-livedata:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-livedata-core:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-livedata-core-ktx:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-livedata-ktx:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-process:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-reactivestreams:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-reactivestreams-ktx:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-runtime:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-runtime-ktx:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-runtime-testing:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-service:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-viewmodel:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha06")
- docs("androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0-alpha01")
- docs("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.4.0-alpha01")
+ docs("androidx.lifecycle:lifecycle-livedata:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-livedata-core:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-livedata-core-ktx:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-livedata-ktx:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-process:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-reactivestreams:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-reactivestreams-ktx:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-runtime:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-runtime-ktx:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-runtime-testing:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-service:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-viewmodel:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha07")
+ samples("androidx.lifecycle:lifecycle-viewmodel-compose-samples:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0-alpha02")
+ docs("androidx.lifecycle:lifecycle-viewmodel-savedstate:2.4.0-alpha02")
docs("androidx.loader:loader:1.1.0")
docs("androidx.localbroadcastmanager:localbroadcastmanager:1.1.0-alpha01")
docs("androidx.media2:media2-common:1.2.0-alpha01")
@@ -154,20 +156,20 @@
docs("androidx.media2:media2-session:1.2.0-alpha01")
docs("androidx.media2:media2-widget:1.2.0-alpha01")
docs("androidx.media:media:1.3.0")
- docs("androidx.mediarouter:mediarouter:1.2.2")
- docs("androidx.navigation:navigation-common:2.4.0-alpha02")
- docs("androidx.navigation:navigation-common-ktx:2.4.0-alpha02")
- docs("androidx.navigation:navigation-compose:2.4.0-alpha02")
- samples("androidx.navigation:navigation-compose-samples:2.4.0-alpha02")
- docs("androidx.navigation:navigation-dynamic-features-fragment:2.4.0-alpha02")
- docs("androidx.navigation:navigation-dynamic-features-runtime:2.4.0-alpha02")
- docs("androidx.navigation:navigation-fragment:2.4.0-alpha02")
- docs("androidx.navigation:navigation-fragment-ktx:2.4.0-alpha02")
- docs("androidx.navigation:navigation-runtime:2.4.0-alpha02")
- docs("androidx.navigation:navigation-runtime-ktx:2.4.0-alpha02")
- docs("androidx.navigation:navigation-testing:2.4.0-alpha02")
- docs("androidx.navigation:navigation-ui:2.4.0-alpha02")
- docs("androidx.navigation:navigation-ui-ktx:2.4.0-alpha02")
+ docs("androidx.mediarouter:mediarouter:1.2.4")
+ docs("androidx.navigation:navigation-common:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-common-ktx:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-compose:2.4.0-alpha03")
+ samples("androidx.navigation:navigation-compose-samples:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-dynamic-features-fragment:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-dynamic-features-runtime:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-fragment:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-fragment-ktx:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-runtime:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-runtime-ktx:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-testing:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-ui:2.4.0-alpha03")
+ docs("androidx.navigation:navigation-ui-ktx:2.4.0-alpha03")
docs("androidx.paging:paging-common:3.1.0-alpha01")
docs("androidx.paging:paging-common-ktx:3.1.0-alpha01")
docs("androidx.paging:paging-compose:1.0.0-alpha10")
@@ -185,19 +187,20 @@
docs("androidx.preference:preference:1.1.1")
docs("androidx.preference:preference-ktx:1.1.1")
docs("androidx.print:print:1.1.0-beta01")
+ docs("androidx.profileinstaller:profileinstaller:1.0.0-beta01")
docs("androidx.recommendation:recommendation:1.0.0")
docs("androidx.recyclerview:recyclerview:1.2.1")
docs("androidx.recyclerview:recyclerview-selection:2.0.0-alpha01")
docs("androidx.remotecallback:remotecallback:1.0.0-alpha02")
docs("androidx.resourceinspection:resourceinspection-annotation:1.0.0-alpha02")
- docs("androidx.room:room-common:2.4.0-alpha02")
- docs("androidx.room:room-guava:2.4.0-alpha02")
- docs("androidx.room:room-ktx:2.4.0-alpha02")
- docs("androidx.room:room-migration:2.4.0-alpha02")
- docs("androidx.room:room-runtime:2.4.0-alpha02")
- docs("androidx.room:room-rxjava2:2.4.0-alpha02")
- docs("androidx.room:room-rxjava3:2.4.0-alpha02")
- docs("androidx.room:room-testing:2.4.0-alpha02")
+ docs("androidx.room:room-common:2.4.0-alpha03")
+ docs("androidx.room:room-guava:2.4.0-alpha03")
+ docs("androidx.room:room-ktx:2.4.0-alpha03")
+ docs("androidx.room:room-migration:2.4.0-alpha03")
+ docs("androidx.room:room-runtime:2.4.0-alpha03")
+ docs("androidx.room:room-rxjava2:2.4.0-alpha03")
+ docs("androidx.room:room-rxjava3:2.4.0-alpha03")
+ docs("androidx.room:room-testing:2.4.0-alpha03")
docs("androidx.savedstate:savedstate:1.1.0")
docs("androidx.savedstate:savedstate-ktx:1.1.0")
docs("androidx.security:security-app-authenticator:1.0.0-alpha02")
@@ -211,9 +214,9 @@
docs("androidx.slice:slice-core:1.1.0-alpha02")
docs("androidx.slice:slice-view:1.1.0-alpha02")
docs("androidx.slidingpanelayout:slidingpanelayout:1.2.0-alpha02")
- docs("androidx.sqlite:sqlite:2.1.0")
- docs("androidx.sqlite:sqlite-framework:2.1.0")
- docs("androidx.sqlite:sqlite-ktx:2.1.0")
+ docs("androidx.sqlite:sqlite:2.2.0-alpha01")
+ docs("androidx.sqlite:sqlite-framework:2.2.0-alpha01")
+ docs("androidx.sqlite:sqlite-ktx:2.2.0-alpha01")
docs("androidx.startup:startup-runtime:1.1.0-beta01")
docs("androidx.legacy:legacy-support-core-utils:1.0.0")
docs("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01")
@@ -229,34 +232,35 @@
docs("androidx.versionedparcelable:versionedparcelable:1.1.1")
docs("androidx.viewpager2:viewpager2:1.1.0-alpha01")
docs("androidx.viewpager:viewpager:1.0.0")
- docs("androidx.wear.tiles:tiles:1.0.0-alpha06")
- docs("androidx.wear.tiles:tiles-renderer:1.0.0-alpha06")
+ docs("androidx.wear.tiles:tiles:1.0.0-alpha07")
+ docs("androidx.wear.tiles:tiles-renderer:1.0.0-alpha07")
docs("androidx.wear:wear:1.2.0-alpha10")
stubs(fileTree(dir: "../wear/wear_stubs/", include: ["com.google.android.wearable-stubs.jar"]))
- docs("androidx.wear:wear-complications-data:1.0.0-alpha15")
- docs("androidx.wear:wear-complications-provider:1.0.0-alpha15")
- docs("androidx.wear:wear-ongoing:1.0.0-alpha06")
+ docs("androidx.wear:wear-complications-data:1.0.0-alpha16")
+ docs("androidx.wear:wear-complications-provider:1.0.0-alpha16")
+ docs("androidx.wear:wear-ongoing:1.0.0-alpha07")
docs("androidx.wear:wear-phone-interactions:1.0.0-alpha04")
docs("androidx.wear:wear-remote-interactions:1.0.0-alpha03")
- docs("androidx.wear:wear-watchface:1.0.0-alpha15")
- docs("androidx.wear:wear-watchface-client:1.0.0-alpha15")
- docs("androidx.wear:wear-watchface-client-guava:1.0.0-alpha15")
- docs("androidx.wear:wear-watchface-complications-rendering:1.0.0-alpha15")
- docs("androidx.wear:wear-watchface-data:1.0.0-alpha15")
- docs("androidx.wear:wear-watchface-editor:1.0.0-alpha15")
- docs("androidx.wear:wear-watchface-editor-guava:1.0.0-alpha15")
- docs("androidx.wear:wear-watchface-guava:1.0.0-alpha15")
+ docs("androidx.wear:wear-watchface:1.0.0-alpha16")
+ docs("androidx.wear:wear-watchface-client:1.0.0-alpha16")
+ docs("androidx.wear:wear-watchface-client-guava:1.0.0-alpha16")
+ docs("androidx.wear:wear-watchface-complications-rendering:1.0.0-alpha16")
+ docs("androidx.wear:wear-watchface-data:1.0.0-alpha16")
+ docs("androidx.wear:wear-watchface-editor:1.0.0-alpha16")
+ docs("androidx.wear:wear-watchface-editor-guava:1.0.0-alpha16")
+ docs("androidx.wear:wear-watchface-guava:1.0.0-alpha16")
samples("androidx.wear:wear-watchface-samples:1.0.0-alpha02")
- docs("androidx.wear:wear-watchface-style:1.0.0-alpha15")
+ docs("androidx.wear:wear-watchface-style:1.0.0-alpha16")
docs("androidx.wear:wear-input:1.1.0-alpha02")
docs("androidx.wear:wear-input-testing:1.1.0-alpha02")
docs("androidx.webkit:webkit:1.4.0")
- docs("androidx.window:window:1.0.0-alpha07")
+ docs("androidx.window:window:1.0.0-alpha08")
stubs(fileTree(dir: "../window/stubs/", include: ["window-sidecar-release-0.1.0-alpha01.aar"]))
stubs(project(":window:window-extensions"))
- docs("androidx.window:window-java:1.0.0-alpha07")
- docs("androidx.window:window-rxjava2:1.0.0-alpha07")
- docs("androidx.window:window-rxjava3:1.0.0-alpha07")
+ docs("androidx.window:window-java:1.0.0-alpha08")
+ docs("androidx.window:window-rxjava2:1.0.0-alpha08")
+ docs("androidx.window:window-rxjava3:1.0.0-alpha08")
+ docs("androidx.window:window-testing:1.0.0-alpha08")
docs("androidx.work:work-gcm:2.7.0-alpha04")
docs("androidx.work:work-multiprocess:2.7.0-alpha04")
docs("androidx.work:work-runtime:2.7.0-alpha04")
diff --git a/docs/lint_guide.md b/docs/lint_guide.md
index c1b56c4..6ce7154 100644
--- a/docs/lint_guide.md
+++ b/docs/lint_guide.md
@@ -54,13 +54,7 @@
}
dependencies {
- // compileOnly because lint runtime is provided when checks are run
- // Use latest lint for running from IDE to make sure checks always run
- if (rootProject.hasProperty("android.injected.invoked.from.ide")) {
- compileOnly LINT_API_LATEST
- } else {
- compileOnly LINT_API_MIN
- }
+ compileOnly LINT_API_MIN
compileOnly KOTLIN_STDLIB
testImplementation KOTLIN_STDLIB
diff --git a/fragment/fragment/api/current.txt b/fragment/fragment/api/current.txt
index 7a3af0e..2d01b6d 100644
--- a/fragment/fragment/api/current.txt
+++ b/fragment/fragment/api/current.txt
@@ -237,11 +237,11 @@
method @Deprecated public void restoreAllState(android.os.Parcelable?, java.util.List<androidx.fragment.app.Fragment!>?);
method @Deprecated public void restoreAllState(android.os.Parcelable?, androidx.fragment.app.FragmentManagerNonConfig?);
method @Deprecated public void restoreLoaderNonConfig(androidx.collection.SimpleArrayMap<java.lang.String!,androidx.loader.app.LoaderManager!>!);
- method public void restoreSaveState(android.os.Parcelable?);
+ method @Deprecated public void restoreSaveState(android.os.Parcelable?);
method @Deprecated public androidx.collection.SimpleArrayMap<java.lang.String!,androidx.loader.app.LoaderManager!>? retainLoaderNonConfig();
method @Deprecated public androidx.fragment.app.FragmentManagerNonConfig? retainNestedNonConfig();
method @Deprecated public java.util.List<androidx.fragment.app.Fragment!>? retainNonConfig();
- method public android.os.Parcelable? saveAllState();
+ method @Deprecated public android.os.Parcelable? saveAllState();
}
public class FragmentFactory {
diff --git a/fragment/fragment/api/public_plus_experimental_current.txt b/fragment/fragment/api/public_plus_experimental_current.txt
index 7a3af0e..2d01b6d 100644
--- a/fragment/fragment/api/public_plus_experimental_current.txt
+++ b/fragment/fragment/api/public_plus_experimental_current.txt
@@ -237,11 +237,11 @@
method @Deprecated public void restoreAllState(android.os.Parcelable?, java.util.List<androidx.fragment.app.Fragment!>?);
method @Deprecated public void restoreAllState(android.os.Parcelable?, androidx.fragment.app.FragmentManagerNonConfig?);
method @Deprecated public void restoreLoaderNonConfig(androidx.collection.SimpleArrayMap<java.lang.String!,androidx.loader.app.LoaderManager!>!);
- method public void restoreSaveState(android.os.Parcelable?);
+ method @Deprecated public void restoreSaveState(android.os.Parcelable?);
method @Deprecated public androidx.collection.SimpleArrayMap<java.lang.String!,androidx.loader.app.LoaderManager!>? retainLoaderNonConfig();
method @Deprecated public androidx.fragment.app.FragmentManagerNonConfig? retainNestedNonConfig();
method @Deprecated public java.util.List<androidx.fragment.app.Fragment!>? retainNonConfig();
- method public android.os.Parcelable? saveAllState();
+ method @Deprecated public android.os.Parcelable? saveAllState();
}
public class FragmentFactory {
diff --git a/fragment/fragment/api/restricted_current.txt b/fragment/fragment/api/restricted_current.txt
index 1012495..6bc3b3f 100644
--- a/fragment/fragment/api/restricted_current.txt
+++ b/fragment/fragment/api/restricted_current.txt
@@ -242,11 +242,11 @@
method @Deprecated public void restoreAllState(android.os.Parcelable?, java.util.List<androidx.fragment.app.Fragment!>?);
method @Deprecated public void restoreAllState(android.os.Parcelable?, androidx.fragment.app.FragmentManagerNonConfig?);
method @Deprecated public void restoreLoaderNonConfig(androidx.collection.SimpleArrayMap<java.lang.String!,androidx.loader.app.LoaderManager!>!);
- method public void restoreSaveState(android.os.Parcelable?);
+ method @Deprecated public void restoreSaveState(android.os.Parcelable?);
method @Deprecated public androidx.collection.SimpleArrayMap<java.lang.String!,androidx.loader.app.LoaderManager!>? retainLoaderNonConfig();
method @Deprecated public androidx.fragment.app.FragmentManagerNonConfig? retainNestedNonConfig();
method @Deprecated public java.util.List<androidx.fragment.app.Fragment!>? retainNonConfig();
- method public android.os.Parcelable? saveAllState();
+ method @Deprecated public android.os.Parcelable? saveAllState();
}
public class FragmentFactory {
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ControllerHostCallbacks.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ControllerHostCallbacks.kt
index 91f107d..095f013 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ControllerHostCallbacks.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ControllerHostCallbacks.kt
@@ -69,6 +69,7 @@
destroyNonConfig: Boolean = true
): Parcelable? {
dispatchPause()
+ @Suppress("DEPRECATION")
val savedState = saveAllState()
dispatchStop()
if (destroyNonConfig) {
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentTest.kt
index e6509f1..ccd283a 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/DialogFragmentTest.kt
@@ -256,6 +256,7 @@
}
fc1.dispatchPause()
+ @Suppress("DEPRECATION")
val savedState = fc1.saveAllState()
fc1.dispatchStop()
fc1.dispatchDestroy()
@@ -298,6 +299,7 @@
}
fc1.dispatchPause()
+ @Suppress("DEPRECATION")
val savedState = fc1.saveAllState()
fc1.dispatchStop()
fc1.dispatchDestroy()
@@ -334,6 +336,7 @@
.commitNow()
fc1.dispatchPause()
+ @Suppress("DEPRECATION")
val savedState = fc1.saveAllState()
fc1.dispatchStop()
fc1.dispatchDestroy()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
index 3ffa1bb..cff45a6 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentLifecycleTest.kt
@@ -702,6 +702,7 @@
f.arguments = Bundle()
fc.dispatchPause()
+ @Suppress("DEPRECATION")
fc.saveAllState()
try {
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerSavedStateRegistryTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerSavedStateRegistryTest.kt
new file mode 100644
index 0000000..c5732d7
--- /dev/null
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentManagerSavedStateRegistryTest.kt
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.fragment.app
+
+import androidx.fragment.app.test.EmptyFragmentTestActivity
+import androidx.test.core.app.ActivityScenario
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.MediumTest
+import androidx.testutils.withActivity
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+@MediumTest
+class FragmentManagerSavedStateRegistryTest {
+
+ @Test
+ @Throws(Throwable::class)
+ fun savedState() {
+ with(ActivityScenario.launch(EmptyFragmentTestActivity::class.java)) {
+ val fragmentManager = withActivity { supportFragmentManager }
+ fragmentManager.beginTransaction()
+ .add(StateSaveFragment(TEST_FRAGMENT_STRING), FRAGMENT_TAG)
+ .commit()
+ executePendingTransactions()
+
+ recreate()
+ val fragment = withActivity { supportFragmentManager }
+ .findFragmentByTag(FRAGMENT_TAG) as StateSaveFragment
+ assertThat(fragment.savedState).isEqualTo(TEST_FRAGMENT_STRING)
+ }
+ }
+}
+
+private const val FRAGMENT_TAG = "TEST_TAG"
+private const val TEST_FRAGMENT_STRING = "TEST_STRING"
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt
index 1bc21cb..e47dfbb 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt
@@ -60,7 +60,7 @@
@Test
@UiThreadTest
fun testNoFragmentOnActivityResult() {
- activity.supportFragmentManager.saveAllState()
+ activity.supportFragmentManager.saveAllStateInternal()
// 0xffff is the request code for the startActivityResult launcher in FragmentManager
activity.onActivityResult(0xffff, Activity.RESULT_OK, Intent())
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ReentrantFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ReentrantFragmentTest.kt
index 4bed04d..bf509f3 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/ReentrantFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/ReentrantFragmentTest.kt
@@ -78,6 +78,7 @@
val savedState: Parcelable?
try {
fc1.dispatchPause()
+ @Suppress("DEPRECATION")
savedState = fc1.saveAllState()
fc1.dispatchStop()
fc1.dispatchDestroy()
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
index 0555b91..4ea17b2 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/SaveStateFragmentTest.kt
@@ -16,7 +16,6 @@
package androidx.fragment.app
-import android.os.Bundle
import android.widget.EditText
import androidx.fragment.app.test.EmptyFragmentTestActivity
import androidx.fragment.test.R
@@ -123,6 +122,7 @@
editText.setText("saved")
fc1.dispatchPause()
+ @Suppress("DEPRECATION")
val savedState = fc1.saveAllState()
fc1.dispatchStop()
fc1.dispatchDestroy()
@@ -144,6 +144,7 @@
fc2.shutdown(viewModelStore)
}
+ @Suppress("DEPRECATION")
@Test
@UiThreadTest
fun restoreRetainedInstanceFragments() {
@@ -292,6 +293,7 @@
assertWithMessage("child not destroyed").that(restoredChild.calledOnDestroy).isTrue()
}
+ @Suppress("DEPRECATION")
@Test
@UiThreadTest
fun restoreRetainedInstanceFragmentWithTransparentActivityConfigChange() {
@@ -434,6 +436,7 @@
fc2.shutdown(viewModelStore)
}
+ @Suppress("DEPRECATION")
@Test
@UiThreadTest
fun restoreNestedFragmentsOnBackStack() {
@@ -645,6 +648,7 @@
.that(f.isStateSaved).isFalse()
fc.dispatchPause()
+ @Suppress("DEPRECATION")
fc.saveAllState()
assertWithMessage("fragment reported state not saved after saveAllState")
@@ -725,32 +729,5 @@
assertThat(record.mPopExitAnim).isEqualTo(popExit)
}
- class StateSaveFragment(
- var savedState: String? = null,
- val unsavedState: String? = null,
- val retain: Boolean = false
- ) : StrictFragment() {
-
- @Suppress("DEPRECATION")
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- if (savedInstanceState != null) {
- savedState = savedInstanceState.getString(STATE_KEY)
- }
- if (retain) {
- retainInstance = true
- }
- }
-
- override fun onSaveInstanceState(outState: Bundle) {
- super.onSaveInstanceState(outState)
- outState.putString(STATE_KEY, savedState)
- }
-
- companion object {
- private const val STATE_KEY = "state"
- }
- }
-
class SaveViewStateFragment : StrictViewFragment(R.layout.with_edit_text)
}
\ No newline at end of file
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/StateSaveFragment.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/StateSaveFragment.kt
new file mode 100644
index 0000000..0ab9d0d
--- /dev/null
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/StateSaveFragment.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.fragment.app
+
+import android.os.Bundle
+
+class StateSaveFragment(
+ var savedState: String? = null,
+ val unsavedState: String? = null,
+ val retain: Boolean = false
+) : StrictFragment() {
+
+ @Suppress("DEPRECATION")
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ if (savedInstanceState != null) {
+ savedState = savedInstanceState.getString(STATE_KEY)
+ }
+ if (retain) {
+ retainInstance = true
+ }
+ }
+
+ override fun onSaveInstanceState(outState: Bundle) {
+ super.onSaveInstanceState(outState)
+ outState.putString(STATE_KEY, savedState)
+ }
+
+ companion object {
+ private const val STATE_KEY = "state"
+ }
+}
\ No newline at end of file
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java b/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
index 893b5e4..e8e4815 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
@@ -1896,9 +1896,9 @@
void restoreChildFragmentState(@Nullable Bundle savedInstanceState) {
if (savedInstanceState != null) {
Parcelable p = savedInstanceState.getParcelable(
- FragmentActivity.FRAGMENTS_TAG);
+ FragmentManager.SAVED_STATE_TAG);
if (p != null) {
- mChildFragmentManager.restoreSaveState(p);
+ mChildFragmentManager.restoreSaveStateInternal(p);
mChildFragmentManager.dispatchCreate();
}
}
@@ -3148,9 +3148,9 @@
void performSaveInstanceState(Bundle outState) {
onSaveInstanceState(outState);
mSavedStateRegistryController.performSave(outState);
- Parcelable p = mChildFragmentManager.saveAllState();
+ Parcelable p = mChildFragmentManager.saveAllStateInternal();
if (p != null) {
- outState.putParcelable(FragmentActivity.FRAGMENTS_TAG, p);
+ outState.putParcelable(FragmentManager.SAVED_STATE_TAG, p);
}
}
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java
index 380a8a5..5ce276d 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java
@@ -27,7 +27,6 @@
import android.content.res.Configuration;
import android.os.Bundle;
import android.os.Handler;
-import android.os.Parcelable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -38,7 +37,6 @@
import androidx.activity.ComponentActivity;
import androidx.activity.OnBackPressedDispatcher;
import androidx.activity.OnBackPressedDispatcherOwner;
-import androidx.activity.contextaware.OnContextAvailableListener;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultRegistry;
import androidx.activity.result.ActivityResultRegistryOwner;
@@ -59,6 +57,7 @@
import androidx.lifecycle.ViewModelStoreOwner;
import androidx.loader.app.LoaderManager;
import androidx.savedstate.SavedStateRegistry;
+import androidx.savedstate.SavedStateRegistryOwner;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -79,7 +78,7 @@
ActivityCompat.OnRequestPermissionsResultCallback,
ActivityCompat.RequestPermissionsRequestCodeValidator {
- static final String FRAGMENTS_TAG = "android:support:fragments";
+ static final String LIFECYCLE_TAG = "android:support:lifecycle";
final FragmentController mFragments = FragmentController.createController(new HostCallbacks());
/**
@@ -121,35 +120,12 @@
}
private void init() {
- // TODO: Directly connect FragmentManager to SavedStateRegistry
- getSavedStateRegistry().registerSavedStateProvider(FRAGMENTS_TAG,
- new SavedStateRegistry.SavedStateProvider() {
- @NonNull
- @Override
- public Bundle saveState() {
- Bundle outState = new Bundle();
- markFragmentsCreated();
- mFragmentLifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
- Parcelable p = mFragments.saveAllState();
- if (p != null) {
- outState.putParcelable(FRAGMENTS_TAG, p);
- }
- return outState;
- }
- });
- addOnContextAvailableListener(new OnContextAvailableListener() {
- @Override
- public void onContextAvailable(@NonNull Context context) {
- mFragments.attachHost(null /*parent*/);
- Bundle savedInstanceState = getSavedStateRegistry()
- .consumeRestoredStateForKey(FRAGMENTS_TAG);
-
- if (savedInstanceState != null) {
- Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG);
- mFragments.restoreSaveState(p);
- }
- }
+ getSavedStateRegistry().registerSavedStateProvider(LIFECYCLE_TAG, () -> {
+ markFragmentsCreated();
+ mFragmentLifecycleRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
+ return new Bundle();
});
+ addOnContextAvailableListener(context -> mFragments.attachHost(null /*parent*/));
}
// ------------------------------------------------------------------------
@@ -720,6 +696,7 @@
ViewModelStoreOwner,
OnBackPressedDispatcherOwner,
ActivityResultRegistryOwner,
+ SavedStateRegistryOwner,
FragmentOnAttachListener {
public HostCallbacks() {
super(FragmentActivity.this /*fragmentActivity*/);
@@ -815,6 +792,12 @@
public ActivityResultRegistry getActivityResultRegistry() {
return FragmentActivity.this.getActivityResultRegistry();
}
+
+ @NonNull
+ @Override
+ public SavedStateRegistry getSavedStateRegistry() {
+ return FragmentActivity.this.getSavedStateRegistry();
+ }
}
void markFragmentsCreated() {
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentController.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentController.java
index 6596614..1cbc826 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentController.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentController.java
@@ -146,7 +146,13 @@
* Saves the state for all Fragments.
*
* @see #restoreSaveState(Parcelable)
+ *
+ * @deprecated Have your {@link FragmentHostCallback} implement
+ * {@link androidx.savedstate.SavedStateRegistryOwner} to automatically
+ * save state via the {@link FragmentManager}.
*/
+ @SuppressWarnings("deprecation")
+ @Deprecated
@Nullable
public Parcelable saveAllState() {
return mHost.mFragmentManager.saveAllState();
@@ -188,7 +194,12 @@
*
* @param state the saved state containing the Parcelable returned by {@link #saveAllState()}
* @see #saveAllState()
+ * @deprecated Have your {@link FragmentHostCallback} implement
+ * {@link androidx.savedstate.SavedStateRegistryOwner} to automatically
+ * restore the saved state via the {@link FragmentManager}.
*/
+ @SuppressWarnings("deprecation")
+ @Deprecated
public void restoreSaveState(@Nullable Parcelable state) {
if (!(mHost instanceof ViewModelStoreOwner)) {
throw new IllegalStateException("Your FragmentHostCallback must implement "
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
index afe0e80..19b60ea 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
@@ -66,6 +66,8 @@
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.ViewModelStore;
import androidx.lifecycle.ViewModelStoreOwner;
+import androidx.savedstate.SavedStateRegistry;
+import androidx.savedstate.SavedStateRegistryOwner;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -92,6 +94,7 @@
* {@link FragmentActivity#getSupportFragmentManager}.
*/
public abstract class FragmentManager implements FragmentResultOwner {
+ static final String SAVED_STATE_TAG = "android:support:fragments";
private static boolean DEBUG = false;
/** @hide */
@@ -2208,6 +2211,14 @@
}
Parcelable saveAllState() {
+ if (mHost instanceof SavedStateRegistryOwner) {
+ throwException(new IllegalStateException("You cannot use saveAllState when your "
+ + "FragmentHostCallback implements SavedStateRegistryOwner."));
+ }
+ return saveAllStateInternal();
+ }
+
+ Parcelable saveAllStateInternal() {
// Make sure all pending operations have now been executed to get
// our state update-to-date.
forcePostponedTransactions();
@@ -2271,10 +2282,18 @@
+ "FragmentHostCallback implements ViewModelStoreOwner"));
}
mNonConfig.restoreFromSnapshot(nonConfig);
- restoreSaveState(state);
+ restoreSaveStateInternal(state);
}
void restoreSaveState(@Nullable Parcelable state) {
+ if (mHost instanceof SavedStateRegistryOwner) {
+ throwException(new IllegalStateException("You cannot use restoreSaveState when your "
+ + "FragmentHostCallback implements SavedStateRegistryOwner."));
+ }
+ restoreSaveStateInternal(state);
+ }
+
+ void restoreSaveStateInternal(@Nullable Parcelable state) {
// If there is no saved state at all, then there's nothing else to do
if (state == null) return;
FragmentManagerState fms = (FragmentManagerState) state;
@@ -2459,6 +2478,27 @@
mNonConfig.setIsStateSaved(isStateSaved());
mFragmentStore.setNonConfig(mNonConfig);
+ if (mHost instanceof SavedStateRegistryOwner && parent == null) {
+ SavedStateRegistry registry =
+ ((SavedStateRegistryOwner) mHost).getSavedStateRegistry();
+ registry.registerSavedStateProvider(SAVED_STATE_TAG, () -> {
+ Bundle outState = new Bundle();
+ Parcelable p = saveAllStateInternal();
+ if (p != null) {
+ outState.putParcelable(SAVED_STATE_TAG, p);
+ }
+ return outState;
+ }
+ );
+
+ Bundle savedInstanceState = registry
+ .consumeRestoredStateForKey(SAVED_STATE_TAG);
+ if (savedInstanceState != null) {
+ Parcelable p = savedInstanceState.getParcelable(SAVED_STATE_TAG);
+ restoreSaveStateInternal(p);
+ }
+ }
+
if (mHost instanceof ActivityResultRegistryOwner) {
ActivityResultRegistry registry =
((ActivityResultRegistryOwner) mHost).getActivityResultRegistry();
diff --git a/gradle.properties b/gradle.properties
index 9ef8a54..220234a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -30,6 +30,4 @@
kotlin.stdlib.default.dependency=false
# Enable adding baseline-prof.txt files to AAR artifacts
-android.experimental.enableArtProfiles=true
-
-android.experimental.runLintInProcess=false
\ No newline at end of file
+android.experimental.enableArtProfiles=true
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index d177eb0..f0975f0 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -12,6 +12,10 @@
# -----------------------------------------------------------------------------
androidLintMin = "26.3.0"
+# Compose 1.0 stable is aligned with AGP 7.0 / Lint 30.0.0 stable - so we use a higher min to
+# compile against as we don't need to maintain compatibility with older versions of Lint.
+# TODO: update to 30.0.0 stable when it is released
+androidLintMinCompose = "30.0.0-alpha15"
androidxTest = "1.4.0-beta01"
androidxTestExt = "1.1.3-beta01"
autoService = "1.0-rc6"
@@ -36,6 +40,7 @@
androidLintMin = { module = "com.android.tools.lint:lint", version.ref = "androidLintMin" }
androidLintApi = { module = "com.android.tools.lint:lint-api", version.ref = "androidLint" }
androidLintMinApi = { module = "com.android.tools.lint:lint-api", version.ref = "androidLintMin" }
+androidLintMinComposeApi = { module = "com.android.tools.lint:lint-api", version.ref = "androidLintMinCompose" }
androidLintChecks = { module = "com.android.tools.lint:lint-checks", version.ref = "androidLint" }
androidLintTests = { module = "com.android.tools.lint:lint-tests", version.ref = "androidLint" }
autoCommon = { module = "com.google.auto:auto-common", version = "0.11" }
diff --git a/gridlayout/gridlayout/src/androidTest/java/androidx/gridlayout/widget/GridLayoutTest.java b/gridlayout/gridlayout/src/androidTest/java/androidx/gridlayout/widget/GridLayoutTest.java
index dd9198d..ae786be 100644
--- a/gridlayout/gridlayout/src/androidTest/java/androidx/gridlayout/widget/GridLayoutTest.java
+++ b/gridlayout/gridlayout/src/androidTest/java/androidx/gridlayout/widget/GridLayoutTest.java
@@ -30,7 +30,6 @@
import androidx.gridlayout.test.R;
import androidx.test.ext.junit.runners.AndroidJUnit4;
-import androidx.test.filters.FlakyTest;
import androidx.test.filters.LargeTest;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.rule.ActivityTestRule;
@@ -126,7 +125,6 @@
assertEquals(total, left);
}
- @FlakyTest(bugId = 190539262)
@Test
public void testWrapContentInOtherDirection() throws Throwable {
setContentView(R.layout.height_wrap_content_test);
diff --git a/jetifier/jetifier/source-transformer/source_transformer.py b/jetifier/jetifier/source-transformer/source_transformer.py
index 6e0baa0..0f8f6a2 100755
--- a/jetifier/jetifier/source-transformer/source_transformer.py
+++ b/jetifier/jetifier/source-transformer/source_transformer.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
# This script does package renamings on source code (and .xml files and build files, etc), as part of migrating code to Jetpack.
# For example, this script may replace the text
diff --git a/leanback/leanback/generatef.py b/leanback/leanback/generatef.py
index 743a435..bb38d96 100755
--- a/leanback/leanback/generatef.py
+++ b/leanback/leanback/generatef.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
# Copyright (C) 2017 The Android Open Source Project
#
diff --git a/leanback/leanback/src/androidTest/generatev4.py b/leanback/leanback/src/androidTest/generatev4.py
index d05788b..92c33cc 100755
--- a/leanback/leanback/src/androidTest/generatev4.py
+++ b/leanback/leanback/src/androidTest/generatev4.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
# Copyright (C) 2015 The Android Open Source Project
#
diff --git a/leanback/leanback/src/main/res/values-bs/strings.xml b/leanback/leanback/src/main/res/values-bs/strings.xml
index 68aa6f3..0421ed7 100644
--- a/leanback/leanback/src/main/res/values-bs/strings.xml
+++ b/leanback/leanback/src/main/res/values-bs/strings.xml
@@ -47,7 +47,7 @@
<string name="lb_playback_controls_high_quality_disable" msgid="1209119371486219736">"Isključi visoki kvalitet"</string>
<string name="lb_playback_controls_closed_captioning_enable" msgid="2346334170216706076">"Uključi titlove"</string>
<string name="lb_playback_controls_closed_captioning_disable" msgid="8691966842977635128">"Isključi titlove"</string>
- <string name="lb_playback_controls_picture_in_picture" msgid="5770668162543767702">"Uđi u način rada Slika u slici"</string>
+ <string name="lb_playback_controls_picture_in_picture" msgid="5770668162543767702">"Uđi u način rada slike u slici"</string>
<string name="lb_playback_time_separator" msgid="1471121602610716654">"/"</string>
<string name="lb_playback_controls_shown" msgid="8690223891515602822">"Kontrole za medije su prikazane"</string>
<string name="lb_playback_controls_hidden" msgid="5859666950961624736">"Kontrole za medije su skrivene. Pritisnite d-pad da ih prikažete"</string>
diff --git a/leanback/leanback/src/main/res/values-ky/strings.xml b/leanback/leanback/src/main/res/values-ky/strings.xml
index 3eee16b..4d12f12 100644
--- a/leanback/leanback/src/main/res/values-ky/strings.xml
+++ b/leanback/leanback/src/main/res/values-ky/strings.xml
@@ -50,7 +50,7 @@
<string name="lb_playback_controls_picture_in_picture" msgid="5770668162543767702">"Сүрөт режиминде сүрөт киргизүү"</string>
<string name="lb_playback_time_separator" msgid="1471121602610716654">"/"</string>
<string name="lb_playback_controls_shown" msgid="8690223891515602822">"Медиа файлды башкаруу көрсөтүлдү"</string>
- <string name="lb_playback_controls_hidden" msgid="5859666950961624736">"Медиа файлды башкаруу жашырылган, көрүү үчүн d-pad көзөмөлдөө каражатын басыңыз"</string>
+ <string name="lb_playback_controls_hidden" msgid="5859666950961624736">"Медиа файлды башкаруу жашырылган, көрүү үчүн d-pad башкаруу элементин басыңыз"</string>
<string name="lb_guidedaction_finish_title" msgid="3330958750346333890">"Бүттү"</string>
<string name="lb_guidedaction_continue_title" msgid="893619591225519922">"Улантуу"</string>
<string name="lb_media_player_error" msgid="3228326776757666747">"MediaPlayer\'деги катанын коду: %1$d, кошумча: %2$d"</string>
diff --git a/lifecycle/lifecycle-compiler/reset_results.py b/lifecycle/lifecycle-compiler/reset_results.py
index 66e29eb..4b816f8 100644
--- a/lifecycle/lifecycle-compiler/reset_results.py
+++ b/lifecycle/lifecycle-compiler/reset_results.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
#
# Copyright 2017, The Android Open Source Project
diff --git a/lifecycle/settings.gradle b/lifecycle/settings.gradle
index 16a755f..b31de75 100644
--- a/lifecycle/settings.gradle
+++ b/lifecycle/settings.gradle
@@ -23,10 +23,7 @@
if (name == ":annotation:annotation") return true
if (name == ":internal-testutils-runtime") return true
if (name == ":internal-testutils-truth") return true
- if (name == ":compose:lint:common") return true
- if (name == ":compose:lint:internal-lint-checks") return true
- if (name == ":compose:test-utils") return true
- if (name == ":test-screenshot") return true
+ if (isNeededForComposePlayground(name)) return true
return false
})
diff --git a/lint-checks/src/test/java/androidx/build/lint/ClassVerificationFailureDetectorTest.kt b/lint-checks/src/test/java/androidx/build/lint/ClassVerificationFailureDetectorTest.kt
index c1006d3..f3dfe69 100644
--- a/lint-checks/src/test/java/androidx/build/lint/ClassVerificationFailureDetectorTest.kt
+++ b/lint-checks/src/test/java/androidx/build/lint/ClassVerificationFailureDetectorTest.kt
@@ -40,16 +40,16 @@
/* ktlint-disable max-line-length */
val expected = """
-src/androidx/ClassVerificationFailureFromJava.java:38: Error: This call references a method added in API level 21; however, the containing class androidx.ClassVerificationFailureFromJava is reachable from earlier API levels and will fail run-time class verification. [ClassVerificationFailure]
+src/androidx/ClassVerificationFailureFromJava.java:37: Error: This call references a method added in API level 21; however, the containing class androidx.ClassVerificationFailureFromJava is reachable from earlier API levels and will fail run-time class verification. [ClassVerificationFailure]
view.setBackgroundTintList(tint);
~~~~~~~~~~~~~~~~~~~~~
-src/androidx/ClassVerificationFailureFromJava.java:47: Error: This call references a method added in API level 17; however, the containing class androidx.ClassVerificationFailureFromJava is reachable from earlier API levels and will fail run-time class verification. [ClassVerificationFailure]
+src/androidx/ClassVerificationFailureFromJava.java:46: Error: This call references a method added in API level 17; however, the containing class androidx.ClassVerificationFailureFromJava is reachable from earlier API levels and will fail run-time class verification. [ClassVerificationFailure]
return View.generateViewId();
~~~~~~~~~~~~~~
-src/androidx/ClassVerificationFailureFromJava.java:58: Error: This call references a method added in API level 23; however, the containing class androidx.ClassVerificationFailureFromJava is reachable from earlier API levels and will fail run-time class verification. [ClassVerificationFailure]
+src/androidx/ClassVerificationFailureFromJava.java:56: Error: This call references a method added in API level 23; however, the containing class androidx.ClassVerificationFailureFromJava is reachable from earlier API levels and will fail run-time class verification. [ClassVerificationFailure]
return view.getAccessibilityClassName();
~~~~~~~~~~~~~~~~~~~~~~~~~
-src/androidx/ClassVerificationFailureFromJava.java:80: Error: This call references a method added in API level 28; however, the containing class androidx.ClassVerificationFailureFromJava.Api28Impl is reachable from earlier API levels and will fail run-time class verification. [ClassVerificationFailure]
+src/androidx/ClassVerificationFailureFromJava.java:78: Error: This call references a method added in API level 28; however, the containing class androidx.ClassVerificationFailureFromJava.Api28Impl is reachable from earlier API levels and will fail run-time class verification. [ClassVerificationFailure]
return view.getAccessibilityPaneTitle();
~~~~~~~~~~~~~~~~~~~~~~~~~
4 errors, 0 warnings
diff --git a/media/media/api/1.4.0-beta01.txt b/media/media/api/1.4.0-beta01.txt
new file mode 100644
index 0000000..e82dbe2
--- /dev/null
+++ b/media/media/api/1.4.0-beta01.txt
@@ -0,0 +1,746 @@
+// Signature format: 4.0
+package android.support.v4.media {
+
+ public final class MediaBrowserCompat {
+ ctor public MediaBrowserCompat(android.content.Context!, android.content.ComponentName!, android.support.v4.media.MediaBrowserCompat.ConnectionCallback!, android.os.Bundle!);
+ method public void connect();
+ method public void disconnect();
+ method public android.os.Bundle? getExtras();
+ method public void getItem(String, android.support.v4.media.MediaBrowserCompat.ItemCallback);
+ method public String getRoot();
+ method public android.content.ComponentName getServiceComponent();
+ method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken();
+ method public boolean isConnected();
+ method public void search(String, android.os.Bundle!, android.support.v4.media.MediaBrowserCompat.SearchCallback);
+ method public void sendCustomAction(String, android.os.Bundle!, android.support.v4.media.MediaBrowserCompat.CustomActionCallback?);
+ method public void subscribe(String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+ method public void subscribe(String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+ method public void unsubscribe(String);
+ method public void unsubscribe(String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+ field public static final String CUSTOM_ACTION_DOWNLOAD = "android.support.v4.media.action.DOWNLOAD";
+ field public static final String CUSTOM_ACTION_REMOVE_DOWNLOADED_FILE = "android.support.v4.media.action.REMOVE_DOWNLOADED_FILE";
+ field public static final String EXTRA_DOWNLOAD_PROGRESS = "android.media.browse.extra.DOWNLOAD_PROGRESS";
+ field public static final String EXTRA_MEDIA_ID = "android.media.browse.extra.MEDIA_ID";
+ field public static final String EXTRA_PAGE = "android.media.browse.extra.PAGE";
+ field public static final String EXTRA_PAGE_SIZE = "android.media.browse.extra.PAGE_SIZE";
+ }
+
+ public static class MediaBrowserCompat.ConnectionCallback {
+ ctor public MediaBrowserCompat.ConnectionCallback();
+ method public void onConnected();
+ method public void onConnectionFailed();
+ method public void onConnectionSuspended();
+ }
+
+ public abstract static class MediaBrowserCompat.CustomActionCallback {
+ ctor public MediaBrowserCompat.CustomActionCallback();
+ method public void onError(String!, android.os.Bundle!, android.os.Bundle!);
+ method public void onProgressUpdate(String!, android.os.Bundle!, android.os.Bundle!);
+ method public void onResult(String!, android.os.Bundle!, android.os.Bundle!);
+ }
+
+ public abstract static class MediaBrowserCompat.ItemCallback {
+ ctor public MediaBrowserCompat.ItemCallback();
+ method public void onError(String);
+ method public void onItemLoaded(android.support.v4.media.MediaBrowserCompat.MediaItem!);
+ }
+
+ public static class MediaBrowserCompat.MediaItem implements android.os.Parcelable {
+ ctor public MediaBrowserCompat.MediaItem(android.support.v4.media.MediaDescriptionCompat, int);
+ method public int describeContents();
+ method public static android.support.v4.media.MediaBrowserCompat.MediaItem! fromMediaItem(Object!);
+ method public static java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>! fromMediaItemList(java.util.List<?>!);
+ method public android.support.v4.media.MediaDescriptionCompat getDescription();
+ method public int getFlags();
+ method public String? getMediaId();
+ method public boolean isBrowsable();
+ method public boolean isPlayable();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaBrowserCompat.MediaItem!>! CREATOR;
+ field public static final int FLAG_BROWSABLE = 1; // 0x1
+ field public static final int FLAG_PLAYABLE = 2; // 0x2
+ }
+
+ public abstract static class MediaBrowserCompat.SearchCallback {
+ ctor public MediaBrowserCompat.SearchCallback();
+ method public void onError(String, android.os.Bundle!);
+ method public void onSearchResult(String, android.os.Bundle!, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>);
+ }
+
+ public abstract static class MediaBrowserCompat.SubscriptionCallback {
+ ctor public MediaBrowserCompat.SubscriptionCallback();
+ method public void onChildrenLoaded(String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>);
+ method public void onChildrenLoaded(String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>, android.os.Bundle);
+ method public void onError(String);
+ method public void onError(String, android.os.Bundle);
+ }
+
+ public final class MediaDescriptionCompat implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.MediaDescriptionCompat! fromMediaDescription(Object!);
+ method public CharSequence? getDescription();
+ method public android.os.Bundle? getExtras();
+ method public android.graphics.Bitmap? getIconBitmap();
+ method public android.net.Uri? getIconUri();
+ method public Object! getMediaDescription();
+ method public String? getMediaId();
+ method public android.net.Uri? getMediaUri();
+ method public CharSequence? getSubtitle();
+ method public CharSequence? getTitle();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final long BT_FOLDER_TYPE_ALBUMS = 2L; // 0x2L
+ field public static final long BT_FOLDER_TYPE_ARTISTS = 3L; // 0x3L
+ field public static final long BT_FOLDER_TYPE_GENRES = 4L; // 0x4L
+ field public static final long BT_FOLDER_TYPE_MIXED = 0L; // 0x0L
+ field public static final long BT_FOLDER_TYPE_PLAYLISTS = 5L; // 0x5L
+ field public static final long BT_FOLDER_TYPE_TITLES = 1L; // 0x1L
+ field public static final long BT_FOLDER_TYPE_YEARS = 6L; // 0x6L
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaDescriptionCompat!>! CREATOR;
+ field public static final String EXTRA_BT_FOLDER_TYPE = "android.media.extra.BT_FOLDER_TYPE";
+ field public static final String EXTRA_DOWNLOAD_STATUS = "android.media.extra.DOWNLOAD_STATUS";
+ field public static final long STATUS_DOWNLOADED = 2L; // 0x2L
+ field public static final long STATUS_DOWNLOADING = 1L; // 0x1L
+ field public static final long STATUS_NOT_DOWNLOADED = 0L; // 0x0L
+ }
+
+ public static final class MediaDescriptionCompat.Builder {
+ ctor public MediaDescriptionCompat.Builder();
+ method public android.support.v4.media.MediaDescriptionCompat! build();
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setDescription(CharSequence?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setExtras(android.os.Bundle?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setIconBitmap(android.graphics.Bitmap?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setIconUri(android.net.Uri?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setMediaId(String?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setMediaUri(android.net.Uri?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setSubtitle(CharSequence?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setTitle(CharSequence?);
+ }
+
+ public final class MediaMetadataCompat implements android.os.Parcelable {
+ method public boolean containsKey(String!);
+ method public int describeContents();
+ method public static android.support.v4.media.MediaMetadataCompat! fromMediaMetadata(Object!);
+ method public android.graphics.Bitmap! getBitmap(String!);
+ method public android.os.Bundle! getBundle();
+ method public android.support.v4.media.MediaDescriptionCompat! getDescription();
+ method public long getLong(String!);
+ method public Object! getMediaMetadata();
+ method public android.support.v4.media.RatingCompat! getRating(String!);
+ method public String! getString(String!);
+ method public CharSequence! getText(String!);
+ method public java.util.Set<java.lang.String!>! keySet();
+ method public int size();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaMetadataCompat!>! CREATOR;
+ field public static final String METADATA_KEY_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT";
+ field public static final String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM";
+ field public static final String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART";
+ field public static final String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST";
+ field public static final String METADATA_KEY_ALBUM_ART_URI = "android.media.metadata.ALBUM_ART_URI";
+ field public static final String METADATA_KEY_ART = "android.media.metadata.ART";
+ field public static final String METADATA_KEY_ARTIST = "android.media.metadata.ARTIST";
+ field public static final String METADATA_KEY_ART_URI = "android.media.metadata.ART_URI";
+ field public static final String METADATA_KEY_AUTHOR = "android.media.metadata.AUTHOR";
+ field public static final String METADATA_KEY_BT_FOLDER_TYPE = "android.media.metadata.BT_FOLDER_TYPE";
+ field public static final String METADATA_KEY_COMPILATION = "android.media.metadata.COMPILATION";
+ field public static final String METADATA_KEY_COMPOSER = "android.media.metadata.COMPOSER";
+ field public static final String METADATA_KEY_DATE = "android.media.metadata.DATE";
+ field public static final String METADATA_KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER";
+ field public static final String METADATA_KEY_DISPLAY_DESCRIPTION = "android.media.metadata.DISPLAY_DESCRIPTION";
+ field public static final String METADATA_KEY_DISPLAY_ICON = "android.media.metadata.DISPLAY_ICON";
+ field public static final String METADATA_KEY_DISPLAY_ICON_URI = "android.media.metadata.DISPLAY_ICON_URI";
+ field public static final String METADATA_KEY_DISPLAY_SUBTITLE = "android.media.metadata.DISPLAY_SUBTITLE";
+ field public static final String METADATA_KEY_DISPLAY_TITLE = "android.media.metadata.DISPLAY_TITLE";
+ field public static final String METADATA_KEY_DOWNLOAD_STATUS = "android.media.metadata.DOWNLOAD_STATUS";
+ field public static final String METADATA_KEY_DURATION = "android.media.metadata.DURATION";
+ field public static final String METADATA_KEY_GENRE = "android.media.metadata.GENRE";
+ field public static final String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID";
+ field public static final String METADATA_KEY_MEDIA_URI = "android.media.metadata.MEDIA_URI";
+ field public static final String METADATA_KEY_NUM_TRACKS = "android.media.metadata.NUM_TRACKS";
+ field public static final String METADATA_KEY_RATING = "android.media.metadata.RATING";
+ field public static final String METADATA_KEY_TITLE = "android.media.metadata.TITLE";
+ field public static final String METADATA_KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER";
+ field public static final String METADATA_KEY_USER_RATING = "android.media.metadata.USER_RATING";
+ field public static final String METADATA_KEY_WRITER = "android.media.metadata.WRITER";
+ field public static final String METADATA_KEY_YEAR = "android.media.metadata.YEAR";
+ }
+
+ public static final class MediaMetadataCompat.Builder {
+ ctor public MediaMetadataCompat.Builder();
+ ctor public MediaMetadataCompat.Builder(android.support.v4.media.MediaMetadataCompat!);
+ method public android.support.v4.media.MediaMetadataCompat! build();
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putBitmap(String!, android.graphics.Bitmap!);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putLong(String!, long);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putRating(String!, android.support.v4.media.RatingCompat!);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putString(String!, String!);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putText(String!, CharSequence!);
+ }
+
+ public final class RatingCompat implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.RatingCompat! fromRating(Object!);
+ method public float getPercentRating();
+ method public Object! getRating();
+ method public int getRatingStyle();
+ method public float getStarRating();
+ method public boolean hasHeart();
+ method public boolean isRated();
+ method public boolean isThumbUp();
+ method public static android.support.v4.media.RatingCompat! newHeartRating(boolean);
+ method public static android.support.v4.media.RatingCompat! newPercentageRating(float);
+ method public static android.support.v4.media.RatingCompat! newStarRating(int, float);
+ method public static android.support.v4.media.RatingCompat! newThumbRating(boolean);
+ method public static android.support.v4.media.RatingCompat! newUnratedRating(int);
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.RatingCompat!>! CREATOR;
+ field public static final int RATING_3_STARS = 3; // 0x3
+ field public static final int RATING_4_STARS = 4; // 0x4
+ field public static final int RATING_5_STARS = 5; // 0x5
+ field public static final int RATING_HEART = 1; // 0x1
+ field public static final int RATING_NONE = 0; // 0x0
+ field public static final int RATING_PERCENTAGE = 6; // 0x6
+ field public static final int RATING_THUMB_UP_DOWN = 2; // 0x2
+ }
+
+}
+
+package android.support.v4.media.session {
+
+ public final class MediaControllerCompat {
+ ctor public MediaControllerCompat(android.content.Context!, android.support.v4.media.session.MediaSessionCompat);
+ ctor public MediaControllerCompat(android.content.Context!, android.support.v4.media.session.MediaSessionCompat.Token);
+ method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat!, int);
+ method public void adjustVolume(int, int);
+ method public boolean dispatchMediaButtonEvent(android.view.KeyEvent!);
+ method public android.os.Bundle! getExtras();
+ method public long getFlags();
+ method public static android.support.v4.media.session.MediaControllerCompat! getMediaController(android.app.Activity);
+ method public Object! getMediaController();
+ method public android.support.v4.media.MediaMetadataCompat! getMetadata();
+ method public String! getPackageName();
+ method public android.support.v4.media.session.MediaControllerCompat.PlaybackInfo! getPlaybackInfo();
+ method public android.support.v4.media.session.PlaybackStateCompat! getPlaybackState();
+ method public java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>! getQueue();
+ method public CharSequence! getQueueTitle();
+ method public int getRatingType();
+ method public int getRepeatMode();
+ method public android.app.PendingIntent! getSessionActivity();
+ method public android.os.Bundle getSessionInfo();
+ method public android.support.v4.media.session.MediaSessionCompat.Token! getSessionToken();
+ method public int getShuffleMode();
+ method public android.support.v4.media.session.MediaControllerCompat.TransportControls! getTransportControls();
+ method public boolean isCaptioningEnabled();
+ method public boolean isSessionReady();
+ method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback);
+ method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback, android.os.Handler!);
+ method public void removeQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method @Deprecated public void removeQueueItemAt(int);
+ method public void sendCommand(String, android.os.Bundle?, android.os.ResultReceiver?);
+ method public static void setMediaController(android.app.Activity, android.support.v4.media.session.MediaControllerCompat!);
+ method public void setVolumeTo(int, int);
+ method public void unregisterCallback(android.support.v4.media.session.MediaControllerCompat.Callback);
+ }
+
+ public abstract static class MediaControllerCompat.Callback implements android.os.IBinder.DeathRecipient {
+ ctor public MediaControllerCompat.Callback();
+ method public void binderDied();
+ method public void onAudioInfoChanged(android.support.v4.media.session.MediaControllerCompat.PlaybackInfo!);
+ method public void onCaptioningEnabledChanged(boolean);
+ method public void onExtrasChanged(android.os.Bundle!);
+ method public void onMetadataChanged(android.support.v4.media.MediaMetadataCompat!);
+ method public void onPlaybackStateChanged(android.support.v4.media.session.PlaybackStateCompat!);
+ method public void onQueueChanged(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>!);
+ method public void onQueueTitleChanged(CharSequence!);
+ method public void onRepeatModeChanged(int);
+ method public void onSessionDestroyed();
+ method public void onSessionEvent(String!, android.os.Bundle!);
+ method public void onSessionReady();
+ method public void onShuffleModeChanged(int);
+ }
+
+ public static final class MediaControllerCompat.PlaybackInfo {
+ method public androidx.media.AudioAttributesCompat getAudioAttributes();
+ method @Deprecated public int getAudioStream();
+ method public int getCurrentVolume();
+ method public int getMaxVolume();
+ method public int getPlaybackType();
+ method public int getVolumeControl();
+ field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1
+ field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2
+ }
+
+ public abstract static class MediaControllerCompat.TransportControls {
+ method public abstract void fastForward();
+ method public abstract void pause();
+ method public abstract void play();
+ method public abstract void playFromMediaId(String!, android.os.Bundle!);
+ method public abstract void playFromSearch(String!, android.os.Bundle!);
+ method public abstract void playFromUri(android.net.Uri!, android.os.Bundle!);
+ method public abstract void prepare();
+ method public abstract void prepareFromMediaId(String!, android.os.Bundle!);
+ method public abstract void prepareFromSearch(String!, android.os.Bundle!);
+ method public abstract void prepareFromUri(android.net.Uri!, android.os.Bundle!);
+ method public abstract void rewind();
+ method public abstract void seekTo(long);
+ method public abstract void sendCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction!, android.os.Bundle!);
+ method public abstract void sendCustomAction(String!, android.os.Bundle!);
+ method public abstract void setCaptioningEnabled(boolean);
+ method public void setPlaybackSpeed(float);
+ method public abstract void setRating(android.support.v4.media.RatingCompat!);
+ method public abstract void setRating(android.support.v4.media.RatingCompat!, android.os.Bundle!);
+ method public abstract void setRepeatMode(int);
+ method public abstract void setShuffleMode(int);
+ method public abstract void skipToNext();
+ method public abstract void skipToPrevious();
+ method public abstract void skipToQueueItem(long);
+ method public abstract void stop();
+ field @Deprecated public static final String EXTRA_LEGACY_STREAM_TYPE = "android.media.session.extra.LEGACY_STREAM_TYPE";
+ }
+
+ public class MediaSessionCompat {
+ ctor public MediaSessionCompat(android.content.Context, String);
+ ctor public MediaSessionCompat(android.content.Context, String, android.content.ComponentName?, android.app.PendingIntent?);
+ ctor public MediaSessionCompat(android.content.Context, String, android.content.ComponentName?, android.app.PendingIntent?, android.os.Bundle?);
+ method public void addOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener!);
+ method public static android.support.v4.media.session.MediaSessionCompat! fromMediaSession(android.content.Context!, Object!);
+ method public android.support.v4.media.session.MediaControllerCompat! getController();
+ method public final androidx.media.MediaSessionManager.RemoteUserInfo getCurrentControllerInfo();
+ method public Object! getMediaSession();
+ method public Object! getRemoteControlClient();
+ method public android.support.v4.media.session.MediaSessionCompat.Token! getSessionToken();
+ method public boolean isActive();
+ method public void release();
+ method public void removeOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener!);
+ method public void sendSessionEvent(String!, android.os.Bundle!);
+ method public void setActive(boolean);
+ method public void setCallback(android.support.v4.media.session.MediaSessionCompat.Callback!);
+ method public void setCallback(android.support.v4.media.session.MediaSessionCompat.Callback!, android.os.Handler!);
+ method public void setCaptioningEnabled(boolean);
+ method public void setExtras(android.os.Bundle!);
+ method public void setFlags(int);
+ method public void setMediaButtonReceiver(android.app.PendingIntent!);
+ method public void setMetadata(android.support.v4.media.MediaMetadataCompat!);
+ method public void setPlaybackState(android.support.v4.media.session.PlaybackStateCompat!);
+ method public void setPlaybackToLocal(int);
+ method public void setPlaybackToRemote(androidx.media.VolumeProviderCompat!);
+ method public void setQueue(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>!);
+ method public void setQueueTitle(CharSequence!);
+ method public void setRatingType(int);
+ method public void setRepeatMode(int);
+ method public void setSessionActivity(android.app.PendingIntent!);
+ method public void setShuffleMode(int);
+ field public static final String ACTION_FLAG_AS_INAPPROPRIATE = "android.support.v4.media.session.action.FLAG_AS_INAPPROPRIATE";
+ field public static final String ACTION_FOLLOW = "android.support.v4.media.session.action.FOLLOW";
+ field public static final String ACTION_SKIP_AD = "android.support.v4.media.session.action.SKIP_AD";
+ field public static final String ACTION_UNFOLLOW = "android.support.v4.media.session.action.UNFOLLOW";
+ field public static final String ARGUMENT_MEDIA_ATTRIBUTE = "android.support.v4.media.session.ARGUMENT_MEDIA_ATTRIBUTE";
+ field public static final String ARGUMENT_MEDIA_ATTRIBUTE_VALUE = "android.support.v4.media.session.ARGUMENT_MEDIA_ATTRIBUTE_VALUE";
+ field @Deprecated public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
+ field public static final int FLAG_HANDLES_QUEUE_COMMANDS = 4; // 0x4
+ field @Deprecated public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
+ field public static final int MEDIA_ATTRIBUTE_ALBUM = 1; // 0x1
+ field public static final int MEDIA_ATTRIBUTE_ARTIST = 0; // 0x0
+ field public static final int MEDIA_ATTRIBUTE_PLAYLIST = 2; // 0x2
+ }
+
+ public abstract static class MediaSessionCompat.Callback {
+ ctor public MediaSessionCompat.Callback();
+ method public void onAddQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method public void onAddQueueItem(android.support.v4.media.MediaDescriptionCompat!, int);
+ method public void onCommand(String!, android.os.Bundle!, android.os.ResultReceiver!);
+ method public void onCustomAction(String!, android.os.Bundle!);
+ method public void onFastForward();
+ method public boolean onMediaButtonEvent(android.content.Intent!);
+ method public void onPause();
+ method public void onPlay();
+ method public void onPlayFromMediaId(String!, android.os.Bundle!);
+ method public void onPlayFromSearch(String!, android.os.Bundle!);
+ method public void onPlayFromUri(android.net.Uri!, android.os.Bundle!);
+ method public void onPrepare();
+ method public void onPrepareFromMediaId(String!, android.os.Bundle!);
+ method public void onPrepareFromSearch(String!, android.os.Bundle!);
+ method public void onPrepareFromUri(android.net.Uri!, android.os.Bundle!);
+ method public void onRemoveQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method @Deprecated public void onRemoveQueueItemAt(int);
+ method public void onRewind();
+ method public void onSeekTo(long);
+ method public void onSetCaptioningEnabled(boolean);
+ method public void onSetPlaybackSpeed(float);
+ method public void onSetRating(android.support.v4.media.RatingCompat!);
+ method public void onSetRating(android.support.v4.media.RatingCompat!, android.os.Bundle!);
+ method public void onSetRepeatMode(int);
+ method public void onSetShuffleMode(int);
+ method public void onSkipToNext();
+ method public void onSkipToPrevious();
+ method public void onSkipToQueueItem(long);
+ method public void onStop();
+ }
+
+ public static interface MediaSessionCompat.OnActiveChangeListener {
+ method public void onActiveChanged();
+ }
+
+ public static final class MediaSessionCompat.QueueItem implements android.os.Parcelable {
+ ctor public MediaSessionCompat.QueueItem(android.support.v4.media.MediaDescriptionCompat!, long);
+ method public int describeContents();
+ method public static android.support.v4.media.session.MediaSessionCompat.QueueItem! fromQueueItem(Object!);
+ method public static java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>! fromQueueItemList(java.util.List<?>!);
+ method public android.support.v4.media.MediaDescriptionCompat! getDescription();
+ method public long getQueueId();
+ method public Object! getQueueItem();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.MediaSessionCompat.QueueItem!>! CREATOR;
+ field public static final int UNKNOWN_ID = -1; // 0xffffffff
+ }
+
+ public static final class MediaSessionCompat.Token implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.session.MediaSessionCompat.Token! fromToken(Object!);
+ method public Object! getToken();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.MediaSessionCompat.Token!>! CREATOR;
+ }
+
+ public class ParcelableVolumeInfo implements android.os.Parcelable {
+ ctor public ParcelableVolumeInfo(int, int, int, int, int);
+ ctor public ParcelableVolumeInfo(android.os.Parcel!);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.ParcelableVolumeInfo!>! CREATOR;
+ field public int audioStream;
+ field public int controlType;
+ field public int currentVolume;
+ field public int maxVolume;
+ field public int volumeType;
+ }
+
+ public final class PlaybackStateCompat implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.session.PlaybackStateCompat! fromPlaybackState(Object!);
+ method public long getActions();
+ method public long getActiveQueueItemId();
+ method public long getBufferedPosition();
+ method public java.util.List<android.support.v4.media.session.PlaybackStateCompat.CustomAction!>! getCustomActions();
+ method public int getErrorCode();
+ method public CharSequence! getErrorMessage();
+ method public android.os.Bundle? getExtras();
+ method public long getLastPositionUpdateTime();
+ method public float getPlaybackSpeed();
+ method public Object! getPlaybackState();
+ method public long getPosition();
+ method public int getState();
+ method public static int toKeyCode(long);
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final long ACTION_FAST_FORWARD = 64L; // 0x40L
+ field public static final long ACTION_PAUSE = 2L; // 0x2L
+ field public static final long ACTION_PLAY = 4L; // 0x4L
+ field public static final long ACTION_PLAY_FROM_MEDIA_ID = 1024L; // 0x400L
+ field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L
+ field public static final long ACTION_PLAY_FROM_URI = 8192L; // 0x2000L
+ field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L
+ field public static final long ACTION_PREPARE = 16384L; // 0x4000L
+ field public static final long ACTION_PREPARE_FROM_MEDIA_ID = 32768L; // 0x8000L
+ field public static final long ACTION_PREPARE_FROM_SEARCH = 65536L; // 0x10000L
+ field public static final long ACTION_PREPARE_FROM_URI = 131072L; // 0x20000L
+ field public static final long ACTION_REWIND = 8L; // 0x8L
+ field public static final long ACTION_SEEK_TO = 256L; // 0x100L
+ field public static final long ACTION_SET_CAPTIONING_ENABLED = 1048576L; // 0x100000L
+ field public static final long ACTION_SET_PLAYBACK_SPEED = 4194304L; // 0x400000L
+ field public static final long ACTION_SET_RATING = 128L; // 0x80L
+ field public static final long ACTION_SET_REPEAT_MODE = 262144L; // 0x40000L
+ field public static final long ACTION_SET_SHUFFLE_MODE = 2097152L; // 0x200000L
+ field @Deprecated public static final long ACTION_SET_SHUFFLE_MODE_ENABLED = 524288L; // 0x80000L
+ field public static final long ACTION_SKIP_TO_NEXT = 32L; // 0x20L
+ field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
+ field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
+ field public static final long ACTION_STOP = 1L; // 0x1L
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.PlaybackStateCompat!>! CREATOR;
+ field public static final int ERROR_CODE_ACTION_ABORTED = 10; // 0xa
+ field public static final int ERROR_CODE_APP_ERROR = 1; // 0x1
+ field public static final int ERROR_CODE_AUTHENTICATION_EXPIRED = 3; // 0x3
+ field public static final int ERROR_CODE_CONCURRENT_STREAM_LIMIT = 5; // 0x5
+ field public static final int ERROR_CODE_CONTENT_ALREADY_PLAYING = 8; // 0x8
+ field public static final int ERROR_CODE_END_OF_QUEUE = 11; // 0xb
+ field public static final int ERROR_CODE_NOT_AVAILABLE_IN_REGION = 7; // 0x7
+ field public static final int ERROR_CODE_NOT_SUPPORTED = 2; // 0x2
+ field public static final int ERROR_CODE_PARENTAL_CONTROL_RESTRICTED = 6; // 0x6
+ field public static final int ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED = 4; // 0x4
+ field public static final int ERROR_CODE_SKIP_LIMIT_REACHED = 9; // 0x9
+ field public static final int ERROR_CODE_UNKNOWN_ERROR = 0; // 0x0
+ field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
+ field public static final int REPEAT_MODE_ALL = 2; // 0x2
+ field public static final int REPEAT_MODE_GROUP = 3; // 0x3
+ field public static final int REPEAT_MODE_INVALID = -1; // 0xffffffff
+ field public static final int REPEAT_MODE_NONE = 0; // 0x0
+ field public static final int REPEAT_MODE_ONE = 1; // 0x1
+ field public static final int SHUFFLE_MODE_ALL = 1; // 0x1
+ field public static final int SHUFFLE_MODE_GROUP = 2; // 0x2
+ field public static final int SHUFFLE_MODE_INVALID = -1; // 0xffffffff
+ field public static final int SHUFFLE_MODE_NONE = 0; // 0x0
+ field public static final int STATE_BUFFERING = 6; // 0x6
+ field public static final int STATE_CONNECTING = 8; // 0x8
+ field public static final int STATE_ERROR = 7; // 0x7
+ field public static final int STATE_FAST_FORWARDING = 4; // 0x4
+ field public static final int STATE_NONE = 0; // 0x0
+ field public static final int STATE_PAUSED = 2; // 0x2
+ field public static final int STATE_PLAYING = 3; // 0x3
+ field public static final int STATE_REWINDING = 5; // 0x5
+ field public static final int STATE_SKIPPING_TO_NEXT = 10; // 0xa
+ field public static final int STATE_SKIPPING_TO_PREVIOUS = 9; // 0x9
+ field public static final int STATE_SKIPPING_TO_QUEUE_ITEM = 11; // 0xb
+ field public static final int STATE_STOPPED = 1; // 0x1
+ }
+
+ public static final class PlaybackStateCompat.Builder {
+ ctor public PlaybackStateCompat.Builder();
+ ctor public PlaybackStateCompat.Builder(android.support.v4.media.session.PlaybackStateCompat!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! addCustomAction(String!, String!, int);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! addCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction!);
+ method public android.support.v4.media.session.PlaybackStateCompat! build();
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setActions(long);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setActiveQueueItemId(long);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setBufferedPosition(long);
+ method @Deprecated public android.support.v4.media.session.PlaybackStateCompat.Builder! setErrorMessage(CharSequence!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setErrorMessage(int, CharSequence!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setExtras(android.os.Bundle!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setState(int, long, float);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setState(int, long, float, long);
+ }
+
+ public static final class PlaybackStateCompat.CustomAction implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.session.PlaybackStateCompat.CustomAction! fromCustomAction(Object!);
+ method public String! getAction();
+ method public Object! getCustomAction();
+ method public android.os.Bundle! getExtras();
+ method public int getIcon();
+ method public CharSequence! getName();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.PlaybackStateCompat.CustomAction!>! CREATOR;
+ }
+
+ public static final class PlaybackStateCompat.CustomAction.Builder {
+ ctor public PlaybackStateCompat.CustomAction.Builder(String!, CharSequence!, int);
+ method public android.support.v4.media.session.PlaybackStateCompat.CustomAction! build();
+ method public android.support.v4.media.session.PlaybackStateCompat.CustomAction.Builder! setExtras(android.os.Bundle!);
+ }
+
+}
+
+package androidx.media {
+
+ public class AudioAttributesCompat implements androidx.versionedparcelable.VersionedParcelable {
+ method public int getContentType();
+ method public int getFlags();
+ method public int getLegacyStreamType();
+ method public int getUsage();
+ method public int getVolumeControlStream();
+ method public Object? unwrap();
+ method public static androidx.media.AudioAttributesCompat? wrap(Object);
+ field public static final int CONTENT_TYPE_MOVIE = 3; // 0x3
+ field public static final int CONTENT_TYPE_MUSIC = 2; // 0x2
+ field public static final int CONTENT_TYPE_SONIFICATION = 4; // 0x4
+ field public static final int CONTENT_TYPE_SPEECH = 1; // 0x1
+ field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0
+ field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1
+ field public static final int FLAG_HW_AV_SYNC = 16; // 0x10
+ field public static final int USAGE_ALARM = 4; // 0x4
+ field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb
+ field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc
+ field public static final int USAGE_ASSISTANCE_SONIFICATION = 13; // 0xd
+ field public static final int USAGE_ASSISTANT = 16; // 0x10
+ field public static final int USAGE_GAME = 14; // 0xe
+ field public static final int USAGE_MEDIA = 1; // 0x1
+ field public static final int USAGE_NOTIFICATION = 5; // 0x5
+ field public static final int USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9; // 0x9
+ field public static final int USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8; // 0x8
+ field public static final int USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7; // 0x7
+ field public static final int USAGE_NOTIFICATION_EVENT = 10; // 0xa
+ field public static final int USAGE_NOTIFICATION_RINGTONE = 6; // 0x6
+ field public static final int USAGE_UNKNOWN = 0; // 0x0
+ field public static final int USAGE_VOICE_COMMUNICATION = 2; // 0x2
+ field public static final int USAGE_VOICE_COMMUNICATION_SIGNALLING = 3; // 0x3
+ }
+
+ public static class AudioAttributesCompat.Builder {
+ ctor public AudioAttributesCompat.Builder();
+ ctor public AudioAttributesCompat.Builder(androidx.media.AudioAttributesCompat!);
+ method public androidx.media.AudioAttributesCompat! build();
+ method public androidx.media.AudioAttributesCompat.Builder! setContentType(int);
+ method public androidx.media.AudioAttributesCompat.Builder! setFlags(int);
+ method public androidx.media.AudioAttributesCompat.Builder! setLegacyStreamType(int);
+ method public androidx.media.AudioAttributesCompat.Builder! setUsage(int);
+ }
+
+ public class AudioFocusRequestCompat {
+ method public androidx.media.AudioAttributesCompat getAudioAttributesCompat();
+ method public android.os.Handler getFocusChangeHandler();
+ method public int getFocusGain();
+ method public android.media.AudioManager.OnAudioFocusChangeListener getOnAudioFocusChangeListener();
+ method public boolean willPauseWhenDucked();
+ }
+
+ public static final class AudioFocusRequestCompat.Builder {
+ ctor public AudioFocusRequestCompat.Builder(int);
+ ctor public AudioFocusRequestCompat.Builder(androidx.media.AudioFocusRequestCompat);
+ method public androidx.media.AudioFocusRequestCompat! build();
+ method public androidx.media.AudioFocusRequestCompat.Builder setAudioAttributes(androidx.media.AudioAttributesCompat);
+ method public androidx.media.AudioFocusRequestCompat.Builder setFocusGain(int);
+ method public androidx.media.AudioFocusRequestCompat.Builder setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener);
+ method public androidx.media.AudioFocusRequestCompat.Builder setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener, android.os.Handler);
+ method public androidx.media.AudioFocusRequestCompat.Builder setWillPauseWhenDucked(boolean);
+ }
+
+ public final class AudioManagerCompat {
+ method public static int abandonAudioFocusRequest(android.media.AudioManager, androidx.media.AudioFocusRequestCompat);
+ method @IntRange(from=0) public static int getStreamMaxVolume(android.media.AudioManager, int);
+ method @IntRange(from=0) public static int getStreamMinVolume(android.media.AudioManager, int);
+ method public static int requestAudioFocus(android.media.AudioManager, androidx.media.AudioFocusRequestCompat);
+ field public static final int AUDIOFOCUS_GAIN = 1; // 0x1
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT = 2; // 0x2
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE = 4; // 0x4
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK = 3; // 0x3
+ }
+
+ public abstract class MediaBrowserServiceCompat extends android.app.Service {
+ ctor public MediaBrowserServiceCompat();
+ method public void dump(java.io.FileDescriptor!, java.io.PrintWriter!, String![]!);
+ method public final android.os.Bundle! getBrowserRootHints();
+ method public final androidx.media.MediaSessionManager.RemoteUserInfo getCurrentBrowserInfo();
+ method public android.support.v4.media.session.MediaSessionCompat.Token? getSessionToken();
+ method public void notifyChildrenChanged(String);
+ method public void notifyChildrenChanged(String, android.os.Bundle);
+ method public android.os.IBinder! onBind(android.content.Intent!);
+ method public void onCustomAction(String, android.os.Bundle!, androidx.media.MediaBrowserServiceCompat.Result<android.os.Bundle!>);
+ method public abstract androidx.media.MediaBrowserServiceCompat.BrowserRoot? onGetRoot(String, int, android.os.Bundle?);
+ method public abstract void onLoadChildren(String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>!>);
+ method public void onLoadChildren(String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>!>, android.os.Bundle);
+ method public void onLoadItem(String!, androidx.media.MediaBrowserServiceCompat.Result<android.support.v4.media.MediaBrowserCompat.MediaItem!>);
+ method public void onSearch(String, android.os.Bundle!, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>!>);
+ method public void setSessionToken(android.support.v4.media.session.MediaSessionCompat.Token!);
+ field public static final String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService";
+ }
+
+ public static final class MediaBrowserServiceCompat.BrowserRoot {
+ ctor public MediaBrowserServiceCompat.BrowserRoot(String, android.os.Bundle?);
+ method public android.os.Bundle! getExtras();
+ method public String! getRootId();
+ field public static final String EXTRA_OFFLINE = "android.service.media.extra.OFFLINE";
+ field public static final String EXTRA_RECENT = "android.service.media.extra.RECENT";
+ field public static final String EXTRA_SUGGESTED = "android.service.media.extra.SUGGESTED";
+ field @Deprecated public static final String EXTRA_SUGGESTION_KEYWORDS = "android.service.media.extra.SUGGESTION_KEYWORDS";
+ }
+
+ public static class MediaBrowserServiceCompat.Result<T> {
+ method public void detach();
+ method public void sendError(android.os.Bundle?);
+ method public void sendProgressUpdate(android.os.Bundle?);
+ method public void sendResult(T?);
+ }
+
+ public final class MediaSessionManager {
+ method public static androidx.media.MediaSessionManager getSessionManager(android.content.Context);
+ method public boolean isTrustedForMediaControl(androidx.media.MediaSessionManager.RemoteUserInfo);
+ }
+
+ public static final class MediaSessionManager.RemoteUserInfo {
+ ctor public MediaSessionManager.RemoteUserInfo(String, int, int);
+ method public String getPackageName();
+ method public int getPid();
+ method public int getUid();
+ field public static final String LEGACY_CONTROLLER = "android.media.session.MediaController";
+ }
+
+ public abstract class VolumeProviderCompat {
+ ctor public VolumeProviderCompat(int, int, int);
+ method public final int getCurrentVolume();
+ method public final int getMaxVolume();
+ method public final int getVolumeControl();
+ method public Object! getVolumeProvider();
+ method public void onAdjustVolume(int);
+ method public void onSetVolumeTo(int);
+ method public void setCallback(androidx.media.VolumeProviderCompat.Callback!);
+ method public final void setCurrentVolume(int);
+ field public static final int VOLUME_CONTROL_ABSOLUTE = 2; // 0x2
+ field public static final int VOLUME_CONTROL_FIXED = 0; // 0x0
+ field public static final int VOLUME_CONTROL_RELATIVE = 1; // 0x1
+ }
+
+ public abstract static class VolumeProviderCompat.Callback {
+ ctor public VolumeProviderCompat.Callback();
+ method public abstract void onVolumeChanged(androidx.media.VolumeProviderCompat!);
+ }
+
+}
+
+package androidx.media.app {
+
+ public class NotificationCompat {
+ }
+
+ public static class NotificationCompat.DecoratedMediaCustomViewStyle extends androidx.media.app.NotificationCompat.MediaStyle {
+ ctor public NotificationCompat.DecoratedMediaCustomViewStyle();
+ }
+
+ public static class NotificationCompat.MediaStyle extends androidx.core.app.NotificationCompat.Style {
+ ctor public NotificationCompat.MediaStyle();
+ ctor public NotificationCompat.MediaStyle(androidx.core.app.NotificationCompat.Builder!);
+ method public static android.support.v4.media.session.MediaSessionCompat.Token! getMediaSession(android.app.Notification!);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setCancelButtonIntent(android.app.PendingIntent!);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setMediaSession(android.support.v4.media.session.MediaSessionCompat.Token!);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setShowActionsInCompactView(int...);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setShowCancelButton(boolean);
+ }
+
+}
+
+package androidx.media.session {
+
+ public class MediaButtonReceiver extends android.content.BroadcastReceiver {
+ ctor public MediaButtonReceiver();
+ method public static android.app.PendingIntent! buildMediaButtonPendingIntent(android.content.Context!, long);
+ method public static android.app.PendingIntent! buildMediaButtonPendingIntent(android.content.Context!, android.content.ComponentName!, long);
+ method public static android.view.KeyEvent! handleIntent(android.support.v4.media.session.MediaSessionCompat!, android.content.Intent!);
+ method public void onReceive(android.content.Context!, android.content.Intent!);
+ }
+
+}
+
+package androidx.media.utils {
+
+ public final class MediaConstants {
+ field public static final String BROWSER_ROOT_HINTS_KEY_MEDIA_ART_SIZE_PIXELS = "android.media.extras.MEDIA_ART_SIZE_HINT_PIXELS";
+ field public static final String BROWSER_ROOT_HINTS_KEY_ROOT_CHILDREN_LIMIT = "androidx.media.MediaBrowserCompat.Extras.KEY_ROOT_CHILDREN_LIMIT";
+ field public static final String BROWSER_ROOT_HINTS_KEY_ROOT_CHILDREN_SUPPORTED_FLAGS = "androidx.media.MediaBrowserCompat.Extras.KEY_ROOT_CHILDREN_SUPPORTED_FLAGS";
+ field public static final String BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED = "android.media.browse.SEARCH_SUPPORTED";
+ field public static final String DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS = "android.media.extra.PLAYBACK_STATUS";
+ field public static final String DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_BROWSABLE = "android.media.browse.CONTENT_STYLE_BROWSABLE_HINT";
+ field public static final String DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE = "android.media.browse.CONTENT_STYLE_GROUP_TITLE_HINT";
+ field public static final String DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_PLAYABLE = "android.media.browse.CONTENT_STYLE_PLAYABLE_HINT";
+ field public static final int DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_FULLY_PLAYED = 2; // 0x2
+ field public static final int DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_NOT_PLAYED = 0; // 0x0
+ field public static final int DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_PARTIALLY_PLAYED = 1; // 0x1
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_GRID_ITEM = 4; // 0x4
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_LIST_ITEM = 3; // 0x3
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_GRID_ITEM = 2; // 0x2
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_LIST_ITEM = 1; // 0x1
+ field public static final String METADATA_KEY_CONTENT_ID = "androidx.media.MediaMetadatCompat.METADATA_KEY_CONTENT_ID";
+ field public static final String METADATA_KEY_IS_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT";
+ field public static final String METADATA_KEY_IS_EXPLICIT = "android.media.IS_EXPLICIT";
+ field public static final String METADATA_KEY_NEXT_EPISODE_CONTENT_ID = "androidx.media.MediaMetadatCompat.METADATA_KEY_NEXT_EPISODE_CONTENT_ID";
+ field public static final String METADATA_KEY_SERIES_CONTENT_ID = "androidx.media.MediaMetadatCompat.METADATA_KEY_SERIES_CONTENT_ID";
+ field public static final long METADATA_VALUE_ATTRIBUTE_PRESENT = 1L; // 0x1L
+ field public static final String PLAYBACK_STATE_EXTRAS_KEY_ERROR_RESOLUTION_ACTION_INTENT = "android.media.extras.ERROR_RESOLUTION_ACTION_INTENT";
+ field public static final String PLAYBACK_STATE_EXTRAS_KEY_ERROR_RESOLUTION_ACTION_LABEL = "android.media.extras.ERROR_RESOLUTION_ACTION_LABEL";
+ field public static final String PLAYBACK_STATE_EXTRAS_KEY_MEDIA_ID = "androidx.media.PlaybackStateCompat.Extras.KEY_MEDIA_ID";
+ field public static final String SESSION_EXTRAS_KEY_ACCOUNT_NAME = "androidx.media.MediaSessionCompat.Extras.KEY_ACCOUNT_NAME";
+ field public static final String SESSION_EXTRAS_KEY_ACCOUNT_TYPE = "androidx.media.MediaSessionCompat.Extras.KEY_ACCOUNT_TYPE";
+ field public static final String SESSION_EXTRAS_KEY_SLOT_RESERVATION_SKIP_TO_NEXT = "android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_NEXT";
+ field public static final String SESSION_EXTRAS_KEY_SLOT_RESERVATION_SKIP_TO_PREV = "android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_PREVIOUS";
+ field public static final String TRANSPORT_CONTROLS_EXTRAS_KEY_LEGACY_STREAM_TYPE = "android.media.session.extra.LEGACY_STREAM_TYPE";
+ field public static final String TRANSPORT_CONTROLS_EXTRAS_KEY_SHUFFLE = "androidx.media.MediaControllerCompat.TransportControls.extras.KEY_SHUFFLE";
+ }
+
+}
+
diff --git a/media/media/api/public_plus_experimental_1.4.0-beta01.txt b/media/media/api/public_plus_experimental_1.4.0-beta01.txt
new file mode 100644
index 0000000..e82dbe2
--- /dev/null
+++ b/media/media/api/public_plus_experimental_1.4.0-beta01.txt
@@ -0,0 +1,746 @@
+// Signature format: 4.0
+package android.support.v4.media {
+
+ public final class MediaBrowserCompat {
+ ctor public MediaBrowserCompat(android.content.Context!, android.content.ComponentName!, android.support.v4.media.MediaBrowserCompat.ConnectionCallback!, android.os.Bundle!);
+ method public void connect();
+ method public void disconnect();
+ method public android.os.Bundle? getExtras();
+ method public void getItem(String, android.support.v4.media.MediaBrowserCompat.ItemCallback);
+ method public String getRoot();
+ method public android.content.ComponentName getServiceComponent();
+ method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken();
+ method public boolean isConnected();
+ method public void search(String, android.os.Bundle!, android.support.v4.media.MediaBrowserCompat.SearchCallback);
+ method public void sendCustomAction(String, android.os.Bundle!, android.support.v4.media.MediaBrowserCompat.CustomActionCallback?);
+ method public void subscribe(String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+ method public void subscribe(String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+ method public void unsubscribe(String);
+ method public void unsubscribe(String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+ field public static final String CUSTOM_ACTION_DOWNLOAD = "android.support.v4.media.action.DOWNLOAD";
+ field public static final String CUSTOM_ACTION_REMOVE_DOWNLOADED_FILE = "android.support.v4.media.action.REMOVE_DOWNLOADED_FILE";
+ field public static final String EXTRA_DOWNLOAD_PROGRESS = "android.media.browse.extra.DOWNLOAD_PROGRESS";
+ field public static final String EXTRA_MEDIA_ID = "android.media.browse.extra.MEDIA_ID";
+ field public static final String EXTRA_PAGE = "android.media.browse.extra.PAGE";
+ field public static final String EXTRA_PAGE_SIZE = "android.media.browse.extra.PAGE_SIZE";
+ }
+
+ public static class MediaBrowserCompat.ConnectionCallback {
+ ctor public MediaBrowserCompat.ConnectionCallback();
+ method public void onConnected();
+ method public void onConnectionFailed();
+ method public void onConnectionSuspended();
+ }
+
+ public abstract static class MediaBrowserCompat.CustomActionCallback {
+ ctor public MediaBrowserCompat.CustomActionCallback();
+ method public void onError(String!, android.os.Bundle!, android.os.Bundle!);
+ method public void onProgressUpdate(String!, android.os.Bundle!, android.os.Bundle!);
+ method public void onResult(String!, android.os.Bundle!, android.os.Bundle!);
+ }
+
+ public abstract static class MediaBrowserCompat.ItemCallback {
+ ctor public MediaBrowserCompat.ItemCallback();
+ method public void onError(String);
+ method public void onItemLoaded(android.support.v4.media.MediaBrowserCompat.MediaItem!);
+ }
+
+ public static class MediaBrowserCompat.MediaItem implements android.os.Parcelable {
+ ctor public MediaBrowserCompat.MediaItem(android.support.v4.media.MediaDescriptionCompat, int);
+ method public int describeContents();
+ method public static android.support.v4.media.MediaBrowserCompat.MediaItem! fromMediaItem(Object!);
+ method public static java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>! fromMediaItemList(java.util.List<?>!);
+ method public android.support.v4.media.MediaDescriptionCompat getDescription();
+ method public int getFlags();
+ method public String? getMediaId();
+ method public boolean isBrowsable();
+ method public boolean isPlayable();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaBrowserCompat.MediaItem!>! CREATOR;
+ field public static final int FLAG_BROWSABLE = 1; // 0x1
+ field public static final int FLAG_PLAYABLE = 2; // 0x2
+ }
+
+ public abstract static class MediaBrowserCompat.SearchCallback {
+ ctor public MediaBrowserCompat.SearchCallback();
+ method public void onError(String, android.os.Bundle!);
+ method public void onSearchResult(String, android.os.Bundle!, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>);
+ }
+
+ public abstract static class MediaBrowserCompat.SubscriptionCallback {
+ ctor public MediaBrowserCompat.SubscriptionCallback();
+ method public void onChildrenLoaded(String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>);
+ method public void onChildrenLoaded(String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>, android.os.Bundle);
+ method public void onError(String);
+ method public void onError(String, android.os.Bundle);
+ }
+
+ public final class MediaDescriptionCompat implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.MediaDescriptionCompat! fromMediaDescription(Object!);
+ method public CharSequence? getDescription();
+ method public android.os.Bundle? getExtras();
+ method public android.graphics.Bitmap? getIconBitmap();
+ method public android.net.Uri? getIconUri();
+ method public Object! getMediaDescription();
+ method public String? getMediaId();
+ method public android.net.Uri? getMediaUri();
+ method public CharSequence? getSubtitle();
+ method public CharSequence? getTitle();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final long BT_FOLDER_TYPE_ALBUMS = 2L; // 0x2L
+ field public static final long BT_FOLDER_TYPE_ARTISTS = 3L; // 0x3L
+ field public static final long BT_FOLDER_TYPE_GENRES = 4L; // 0x4L
+ field public static final long BT_FOLDER_TYPE_MIXED = 0L; // 0x0L
+ field public static final long BT_FOLDER_TYPE_PLAYLISTS = 5L; // 0x5L
+ field public static final long BT_FOLDER_TYPE_TITLES = 1L; // 0x1L
+ field public static final long BT_FOLDER_TYPE_YEARS = 6L; // 0x6L
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaDescriptionCompat!>! CREATOR;
+ field public static final String EXTRA_BT_FOLDER_TYPE = "android.media.extra.BT_FOLDER_TYPE";
+ field public static final String EXTRA_DOWNLOAD_STATUS = "android.media.extra.DOWNLOAD_STATUS";
+ field public static final long STATUS_DOWNLOADED = 2L; // 0x2L
+ field public static final long STATUS_DOWNLOADING = 1L; // 0x1L
+ field public static final long STATUS_NOT_DOWNLOADED = 0L; // 0x0L
+ }
+
+ public static final class MediaDescriptionCompat.Builder {
+ ctor public MediaDescriptionCompat.Builder();
+ method public android.support.v4.media.MediaDescriptionCompat! build();
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setDescription(CharSequence?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setExtras(android.os.Bundle?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setIconBitmap(android.graphics.Bitmap?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setIconUri(android.net.Uri?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setMediaId(String?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setMediaUri(android.net.Uri?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setSubtitle(CharSequence?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setTitle(CharSequence?);
+ }
+
+ public final class MediaMetadataCompat implements android.os.Parcelable {
+ method public boolean containsKey(String!);
+ method public int describeContents();
+ method public static android.support.v4.media.MediaMetadataCompat! fromMediaMetadata(Object!);
+ method public android.graphics.Bitmap! getBitmap(String!);
+ method public android.os.Bundle! getBundle();
+ method public android.support.v4.media.MediaDescriptionCompat! getDescription();
+ method public long getLong(String!);
+ method public Object! getMediaMetadata();
+ method public android.support.v4.media.RatingCompat! getRating(String!);
+ method public String! getString(String!);
+ method public CharSequence! getText(String!);
+ method public java.util.Set<java.lang.String!>! keySet();
+ method public int size();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaMetadataCompat!>! CREATOR;
+ field public static final String METADATA_KEY_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT";
+ field public static final String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM";
+ field public static final String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART";
+ field public static final String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST";
+ field public static final String METADATA_KEY_ALBUM_ART_URI = "android.media.metadata.ALBUM_ART_URI";
+ field public static final String METADATA_KEY_ART = "android.media.metadata.ART";
+ field public static final String METADATA_KEY_ARTIST = "android.media.metadata.ARTIST";
+ field public static final String METADATA_KEY_ART_URI = "android.media.metadata.ART_URI";
+ field public static final String METADATA_KEY_AUTHOR = "android.media.metadata.AUTHOR";
+ field public static final String METADATA_KEY_BT_FOLDER_TYPE = "android.media.metadata.BT_FOLDER_TYPE";
+ field public static final String METADATA_KEY_COMPILATION = "android.media.metadata.COMPILATION";
+ field public static final String METADATA_KEY_COMPOSER = "android.media.metadata.COMPOSER";
+ field public static final String METADATA_KEY_DATE = "android.media.metadata.DATE";
+ field public static final String METADATA_KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER";
+ field public static final String METADATA_KEY_DISPLAY_DESCRIPTION = "android.media.metadata.DISPLAY_DESCRIPTION";
+ field public static final String METADATA_KEY_DISPLAY_ICON = "android.media.metadata.DISPLAY_ICON";
+ field public static final String METADATA_KEY_DISPLAY_ICON_URI = "android.media.metadata.DISPLAY_ICON_URI";
+ field public static final String METADATA_KEY_DISPLAY_SUBTITLE = "android.media.metadata.DISPLAY_SUBTITLE";
+ field public static final String METADATA_KEY_DISPLAY_TITLE = "android.media.metadata.DISPLAY_TITLE";
+ field public static final String METADATA_KEY_DOWNLOAD_STATUS = "android.media.metadata.DOWNLOAD_STATUS";
+ field public static final String METADATA_KEY_DURATION = "android.media.metadata.DURATION";
+ field public static final String METADATA_KEY_GENRE = "android.media.metadata.GENRE";
+ field public static final String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID";
+ field public static final String METADATA_KEY_MEDIA_URI = "android.media.metadata.MEDIA_URI";
+ field public static final String METADATA_KEY_NUM_TRACKS = "android.media.metadata.NUM_TRACKS";
+ field public static final String METADATA_KEY_RATING = "android.media.metadata.RATING";
+ field public static final String METADATA_KEY_TITLE = "android.media.metadata.TITLE";
+ field public static final String METADATA_KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER";
+ field public static final String METADATA_KEY_USER_RATING = "android.media.metadata.USER_RATING";
+ field public static final String METADATA_KEY_WRITER = "android.media.metadata.WRITER";
+ field public static final String METADATA_KEY_YEAR = "android.media.metadata.YEAR";
+ }
+
+ public static final class MediaMetadataCompat.Builder {
+ ctor public MediaMetadataCompat.Builder();
+ ctor public MediaMetadataCompat.Builder(android.support.v4.media.MediaMetadataCompat!);
+ method public android.support.v4.media.MediaMetadataCompat! build();
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putBitmap(String!, android.graphics.Bitmap!);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putLong(String!, long);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putRating(String!, android.support.v4.media.RatingCompat!);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putString(String!, String!);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putText(String!, CharSequence!);
+ }
+
+ public final class RatingCompat implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.RatingCompat! fromRating(Object!);
+ method public float getPercentRating();
+ method public Object! getRating();
+ method public int getRatingStyle();
+ method public float getStarRating();
+ method public boolean hasHeart();
+ method public boolean isRated();
+ method public boolean isThumbUp();
+ method public static android.support.v4.media.RatingCompat! newHeartRating(boolean);
+ method public static android.support.v4.media.RatingCompat! newPercentageRating(float);
+ method public static android.support.v4.media.RatingCompat! newStarRating(int, float);
+ method public static android.support.v4.media.RatingCompat! newThumbRating(boolean);
+ method public static android.support.v4.media.RatingCompat! newUnratedRating(int);
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.RatingCompat!>! CREATOR;
+ field public static final int RATING_3_STARS = 3; // 0x3
+ field public static final int RATING_4_STARS = 4; // 0x4
+ field public static final int RATING_5_STARS = 5; // 0x5
+ field public static final int RATING_HEART = 1; // 0x1
+ field public static final int RATING_NONE = 0; // 0x0
+ field public static final int RATING_PERCENTAGE = 6; // 0x6
+ field public static final int RATING_THUMB_UP_DOWN = 2; // 0x2
+ }
+
+}
+
+package android.support.v4.media.session {
+
+ public final class MediaControllerCompat {
+ ctor public MediaControllerCompat(android.content.Context!, android.support.v4.media.session.MediaSessionCompat);
+ ctor public MediaControllerCompat(android.content.Context!, android.support.v4.media.session.MediaSessionCompat.Token);
+ method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat!, int);
+ method public void adjustVolume(int, int);
+ method public boolean dispatchMediaButtonEvent(android.view.KeyEvent!);
+ method public android.os.Bundle! getExtras();
+ method public long getFlags();
+ method public static android.support.v4.media.session.MediaControllerCompat! getMediaController(android.app.Activity);
+ method public Object! getMediaController();
+ method public android.support.v4.media.MediaMetadataCompat! getMetadata();
+ method public String! getPackageName();
+ method public android.support.v4.media.session.MediaControllerCompat.PlaybackInfo! getPlaybackInfo();
+ method public android.support.v4.media.session.PlaybackStateCompat! getPlaybackState();
+ method public java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>! getQueue();
+ method public CharSequence! getQueueTitle();
+ method public int getRatingType();
+ method public int getRepeatMode();
+ method public android.app.PendingIntent! getSessionActivity();
+ method public android.os.Bundle getSessionInfo();
+ method public android.support.v4.media.session.MediaSessionCompat.Token! getSessionToken();
+ method public int getShuffleMode();
+ method public android.support.v4.media.session.MediaControllerCompat.TransportControls! getTransportControls();
+ method public boolean isCaptioningEnabled();
+ method public boolean isSessionReady();
+ method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback);
+ method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback, android.os.Handler!);
+ method public void removeQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method @Deprecated public void removeQueueItemAt(int);
+ method public void sendCommand(String, android.os.Bundle?, android.os.ResultReceiver?);
+ method public static void setMediaController(android.app.Activity, android.support.v4.media.session.MediaControllerCompat!);
+ method public void setVolumeTo(int, int);
+ method public void unregisterCallback(android.support.v4.media.session.MediaControllerCompat.Callback);
+ }
+
+ public abstract static class MediaControllerCompat.Callback implements android.os.IBinder.DeathRecipient {
+ ctor public MediaControllerCompat.Callback();
+ method public void binderDied();
+ method public void onAudioInfoChanged(android.support.v4.media.session.MediaControllerCompat.PlaybackInfo!);
+ method public void onCaptioningEnabledChanged(boolean);
+ method public void onExtrasChanged(android.os.Bundle!);
+ method public void onMetadataChanged(android.support.v4.media.MediaMetadataCompat!);
+ method public void onPlaybackStateChanged(android.support.v4.media.session.PlaybackStateCompat!);
+ method public void onQueueChanged(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>!);
+ method public void onQueueTitleChanged(CharSequence!);
+ method public void onRepeatModeChanged(int);
+ method public void onSessionDestroyed();
+ method public void onSessionEvent(String!, android.os.Bundle!);
+ method public void onSessionReady();
+ method public void onShuffleModeChanged(int);
+ }
+
+ public static final class MediaControllerCompat.PlaybackInfo {
+ method public androidx.media.AudioAttributesCompat getAudioAttributes();
+ method @Deprecated public int getAudioStream();
+ method public int getCurrentVolume();
+ method public int getMaxVolume();
+ method public int getPlaybackType();
+ method public int getVolumeControl();
+ field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1
+ field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2
+ }
+
+ public abstract static class MediaControllerCompat.TransportControls {
+ method public abstract void fastForward();
+ method public abstract void pause();
+ method public abstract void play();
+ method public abstract void playFromMediaId(String!, android.os.Bundle!);
+ method public abstract void playFromSearch(String!, android.os.Bundle!);
+ method public abstract void playFromUri(android.net.Uri!, android.os.Bundle!);
+ method public abstract void prepare();
+ method public abstract void prepareFromMediaId(String!, android.os.Bundle!);
+ method public abstract void prepareFromSearch(String!, android.os.Bundle!);
+ method public abstract void prepareFromUri(android.net.Uri!, android.os.Bundle!);
+ method public abstract void rewind();
+ method public abstract void seekTo(long);
+ method public abstract void sendCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction!, android.os.Bundle!);
+ method public abstract void sendCustomAction(String!, android.os.Bundle!);
+ method public abstract void setCaptioningEnabled(boolean);
+ method public void setPlaybackSpeed(float);
+ method public abstract void setRating(android.support.v4.media.RatingCompat!);
+ method public abstract void setRating(android.support.v4.media.RatingCompat!, android.os.Bundle!);
+ method public abstract void setRepeatMode(int);
+ method public abstract void setShuffleMode(int);
+ method public abstract void skipToNext();
+ method public abstract void skipToPrevious();
+ method public abstract void skipToQueueItem(long);
+ method public abstract void stop();
+ field @Deprecated public static final String EXTRA_LEGACY_STREAM_TYPE = "android.media.session.extra.LEGACY_STREAM_TYPE";
+ }
+
+ public class MediaSessionCompat {
+ ctor public MediaSessionCompat(android.content.Context, String);
+ ctor public MediaSessionCompat(android.content.Context, String, android.content.ComponentName?, android.app.PendingIntent?);
+ ctor public MediaSessionCompat(android.content.Context, String, android.content.ComponentName?, android.app.PendingIntent?, android.os.Bundle?);
+ method public void addOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener!);
+ method public static android.support.v4.media.session.MediaSessionCompat! fromMediaSession(android.content.Context!, Object!);
+ method public android.support.v4.media.session.MediaControllerCompat! getController();
+ method public final androidx.media.MediaSessionManager.RemoteUserInfo getCurrentControllerInfo();
+ method public Object! getMediaSession();
+ method public Object! getRemoteControlClient();
+ method public android.support.v4.media.session.MediaSessionCompat.Token! getSessionToken();
+ method public boolean isActive();
+ method public void release();
+ method public void removeOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener!);
+ method public void sendSessionEvent(String!, android.os.Bundle!);
+ method public void setActive(boolean);
+ method public void setCallback(android.support.v4.media.session.MediaSessionCompat.Callback!);
+ method public void setCallback(android.support.v4.media.session.MediaSessionCompat.Callback!, android.os.Handler!);
+ method public void setCaptioningEnabled(boolean);
+ method public void setExtras(android.os.Bundle!);
+ method public void setFlags(int);
+ method public void setMediaButtonReceiver(android.app.PendingIntent!);
+ method public void setMetadata(android.support.v4.media.MediaMetadataCompat!);
+ method public void setPlaybackState(android.support.v4.media.session.PlaybackStateCompat!);
+ method public void setPlaybackToLocal(int);
+ method public void setPlaybackToRemote(androidx.media.VolumeProviderCompat!);
+ method public void setQueue(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>!);
+ method public void setQueueTitle(CharSequence!);
+ method public void setRatingType(int);
+ method public void setRepeatMode(int);
+ method public void setSessionActivity(android.app.PendingIntent!);
+ method public void setShuffleMode(int);
+ field public static final String ACTION_FLAG_AS_INAPPROPRIATE = "android.support.v4.media.session.action.FLAG_AS_INAPPROPRIATE";
+ field public static final String ACTION_FOLLOW = "android.support.v4.media.session.action.FOLLOW";
+ field public static final String ACTION_SKIP_AD = "android.support.v4.media.session.action.SKIP_AD";
+ field public static final String ACTION_UNFOLLOW = "android.support.v4.media.session.action.UNFOLLOW";
+ field public static final String ARGUMENT_MEDIA_ATTRIBUTE = "android.support.v4.media.session.ARGUMENT_MEDIA_ATTRIBUTE";
+ field public static final String ARGUMENT_MEDIA_ATTRIBUTE_VALUE = "android.support.v4.media.session.ARGUMENT_MEDIA_ATTRIBUTE_VALUE";
+ field @Deprecated public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
+ field public static final int FLAG_HANDLES_QUEUE_COMMANDS = 4; // 0x4
+ field @Deprecated public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
+ field public static final int MEDIA_ATTRIBUTE_ALBUM = 1; // 0x1
+ field public static final int MEDIA_ATTRIBUTE_ARTIST = 0; // 0x0
+ field public static final int MEDIA_ATTRIBUTE_PLAYLIST = 2; // 0x2
+ }
+
+ public abstract static class MediaSessionCompat.Callback {
+ ctor public MediaSessionCompat.Callback();
+ method public void onAddQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method public void onAddQueueItem(android.support.v4.media.MediaDescriptionCompat!, int);
+ method public void onCommand(String!, android.os.Bundle!, android.os.ResultReceiver!);
+ method public void onCustomAction(String!, android.os.Bundle!);
+ method public void onFastForward();
+ method public boolean onMediaButtonEvent(android.content.Intent!);
+ method public void onPause();
+ method public void onPlay();
+ method public void onPlayFromMediaId(String!, android.os.Bundle!);
+ method public void onPlayFromSearch(String!, android.os.Bundle!);
+ method public void onPlayFromUri(android.net.Uri!, android.os.Bundle!);
+ method public void onPrepare();
+ method public void onPrepareFromMediaId(String!, android.os.Bundle!);
+ method public void onPrepareFromSearch(String!, android.os.Bundle!);
+ method public void onPrepareFromUri(android.net.Uri!, android.os.Bundle!);
+ method public void onRemoveQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method @Deprecated public void onRemoveQueueItemAt(int);
+ method public void onRewind();
+ method public void onSeekTo(long);
+ method public void onSetCaptioningEnabled(boolean);
+ method public void onSetPlaybackSpeed(float);
+ method public void onSetRating(android.support.v4.media.RatingCompat!);
+ method public void onSetRating(android.support.v4.media.RatingCompat!, android.os.Bundle!);
+ method public void onSetRepeatMode(int);
+ method public void onSetShuffleMode(int);
+ method public void onSkipToNext();
+ method public void onSkipToPrevious();
+ method public void onSkipToQueueItem(long);
+ method public void onStop();
+ }
+
+ public static interface MediaSessionCompat.OnActiveChangeListener {
+ method public void onActiveChanged();
+ }
+
+ public static final class MediaSessionCompat.QueueItem implements android.os.Parcelable {
+ ctor public MediaSessionCompat.QueueItem(android.support.v4.media.MediaDescriptionCompat!, long);
+ method public int describeContents();
+ method public static android.support.v4.media.session.MediaSessionCompat.QueueItem! fromQueueItem(Object!);
+ method public static java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>! fromQueueItemList(java.util.List<?>!);
+ method public android.support.v4.media.MediaDescriptionCompat! getDescription();
+ method public long getQueueId();
+ method public Object! getQueueItem();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.MediaSessionCompat.QueueItem!>! CREATOR;
+ field public static final int UNKNOWN_ID = -1; // 0xffffffff
+ }
+
+ public static final class MediaSessionCompat.Token implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.session.MediaSessionCompat.Token! fromToken(Object!);
+ method public Object! getToken();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.MediaSessionCompat.Token!>! CREATOR;
+ }
+
+ public class ParcelableVolumeInfo implements android.os.Parcelable {
+ ctor public ParcelableVolumeInfo(int, int, int, int, int);
+ ctor public ParcelableVolumeInfo(android.os.Parcel!);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.ParcelableVolumeInfo!>! CREATOR;
+ field public int audioStream;
+ field public int controlType;
+ field public int currentVolume;
+ field public int maxVolume;
+ field public int volumeType;
+ }
+
+ public final class PlaybackStateCompat implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.session.PlaybackStateCompat! fromPlaybackState(Object!);
+ method public long getActions();
+ method public long getActiveQueueItemId();
+ method public long getBufferedPosition();
+ method public java.util.List<android.support.v4.media.session.PlaybackStateCompat.CustomAction!>! getCustomActions();
+ method public int getErrorCode();
+ method public CharSequence! getErrorMessage();
+ method public android.os.Bundle? getExtras();
+ method public long getLastPositionUpdateTime();
+ method public float getPlaybackSpeed();
+ method public Object! getPlaybackState();
+ method public long getPosition();
+ method public int getState();
+ method public static int toKeyCode(long);
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final long ACTION_FAST_FORWARD = 64L; // 0x40L
+ field public static final long ACTION_PAUSE = 2L; // 0x2L
+ field public static final long ACTION_PLAY = 4L; // 0x4L
+ field public static final long ACTION_PLAY_FROM_MEDIA_ID = 1024L; // 0x400L
+ field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L
+ field public static final long ACTION_PLAY_FROM_URI = 8192L; // 0x2000L
+ field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L
+ field public static final long ACTION_PREPARE = 16384L; // 0x4000L
+ field public static final long ACTION_PREPARE_FROM_MEDIA_ID = 32768L; // 0x8000L
+ field public static final long ACTION_PREPARE_FROM_SEARCH = 65536L; // 0x10000L
+ field public static final long ACTION_PREPARE_FROM_URI = 131072L; // 0x20000L
+ field public static final long ACTION_REWIND = 8L; // 0x8L
+ field public static final long ACTION_SEEK_TO = 256L; // 0x100L
+ field public static final long ACTION_SET_CAPTIONING_ENABLED = 1048576L; // 0x100000L
+ field public static final long ACTION_SET_PLAYBACK_SPEED = 4194304L; // 0x400000L
+ field public static final long ACTION_SET_RATING = 128L; // 0x80L
+ field public static final long ACTION_SET_REPEAT_MODE = 262144L; // 0x40000L
+ field public static final long ACTION_SET_SHUFFLE_MODE = 2097152L; // 0x200000L
+ field @Deprecated public static final long ACTION_SET_SHUFFLE_MODE_ENABLED = 524288L; // 0x80000L
+ field public static final long ACTION_SKIP_TO_NEXT = 32L; // 0x20L
+ field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
+ field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
+ field public static final long ACTION_STOP = 1L; // 0x1L
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.PlaybackStateCompat!>! CREATOR;
+ field public static final int ERROR_CODE_ACTION_ABORTED = 10; // 0xa
+ field public static final int ERROR_CODE_APP_ERROR = 1; // 0x1
+ field public static final int ERROR_CODE_AUTHENTICATION_EXPIRED = 3; // 0x3
+ field public static final int ERROR_CODE_CONCURRENT_STREAM_LIMIT = 5; // 0x5
+ field public static final int ERROR_CODE_CONTENT_ALREADY_PLAYING = 8; // 0x8
+ field public static final int ERROR_CODE_END_OF_QUEUE = 11; // 0xb
+ field public static final int ERROR_CODE_NOT_AVAILABLE_IN_REGION = 7; // 0x7
+ field public static final int ERROR_CODE_NOT_SUPPORTED = 2; // 0x2
+ field public static final int ERROR_CODE_PARENTAL_CONTROL_RESTRICTED = 6; // 0x6
+ field public static final int ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED = 4; // 0x4
+ field public static final int ERROR_CODE_SKIP_LIMIT_REACHED = 9; // 0x9
+ field public static final int ERROR_CODE_UNKNOWN_ERROR = 0; // 0x0
+ field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
+ field public static final int REPEAT_MODE_ALL = 2; // 0x2
+ field public static final int REPEAT_MODE_GROUP = 3; // 0x3
+ field public static final int REPEAT_MODE_INVALID = -1; // 0xffffffff
+ field public static final int REPEAT_MODE_NONE = 0; // 0x0
+ field public static final int REPEAT_MODE_ONE = 1; // 0x1
+ field public static final int SHUFFLE_MODE_ALL = 1; // 0x1
+ field public static final int SHUFFLE_MODE_GROUP = 2; // 0x2
+ field public static final int SHUFFLE_MODE_INVALID = -1; // 0xffffffff
+ field public static final int SHUFFLE_MODE_NONE = 0; // 0x0
+ field public static final int STATE_BUFFERING = 6; // 0x6
+ field public static final int STATE_CONNECTING = 8; // 0x8
+ field public static final int STATE_ERROR = 7; // 0x7
+ field public static final int STATE_FAST_FORWARDING = 4; // 0x4
+ field public static final int STATE_NONE = 0; // 0x0
+ field public static final int STATE_PAUSED = 2; // 0x2
+ field public static final int STATE_PLAYING = 3; // 0x3
+ field public static final int STATE_REWINDING = 5; // 0x5
+ field public static final int STATE_SKIPPING_TO_NEXT = 10; // 0xa
+ field public static final int STATE_SKIPPING_TO_PREVIOUS = 9; // 0x9
+ field public static final int STATE_SKIPPING_TO_QUEUE_ITEM = 11; // 0xb
+ field public static final int STATE_STOPPED = 1; // 0x1
+ }
+
+ public static final class PlaybackStateCompat.Builder {
+ ctor public PlaybackStateCompat.Builder();
+ ctor public PlaybackStateCompat.Builder(android.support.v4.media.session.PlaybackStateCompat!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! addCustomAction(String!, String!, int);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! addCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction!);
+ method public android.support.v4.media.session.PlaybackStateCompat! build();
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setActions(long);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setActiveQueueItemId(long);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setBufferedPosition(long);
+ method @Deprecated public android.support.v4.media.session.PlaybackStateCompat.Builder! setErrorMessage(CharSequence!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setErrorMessage(int, CharSequence!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setExtras(android.os.Bundle!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setState(int, long, float);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setState(int, long, float, long);
+ }
+
+ public static final class PlaybackStateCompat.CustomAction implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.session.PlaybackStateCompat.CustomAction! fromCustomAction(Object!);
+ method public String! getAction();
+ method public Object! getCustomAction();
+ method public android.os.Bundle! getExtras();
+ method public int getIcon();
+ method public CharSequence! getName();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.PlaybackStateCompat.CustomAction!>! CREATOR;
+ }
+
+ public static final class PlaybackStateCompat.CustomAction.Builder {
+ ctor public PlaybackStateCompat.CustomAction.Builder(String!, CharSequence!, int);
+ method public android.support.v4.media.session.PlaybackStateCompat.CustomAction! build();
+ method public android.support.v4.media.session.PlaybackStateCompat.CustomAction.Builder! setExtras(android.os.Bundle!);
+ }
+
+}
+
+package androidx.media {
+
+ public class AudioAttributesCompat implements androidx.versionedparcelable.VersionedParcelable {
+ method public int getContentType();
+ method public int getFlags();
+ method public int getLegacyStreamType();
+ method public int getUsage();
+ method public int getVolumeControlStream();
+ method public Object? unwrap();
+ method public static androidx.media.AudioAttributesCompat? wrap(Object);
+ field public static final int CONTENT_TYPE_MOVIE = 3; // 0x3
+ field public static final int CONTENT_TYPE_MUSIC = 2; // 0x2
+ field public static final int CONTENT_TYPE_SONIFICATION = 4; // 0x4
+ field public static final int CONTENT_TYPE_SPEECH = 1; // 0x1
+ field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0
+ field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1
+ field public static final int FLAG_HW_AV_SYNC = 16; // 0x10
+ field public static final int USAGE_ALARM = 4; // 0x4
+ field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb
+ field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc
+ field public static final int USAGE_ASSISTANCE_SONIFICATION = 13; // 0xd
+ field public static final int USAGE_ASSISTANT = 16; // 0x10
+ field public static final int USAGE_GAME = 14; // 0xe
+ field public static final int USAGE_MEDIA = 1; // 0x1
+ field public static final int USAGE_NOTIFICATION = 5; // 0x5
+ field public static final int USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9; // 0x9
+ field public static final int USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8; // 0x8
+ field public static final int USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7; // 0x7
+ field public static final int USAGE_NOTIFICATION_EVENT = 10; // 0xa
+ field public static final int USAGE_NOTIFICATION_RINGTONE = 6; // 0x6
+ field public static final int USAGE_UNKNOWN = 0; // 0x0
+ field public static final int USAGE_VOICE_COMMUNICATION = 2; // 0x2
+ field public static final int USAGE_VOICE_COMMUNICATION_SIGNALLING = 3; // 0x3
+ }
+
+ public static class AudioAttributesCompat.Builder {
+ ctor public AudioAttributesCompat.Builder();
+ ctor public AudioAttributesCompat.Builder(androidx.media.AudioAttributesCompat!);
+ method public androidx.media.AudioAttributesCompat! build();
+ method public androidx.media.AudioAttributesCompat.Builder! setContentType(int);
+ method public androidx.media.AudioAttributesCompat.Builder! setFlags(int);
+ method public androidx.media.AudioAttributesCompat.Builder! setLegacyStreamType(int);
+ method public androidx.media.AudioAttributesCompat.Builder! setUsage(int);
+ }
+
+ public class AudioFocusRequestCompat {
+ method public androidx.media.AudioAttributesCompat getAudioAttributesCompat();
+ method public android.os.Handler getFocusChangeHandler();
+ method public int getFocusGain();
+ method public android.media.AudioManager.OnAudioFocusChangeListener getOnAudioFocusChangeListener();
+ method public boolean willPauseWhenDucked();
+ }
+
+ public static final class AudioFocusRequestCompat.Builder {
+ ctor public AudioFocusRequestCompat.Builder(int);
+ ctor public AudioFocusRequestCompat.Builder(androidx.media.AudioFocusRequestCompat);
+ method public androidx.media.AudioFocusRequestCompat! build();
+ method public androidx.media.AudioFocusRequestCompat.Builder setAudioAttributes(androidx.media.AudioAttributesCompat);
+ method public androidx.media.AudioFocusRequestCompat.Builder setFocusGain(int);
+ method public androidx.media.AudioFocusRequestCompat.Builder setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener);
+ method public androidx.media.AudioFocusRequestCompat.Builder setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener, android.os.Handler);
+ method public androidx.media.AudioFocusRequestCompat.Builder setWillPauseWhenDucked(boolean);
+ }
+
+ public final class AudioManagerCompat {
+ method public static int abandonAudioFocusRequest(android.media.AudioManager, androidx.media.AudioFocusRequestCompat);
+ method @IntRange(from=0) public static int getStreamMaxVolume(android.media.AudioManager, int);
+ method @IntRange(from=0) public static int getStreamMinVolume(android.media.AudioManager, int);
+ method public static int requestAudioFocus(android.media.AudioManager, androidx.media.AudioFocusRequestCompat);
+ field public static final int AUDIOFOCUS_GAIN = 1; // 0x1
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT = 2; // 0x2
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE = 4; // 0x4
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK = 3; // 0x3
+ }
+
+ public abstract class MediaBrowserServiceCompat extends android.app.Service {
+ ctor public MediaBrowserServiceCompat();
+ method public void dump(java.io.FileDescriptor!, java.io.PrintWriter!, String![]!);
+ method public final android.os.Bundle! getBrowserRootHints();
+ method public final androidx.media.MediaSessionManager.RemoteUserInfo getCurrentBrowserInfo();
+ method public android.support.v4.media.session.MediaSessionCompat.Token? getSessionToken();
+ method public void notifyChildrenChanged(String);
+ method public void notifyChildrenChanged(String, android.os.Bundle);
+ method public android.os.IBinder! onBind(android.content.Intent!);
+ method public void onCustomAction(String, android.os.Bundle!, androidx.media.MediaBrowserServiceCompat.Result<android.os.Bundle!>);
+ method public abstract androidx.media.MediaBrowserServiceCompat.BrowserRoot? onGetRoot(String, int, android.os.Bundle?);
+ method public abstract void onLoadChildren(String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>!>);
+ method public void onLoadChildren(String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>!>, android.os.Bundle);
+ method public void onLoadItem(String!, androidx.media.MediaBrowserServiceCompat.Result<android.support.v4.media.MediaBrowserCompat.MediaItem!>);
+ method public void onSearch(String, android.os.Bundle!, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>!>);
+ method public void setSessionToken(android.support.v4.media.session.MediaSessionCompat.Token!);
+ field public static final String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService";
+ }
+
+ public static final class MediaBrowserServiceCompat.BrowserRoot {
+ ctor public MediaBrowserServiceCompat.BrowserRoot(String, android.os.Bundle?);
+ method public android.os.Bundle! getExtras();
+ method public String! getRootId();
+ field public static final String EXTRA_OFFLINE = "android.service.media.extra.OFFLINE";
+ field public static final String EXTRA_RECENT = "android.service.media.extra.RECENT";
+ field public static final String EXTRA_SUGGESTED = "android.service.media.extra.SUGGESTED";
+ field @Deprecated public static final String EXTRA_SUGGESTION_KEYWORDS = "android.service.media.extra.SUGGESTION_KEYWORDS";
+ }
+
+ public static class MediaBrowserServiceCompat.Result<T> {
+ method public void detach();
+ method public void sendError(android.os.Bundle?);
+ method public void sendProgressUpdate(android.os.Bundle?);
+ method public void sendResult(T?);
+ }
+
+ public final class MediaSessionManager {
+ method public static androidx.media.MediaSessionManager getSessionManager(android.content.Context);
+ method public boolean isTrustedForMediaControl(androidx.media.MediaSessionManager.RemoteUserInfo);
+ }
+
+ public static final class MediaSessionManager.RemoteUserInfo {
+ ctor public MediaSessionManager.RemoteUserInfo(String, int, int);
+ method public String getPackageName();
+ method public int getPid();
+ method public int getUid();
+ field public static final String LEGACY_CONTROLLER = "android.media.session.MediaController";
+ }
+
+ public abstract class VolumeProviderCompat {
+ ctor public VolumeProviderCompat(int, int, int);
+ method public final int getCurrentVolume();
+ method public final int getMaxVolume();
+ method public final int getVolumeControl();
+ method public Object! getVolumeProvider();
+ method public void onAdjustVolume(int);
+ method public void onSetVolumeTo(int);
+ method public void setCallback(androidx.media.VolumeProviderCompat.Callback!);
+ method public final void setCurrentVolume(int);
+ field public static final int VOLUME_CONTROL_ABSOLUTE = 2; // 0x2
+ field public static final int VOLUME_CONTROL_FIXED = 0; // 0x0
+ field public static final int VOLUME_CONTROL_RELATIVE = 1; // 0x1
+ }
+
+ public abstract static class VolumeProviderCompat.Callback {
+ ctor public VolumeProviderCompat.Callback();
+ method public abstract void onVolumeChanged(androidx.media.VolumeProviderCompat!);
+ }
+
+}
+
+package androidx.media.app {
+
+ public class NotificationCompat {
+ }
+
+ public static class NotificationCompat.DecoratedMediaCustomViewStyle extends androidx.media.app.NotificationCompat.MediaStyle {
+ ctor public NotificationCompat.DecoratedMediaCustomViewStyle();
+ }
+
+ public static class NotificationCompat.MediaStyle extends androidx.core.app.NotificationCompat.Style {
+ ctor public NotificationCompat.MediaStyle();
+ ctor public NotificationCompat.MediaStyle(androidx.core.app.NotificationCompat.Builder!);
+ method public static android.support.v4.media.session.MediaSessionCompat.Token! getMediaSession(android.app.Notification!);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setCancelButtonIntent(android.app.PendingIntent!);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setMediaSession(android.support.v4.media.session.MediaSessionCompat.Token!);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setShowActionsInCompactView(int...);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setShowCancelButton(boolean);
+ }
+
+}
+
+package androidx.media.session {
+
+ public class MediaButtonReceiver extends android.content.BroadcastReceiver {
+ ctor public MediaButtonReceiver();
+ method public static android.app.PendingIntent! buildMediaButtonPendingIntent(android.content.Context!, long);
+ method public static android.app.PendingIntent! buildMediaButtonPendingIntent(android.content.Context!, android.content.ComponentName!, long);
+ method public static android.view.KeyEvent! handleIntent(android.support.v4.media.session.MediaSessionCompat!, android.content.Intent!);
+ method public void onReceive(android.content.Context!, android.content.Intent!);
+ }
+
+}
+
+package androidx.media.utils {
+
+ public final class MediaConstants {
+ field public static final String BROWSER_ROOT_HINTS_KEY_MEDIA_ART_SIZE_PIXELS = "android.media.extras.MEDIA_ART_SIZE_HINT_PIXELS";
+ field public static final String BROWSER_ROOT_HINTS_KEY_ROOT_CHILDREN_LIMIT = "androidx.media.MediaBrowserCompat.Extras.KEY_ROOT_CHILDREN_LIMIT";
+ field public static final String BROWSER_ROOT_HINTS_KEY_ROOT_CHILDREN_SUPPORTED_FLAGS = "androidx.media.MediaBrowserCompat.Extras.KEY_ROOT_CHILDREN_SUPPORTED_FLAGS";
+ field public static final String BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED = "android.media.browse.SEARCH_SUPPORTED";
+ field public static final String DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS = "android.media.extra.PLAYBACK_STATUS";
+ field public static final String DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_BROWSABLE = "android.media.browse.CONTENT_STYLE_BROWSABLE_HINT";
+ field public static final String DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE = "android.media.browse.CONTENT_STYLE_GROUP_TITLE_HINT";
+ field public static final String DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_PLAYABLE = "android.media.browse.CONTENT_STYLE_PLAYABLE_HINT";
+ field public static final int DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_FULLY_PLAYED = 2; // 0x2
+ field public static final int DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_NOT_PLAYED = 0; // 0x0
+ field public static final int DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_PARTIALLY_PLAYED = 1; // 0x1
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_GRID_ITEM = 4; // 0x4
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_LIST_ITEM = 3; // 0x3
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_GRID_ITEM = 2; // 0x2
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_LIST_ITEM = 1; // 0x1
+ field public static final String METADATA_KEY_CONTENT_ID = "androidx.media.MediaMetadatCompat.METADATA_KEY_CONTENT_ID";
+ field public static final String METADATA_KEY_IS_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT";
+ field public static final String METADATA_KEY_IS_EXPLICIT = "android.media.IS_EXPLICIT";
+ field public static final String METADATA_KEY_NEXT_EPISODE_CONTENT_ID = "androidx.media.MediaMetadatCompat.METADATA_KEY_NEXT_EPISODE_CONTENT_ID";
+ field public static final String METADATA_KEY_SERIES_CONTENT_ID = "androidx.media.MediaMetadatCompat.METADATA_KEY_SERIES_CONTENT_ID";
+ field public static final long METADATA_VALUE_ATTRIBUTE_PRESENT = 1L; // 0x1L
+ field public static final String PLAYBACK_STATE_EXTRAS_KEY_ERROR_RESOLUTION_ACTION_INTENT = "android.media.extras.ERROR_RESOLUTION_ACTION_INTENT";
+ field public static final String PLAYBACK_STATE_EXTRAS_KEY_ERROR_RESOLUTION_ACTION_LABEL = "android.media.extras.ERROR_RESOLUTION_ACTION_LABEL";
+ field public static final String PLAYBACK_STATE_EXTRAS_KEY_MEDIA_ID = "androidx.media.PlaybackStateCompat.Extras.KEY_MEDIA_ID";
+ field public static final String SESSION_EXTRAS_KEY_ACCOUNT_NAME = "androidx.media.MediaSessionCompat.Extras.KEY_ACCOUNT_NAME";
+ field public static final String SESSION_EXTRAS_KEY_ACCOUNT_TYPE = "androidx.media.MediaSessionCompat.Extras.KEY_ACCOUNT_TYPE";
+ field public static final String SESSION_EXTRAS_KEY_SLOT_RESERVATION_SKIP_TO_NEXT = "android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_NEXT";
+ field public static final String SESSION_EXTRAS_KEY_SLOT_RESERVATION_SKIP_TO_PREV = "android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_PREVIOUS";
+ field public static final String TRANSPORT_CONTROLS_EXTRAS_KEY_LEGACY_STREAM_TYPE = "android.media.session.extra.LEGACY_STREAM_TYPE";
+ field public static final String TRANSPORT_CONTROLS_EXTRAS_KEY_SHUFFLE = "androidx.media.MediaControllerCompat.TransportControls.extras.KEY_SHUFFLE";
+ }
+
+}
+
diff --git a/media/media/api/res-1.4.0-beta01.txt b/media/media/api/res-1.4.0-beta01.txt
new file mode 100644
index 0000000..7a1e44d
--- /dev/null
+++ b/media/media/api/res-1.4.0-beta01.txt
@@ -0,0 +1,5 @@
+style TextAppearance_Compat_Notification_Info_Media
+style TextAppearance_Compat_Notification_Line2_Media
+style TextAppearance_Compat_Notification_Media
+style TextAppearance_Compat_Notification_Time_Media
+style TextAppearance_Compat_Notification_Title_Media
diff --git a/media/media/api/restricted_1.4.0-beta01.txt b/media/media/api/restricted_1.4.0-beta01.txt
new file mode 100644
index 0000000..bd39a46
--- /dev/null
+++ b/media/media/api/restricted_1.4.0-beta01.txt
@@ -0,0 +1,778 @@
+// Signature format: 4.0
+package android.support.v4.media {
+
+ public final class MediaBrowserCompat {
+ ctor public MediaBrowserCompat(android.content.Context!, android.content.ComponentName!, android.support.v4.media.MediaBrowserCompat.ConnectionCallback!, android.os.Bundle!);
+ method public void connect();
+ method public void disconnect();
+ method public android.os.Bundle? getExtras();
+ method public void getItem(String, android.support.v4.media.MediaBrowserCompat.ItemCallback);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.os.Bundle? getNotifyChildrenChangedOptions();
+ method public String getRoot();
+ method public android.content.ComponentName getServiceComponent();
+ method public android.support.v4.media.session.MediaSessionCompat.Token getSessionToken();
+ method public boolean isConnected();
+ method public void search(String, android.os.Bundle!, android.support.v4.media.MediaBrowserCompat.SearchCallback);
+ method public void sendCustomAction(String, android.os.Bundle!, android.support.v4.media.MediaBrowserCompat.CustomActionCallback?);
+ method public void subscribe(String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+ method public void subscribe(String, android.os.Bundle, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+ method public void unsubscribe(String);
+ method public void unsubscribe(String, android.support.v4.media.MediaBrowserCompat.SubscriptionCallback);
+ field public static final String CUSTOM_ACTION_DOWNLOAD = "android.support.v4.media.action.DOWNLOAD";
+ field public static final String CUSTOM_ACTION_REMOVE_DOWNLOADED_FILE = "android.support.v4.media.action.REMOVE_DOWNLOADED_FILE";
+ field public static final String EXTRA_DOWNLOAD_PROGRESS = "android.media.browse.extra.DOWNLOAD_PROGRESS";
+ field public static final String EXTRA_MEDIA_ID = "android.media.browse.extra.MEDIA_ID";
+ field public static final String EXTRA_PAGE = "android.media.browse.extra.PAGE";
+ field public static final String EXTRA_PAGE_SIZE = "android.media.browse.extra.PAGE_SIZE";
+ }
+
+ public static class MediaBrowserCompat.ConnectionCallback {
+ ctor public MediaBrowserCompat.ConnectionCallback();
+ method public void onConnected();
+ method public void onConnectionFailed();
+ method public void onConnectionSuspended();
+ }
+
+ public abstract static class MediaBrowserCompat.CustomActionCallback {
+ ctor public MediaBrowserCompat.CustomActionCallback();
+ method public void onError(String!, android.os.Bundle!, android.os.Bundle!);
+ method public void onProgressUpdate(String!, android.os.Bundle!, android.os.Bundle!);
+ method public void onResult(String!, android.os.Bundle!, android.os.Bundle!);
+ }
+
+ public abstract static class MediaBrowserCompat.ItemCallback {
+ ctor public MediaBrowserCompat.ItemCallback();
+ method public void onError(String);
+ method public void onItemLoaded(android.support.v4.media.MediaBrowserCompat.MediaItem!);
+ }
+
+ public static class MediaBrowserCompat.MediaItem implements android.os.Parcelable {
+ ctor public MediaBrowserCompat.MediaItem(android.support.v4.media.MediaDescriptionCompat, int);
+ method public int describeContents();
+ method public static android.support.v4.media.MediaBrowserCompat.MediaItem! fromMediaItem(Object!);
+ method public static java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>! fromMediaItemList(java.util.List<?>!);
+ method public android.support.v4.media.MediaDescriptionCompat getDescription();
+ method public int getFlags();
+ method public String? getMediaId();
+ method public boolean isBrowsable();
+ method public boolean isPlayable();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaBrowserCompat.MediaItem!>! CREATOR;
+ field public static final int FLAG_BROWSABLE = 1; // 0x1
+ field public static final int FLAG_PLAYABLE = 2; // 0x2
+ }
+
+ public abstract static class MediaBrowserCompat.SearchCallback {
+ ctor public MediaBrowserCompat.SearchCallback();
+ method public void onError(String, android.os.Bundle!);
+ method public void onSearchResult(String, android.os.Bundle!, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>);
+ }
+
+ public abstract static class MediaBrowserCompat.SubscriptionCallback {
+ ctor public MediaBrowserCompat.SubscriptionCallback();
+ method public void onChildrenLoaded(String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>);
+ method public void onChildrenLoaded(String, java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>, android.os.Bundle);
+ method public void onError(String);
+ method public void onError(String, android.os.Bundle);
+ }
+
+ public final class MediaDescriptionCompat implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.MediaDescriptionCompat! fromMediaDescription(Object!);
+ method public CharSequence? getDescription();
+ method public android.os.Bundle? getExtras();
+ method public android.graphics.Bitmap? getIconBitmap();
+ method public android.net.Uri? getIconUri();
+ method public Object! getMediaDescription();
+ method public String? getMediaId();
+ method public android.net.Uri? getMediaUri();
+ method public CharSequence? getSubtitle();
+ method public CharSequence? getTitle();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final long BT_FOLDER_TYPE_ALBUMS = 2L; // 0x2L
+ field public static final long BT_FOLDER_TYPE_ARTISTS = 3L; // 0x3L
+ field public static final long BT_FOLDER_TYPE_GENRES = 4L; // 0x4L
+ field public static final long BT_FOLDER_TYPE_MIXED = 0L; // 0x0L
+ field public static final long BT_FOLDER_TYPE_PLAYLISTS = 5L; // 0x5L
+ field public static final long BT_FOLDER_TYPE_TITLES = 1L; // 0x1L
+ field public static final long BT_FOLDER_TYPE_YEARS = 6L; // 0x6L
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaDescriptionCompat!>! CREATOR;
+ field public static final String EXTRA_BT_FOLDER_TYPE = "android.media.extra.BT_FOLDER_TYPE";
+ field public static final String EXTRA_DOWNLOAD_STATUS = "android.media.extra.DOWNLOAD_STATUS";
+ field public static final long STATUS_DOWNLOADED = 2L; // 0x2L
+ field public static final long STATUS_DOWNLOADING = 1L; // 0x1L
+ field public static final long STATUS_NOT_DOWNLOADED = 0L; // 0x0L
+ }
+
+ public static final class MediaDescriptionCompat.Builder {
+ ctor public MediaDescriptionCompat.Builder();
+ method public android.support.v4.media.MediaDescriptionCompat! build();
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setDescription(CharSequence?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setExtras(android.os.Bundle?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setIconBitmap(android.graphics.Bitmap?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setIconUri(android.net.Uri?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setMediaId(String?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setMediaUri(android.net.Uri?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setSubtitle(CharSequence?);
+ method public android.support.v4.media.MediaDescriptionCompat.Builder! setTitle(CharSequence?);
+ }
+
+ public final class MediaMetadataCompat implements android.os.Parcelable {
+ method public boolean containsKey(String!);
+ method public int describeContents();
+ method public static android.support.v4.media.MediaMetadataCompat! fromMediaMetadata(Object!);
+ method public android.graphics.Bitmap! getBitmap(String!);
+ method public android.os.Bundle! getBundle();
+ method public android.support.v4.media.MediaDescriptionCompat! getDescription();
+ method public long getLong(String!);
+ method public Object! getMediaMetadata();
+ method public android.support.v4.media.RatingCompat! getRating(String!);
+ method public String! getString(String!);
+ method public CharSequence! getText(String!);
+ method public java.util.Set<java.lang.String!>! keySet();
+ method public int size();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.MediaMetadataCompat!>! CREATOR;
+ field public static final String METADATA_KEY_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT";
+ field public static final String METADATA_KEY_ALBUM = "android.media.metadata.ALBUM";
+ field public static final String METADATA_KEY_ALBUM_ART = "android.media.metadata.ALBUM_ART";
+ field public static final String METADATA_KEY_ALBUM_ARTIST = "android.media.metadata.ALBUM_ARTIST";
+ field public static final String METADATA_KEY_ALBUM_ART_URI = "android.media.metadata.ALBUM_ART_URI";
+ field public static final String METADATA_KEY_ART = "android.media.metadata.ART";
+ field public static final String METADATA_KEY_ARTIST = "android.media.metadata.ARTIST";
+ field public static final String METADATA_KEY_ART_URI = "android.media.metadata.ART_URI";
+ field public static final String METADATA_KEY_AUTHOR = "android.media.metadata.AUTHOR";
+ field public static final String METADATA_KEY_BT_FOLDER_TYPE = "android.media.metadata.BT_FOLDER_TYPE";
+ field public static final String METADATA_KEY_COMPILATION = "android.media.metadata.COMPILATION";
+ field public static final String METADATA_KEY_COMPOSER = "android.media.metadata.COMPOSER";
+ field public static final String METADATA_KEY_DATE = "android.media.metadata.DATE";
+ field public static final String METADATA_KEY_DISC_NUMBER = "android.media.metadata.DISC_NUMBER";
+ field public static final String METADATA_KEY_DISPLAY_DESCRIPTION = "android.media.metadata.DISPLAY_DESCRIPTION";
+ field public static final String METADATA_KEY_DISPLAY_ICON = "android.media.metadata.DISPLAY_ICON";
+ field public static final String METADATA_KEY_DISPLAY_ICON_URI = "android.media.metadata.DISPLAY_ICON_URI";
+ field public static final String METADATA_KEY_DISPLAY_SUBTITLE = "android.media.metadata.DISPLAY_SUBTITLE";
+ field public static final String METADATA_KEY_DISPLAY_TITLE = "android.media.metadata.DISPLAY_TITLE";
+ field public static final String METADATA_KEY_DOWNLOAD_STATUS = "android.media.metadata.DOWNLOAD_STATUS";
+ field public static final String METADATA_KEY_DURATION = "android.media.metadata.DURATION";
+ field public static final String METADATA_KEY_GENRE = "android.media.metadata.GENRE";
+ field public static final String METADATA_KEY_MEDIA_ID = "android.media.metadata.MEDIA_ID";
+ field public static final String METADATA_KEY_MEDIA_URI = "android.media.metadata.MEDIA_URI";
+ field public static final String METADATA_KEY_NUM_TRACKS = "android.media.metadata.NUM_TRACKS";
+ field public static final String METADATA_KEY_RATING = "android.media.metadata.RATING";
+ field public static final String METADATA_KEY_TITLE = "android.media.metadata.TITLE";
+ field public static final String METADATA_KEY_TRACK_NUMBER = "android.media.metadata.TRACK_NUMBER";
+ field public static final String METADATA_KEY_USER_RATING = "android.media.metadata.USER_RATING";
+ field public static final String METADATA_KEY_WRITER = "android.media.metadata.WRITER";
+ field public static final String METADATA_KEY_YEAR = "android.media.metadata.YEAR";
+ }
+
+ public static final class MediaMetadataCompat.Builder {
+ ctor public MediaMetadataCompat.Builder();
+ ctor public MediaMetadataCompat.Builder(android.support.v4.media.MediaMetadataCompat!);
+ method public android.support.v4.media.MediaMetadataCompat! build();
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putBitmap(String!, android.graphics.Bitmap!);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putLong(String!, long);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putRating(String!, android.support.v4.media.RatingCompat!);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putString(String!, String!);
+ method public android.support.v4.media.MediaMetadataCompat.Builder! putText(String!, CharSequence!);
+ }
+
+ public final class RatingCompat implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.RatingCompat! fromRating(Object!);
+ method public float getPercentRating();
+ method public Object! getRating();
+ method @android.support.v4.media.RatingCompat.Style public int getRatingStyle();
+ method public float getStarRating();
+ method public boolean hasHeart();
+ method public boolean isRated();
+ method public boolean isThumbUp();
+ method public static android.support.v4.media.RatingCompat! newHeartRating(boolean);
+ method public static android.support.v4.media.RatingCompat! newPercentageRating(float);
+ method public static android.support.v4.media.RatingCompat! newStarRating(int, float);
+ method public static android.support.v4.media.RatingCompat! newThumbRating(boolean);
+ method public static android.support.v4.media.RatingCompat! newUnratedRating(@android.support.v4.media.RatingCompat.Style int);
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.RatingCompat!>! CREATOR;
+ field public static final int RATING_3_STARS = 3; // 0x3
+ field public static final int RATING_4_STARS = 4; // 0x4
+ field public static final int RATING_5_STARS = 5; // 0x5
+ field public static final int RATING_HEART = 1; // 0x1
+ field public static final int RATING_NONE = 0; // 0x0
+ field public static final int RATING_PERCENTAGE = 6; // 0x6
+ field public static final int RATING_THUMB_UP_DOWN = 2; // 0x2
+ }
+
+ @IntDef({android.support.v4.media.RatingCompat.RATING_NONE, android.support.v4.media.RatingCompat.RATING_HEART, android.support.v4.media.RatingCompat.RATING_THUMB_UP_DOWN, android.support.v4.media.RatingCompat.RATING_3_STARS, android.support.v4.media.RatingCompat.RATING_4_STARS, android.support.v4.media.RatingCompat.RATING_5_STARS, android.support.v4.media.RatingCompat.RATING_PERCENTAGE}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RatingCompat.Style {
+ }
+
+}
+
+package android.support.v4.media.session {
+
+ public final class MediaControllerCompat {
+ ctor public MediaControllerCompat(android.content.Context!, android.support.v4.media.session.MediaSessionCompat);
+ ctor public MediaControllerCompat(android.content.Context!, android.support.v4.media.session.MediaSessionCompat.Token);
+ method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method public void addQueueItem(android.support.v4.media.MediaDescriptionCompat!, int);
+ method public void adjustVolume(int, int);
+ method public boolean dispatchMediaButtonEvent(android.view.KeyEvent!);
+ method public android.os.Bundle! getExtras();
+ method public long getFlags();
+ method public static android.support.v4.media.session.MediaControllerCompat! getMediaController(android.app.Activity);
+ method public Object! getMediaController();
+ method public android.support.v4.media.MediaMetadataCompat! getMetadata();
+ method public String! getPackageName();
+ method public android.support.v4.media.session.MediaControllerCompat.PlaybackInfo! getPlaybackInfo();
+ method public android.support.v4.media.session.PlaybackStateCompat! getPlaybackState();
+ method public java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>! getQueue();
+ method public CharSequence! getQueueTitle();
+ method public int getRatingType();
+ method public int getRepeatMode();
+ method public android.app.PendingIntent! getSessionActivity();
+ method public android.os.Bundle getSessionInfo();
+ method public android.support.v4.media.session.MediaSessionCompat.Token! getSessionToken();
+ method public int getShuffleMode();
+ method public android.support.v4.media.session.MediaControllerCompat.TransportControls! getTransportControls();
+ method public boolean isCaptioningEnabled();
+ method public boolean isSessionReady();
+ method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback);
+ method public void registerCallback(android.support.v4.media.session.MediaControllerCompat.Callback, android.os.Handler!);
+ method public void removeQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method @Deprecated public void removeQueueItemAt(int);
+ method public void sendCommand(String, android.os.Bundle?, android.os.ResultReceiver?);
+ method public static void setMediaController(android.app.Activity, android.support.v4.media.session.MediaControllerCompat!);
+ method public void setVolumeTo(int, int);
+ method public void unregisterCallback(android.support.v4.media.session.MediaControllerCompat.Callback);
+ }
+
+ public abstract static class MediaControllerCompat.Callback implements android.os.IBinder.DeathRecipient {
+ ctor public MediaControllerCompat.Callback();
+ method public void binderDied();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.support.v4.media.session.IMediaControllerCallback! getIControllerCallback();
+ method public void onAudioInfoChanged(android.support.v4.media.session.MediaControllerCompat.PlaybackInfo!);
+ method public void onCaptioningEnabledChanged(boolean);
+ method public void onExtrasChanged(android.os.Bundle!);
+ method public void onMetadataChanged(android.support.v4.media.MediaMetadataCompat!);
+ method public void onPlaybackStateChanged(android.support.v4.media.session.PlaybackStateCompat!);
+ method public void onQueueChanged(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>!);
+ method public void onQueueTitleChanged(CharSequence!);
+ method public void onRepeatModeChanged(@android.support.v4.media.session.PlaybackStateCompat.RepeatMode int);
+ method public void onSessionDestroyed();
+ method public void onSessionEvent(String!, android.os.Bundle!);
+ method public void onSessionReady();
+ method public void onShuffleModeChanged(@android.support.v4.media.session.PlaybackStateCompat.ShuffleMode int);
+ }
+
+ public static final class MediaControllerCompat.PlaybackInfo {
+ method public androidx.media.AudioAttributesCompat getAudioAttributes();
+ method @Deprecated public int getAudioStream();
+ method public int getCurrentVolume();
+ method public int getMaxVolume();
+ method public int getPlaybackType();
+ method public int getVolumeControl();
+ field public static final int PLAYBACK_TYPE_LOCAL = 1; // 0x1
+ field public static final int PLAYBACK_TYPE_REMOTE = 2; // 0x2
+ }
+
+ public abstract static class MediaControllerCompat.TransportControls {
+ method public abstract void fastForward();
+ method public abstract void pause();
+ method public abstract void play();
+ method public abstract void playFromMediaId(String!, android.os.Bundle!);
+ method public abstract void playFromSearch(String!, android.os.Bundle!);
+ method public abstract void playFromUri(android.net.Uri!, android.os.Bundle!);
+ method public abstract void prepare();
+ method public abstract void prepareFromMediaId(String!, android.os.Bundle!);
+ method public abstract void prepareFromSearch(String!, android.os.Bundle!);
+ method public abstract void prepareFromUri(android.net.Uri!, android.os.Bundle!);
+ method public abstract void rewind();
+ method public abstract void seekTo(long);
+ method public abstract void sendCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction!, android.os.Bundle!);
+ method public abstract void sendCustomAction(String!, android.os.Bundle!);
+ method public abstract void setCaptioningEnabled(boolean);
+ method public void setPlaybackSpeed(float);
+ method public abstract void setRating(android.support.v4.media.RatingCompat!);
+ method public abstract void setRating(android.support.v4.media.RatingCompat!, android.os.Bundle!);
+ method public abstract void setRepeatMode(@android.support.v4.media.session.PlaybackStateCompat.RepeatMode int);
+ method public abstract void setShuffleMode(@android.support.v4.media.session.PlaybackStateCompat.ShuffleMode int);
+ method public abstract void skipToNext();
+ method public abstract void skipToPrevious();
+ method public abstract void skipToQueueItem(long);
+ method public abstract void stop();
+ field @Deprecated public static final String EXTRA_LEGACY_STREAM_TYPE = "android.media.session.extra.LEGACY_STREAM_TYPE";
+ }
+
+ public class MediaSessionCompat {
+ ctor public MediaSessionCompat(android.content.Context, String);
+ ctor public MediaSessionCompat(android.content.Context, String, android.content.ComponentName?, android.app.PendingIntent?);
+ ctor public MediaSessionCompat(android.content.Context, String, android.content.ComponentName?, android.app.PendingIntent?, android.os.Bundle?);
+ ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public MediaSessionCompat(android.content.Context, String, android.content.ComponentName?, android.app.PendingIntent?, android.os.Bundle?, androidx.versionedparcelable.VersionedParcelable?);
+ method public void addOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener!);
+ method public static android.support.v4.media.session.MediaSessionCompat! fromMediaSession(android.content.Context!, Object!);
+ method public android.support.v4.media.session.MediaControllerCompat! getController();
+ method public final androidx.media.MediaSessionManager.RemoteUserInfo getCurrentControllerInfo();
+ method public Object! getMediaSession();
+ method public Object! getRemoteControlClient();
+ method public android.support.v4.media.session.MediaSessionCompat.Token! getSessionToken();
+ method public boolean isActive();
+ method public void release();
+ method public void removeOnActiveChangeListener(android.support.v4.media.session.MediaSessionCompat.OnActiveChangeListener!);
+ method public void sendSessionEvent(String!, android.os.Bundle!);
+ method public void setActive(boolean);
+ method public void setCallback(android.support.v4.media.session.MediaSessionCompat.Callback!);
+ method public void setCallback(android.support.v4.media.session.MediaSessionCompat.Callback!, android.os.Handler!);
+ method public void setCaptioningEnabled(boolean);
+ method public void setExtras(android.os.Bundle!);
+ method public void setFlags(int);
+ method public void setMediaButtonReceiver(android.app.PendingIntent!);
+ method public void setMetadata(android.support.v4.media.MediaMetadataCompat!);
+ method public void setPlaybackState(android.support.v4.media.session.PlaybackStateCompat!);
+ method public void setPlaybackToLocal(int);
+ method public void setPlaybackToRemote(androidx.media.VolumeProviderCompat!);
+ method public void setQueue(java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>!);
+ method public void setQueueTitle(CharSequence!);
+ method public void setRatingType(@android.support.v4.media.RatingCompat.Style int);
+ method public void setRepeatMode(@android.support.v4.media.session.PlaybackStateCompat.RepeatMode int);
+ method public void setSessionActivity(android.app.PendingIntent!);
+ method public void setShuffleMode(@android.support.v4.media.session.PlaybackStateCompat.ShuffleMode int);
+ field public static final String ACTION_FLAG_AS_INAPPROPRIATE = "android.support.v4.media.session.action.FLAG_AS_INAPPROPRIATE";
+ field public static final String ACTION_FOLLOW = "android.support.v4.media.session.action.FOLLOW";
+ field public static final String ACTION_SKIP_AD = "android.support.v4.media.session.action.SKIP_AD";
+ field public static final String ACTION_UNFOLLOW = "android.support.v4.media.session.action.UNFOLLOW";
+ field public static final String ARGUMENT_MEDIA_ATTRIBUTE = "android.support.v4.media.session.ARGUMENT_MEDIA_ATTRIBUTE";
+ field public static final String ARGUMENT_MEDIA_ATTRIBUTE_VALUE = "android.support.v4.media.session.ARGUMENT_MEDIA_ATTRIBUTE_VALUE";
+ field @Deprecated public static final int FLAG_HANDLES_MEDIA_BUTTONS = 1; // 0x1
+ field public static final int FLAG_HANDLES_QUEUE_COMMANDS = 4; // 0x4
+ field @Deprecated public static final int FLAG_HANDLES_TRANSPORT_CONTROLS = 2; // 0x2
+ field public static final int MEDIA_ATTRIBUTE_ALBUM = 1; // 0x1
+ field public static final int MEDIA_ATTRIBUTE_ARTIST = 0; // 0x0
+ field public static final int MEDIA_ATTRIBUTE_PLAYLIST = 2; // 0x2
+ }
+
+ public abstract static class MediaSessionCompat.Callback {
+ ctor public MediaSessionCompat.Callback();
+ method public void onAddQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method public void onAddQueueItem(android.support.v4.media.MediaDescriptionCompat!, int);
+ method public void onCommand(String!, android.os.Bundle!, android.os.ResultReceiver!);
+ method public void onCustomAction(String!, android.os.Bundle!);
+ method public void onFastForward();
+ method public boolean onMediaButtonEvent(android.content.Intent!);
+ method public void onPause();
+ method public void onPlay();
+ method public void onPlayFromMediaId(String!, android.os.Bundle!);
+ method public void onPlayFromSearch(String!, android.os.Bundle!);
+ method public void onPlayFromUri(android.net.Uri!, android.os.Bundle!);
+ method public void onPrepare();
+ method public void onPrepareFromMediaId(String!, android.os.Bundle!);
+ method public void onPrepareFromSearch(String!, android.os.Bundle!);
+ method public void onPrepareFromUri(android.net.Uri!, android.os.Bundle!);
+ method public void onRemoveQueueItem(android.support.v4.media.MediaDescriptionCompat!);
+ method @Deprecated public void onRemoveQueueItemAt(int);
+ method public void onRewind();
+ method public void onSeekTo(long);
+ method public void onSetCaptioningEnabled(boolean);
+ method public void onSetPlaybackSpeed(float);
+ method public void onSetRating(android.support.v4.media.RatingCompat!);
+ method public void onSetRating(android.support.v4.media.RatingCompat!, android.os.Bundle!);
+ method public void onSetRepeatMode(@android.support.v4.media.session.PlaybackStateCompat.RepeatMode int);
+ method public void onSetShuffleMode(@android.support.v4.media.session.PlaybackStateCompat.ShuffleMode int);
+ method public void onSkipToNext();
+ method public void onSkipToPrevious();
+ method public void onSkipToQueueItem(long);
+ method public void onStop();
+ }
+
+ public static interface MediaSessionCompat.OnActiveChangeListener {
+ method public void onActiveChanged();
+ }
+
+ public static final class MediaSessionCompat.QueueItem implements android.os.Parcelable {
+ ctor public MediaSessionCompat.QueueItem(android.support.v4.media.MediaDescriptionCompat!, long);
+ method public int describeContents();
+ method public static android.support.v4.media.session.MediaSessionCompat.QueueItem! fromQueueItem(Object!);
+ method public static java.util.List<android.support.v4.media.session.MediaSessionCompat.QueueItem!>! fromQueueItemList(java.util.List<?>!);
+ method public android.support.v4.media.MediaDescriptionCompat! getDescription();
+ method public long getQueueId();
+ method public Object! getQueueItem();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.MediaSessionCompat.QueueItem!>! CREATOR;
+ field public static final int UNKNOWN_ID = -1; // 0xffffffff
+ }
+
+ public static final class MediaSessionCompat.Token implements android.os.Parcelable {
+ method public int describeContents();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static android.support.v4.media.session.MediaSessionCompat.Token! fromBundle(android.os.Bundle!);
+ method public static android.support.v4.media.session.MediaSessionCompat.Token! fromToken(Object!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public androidx.versionedparcelable.VersionedParcelable! getSession2Token();
+ method public Object! getToken();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void setSession2Token(androidx.versionedparcelable.VersionedParcelable!);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public android.os.Bundle! toBundle();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.MediaSessionCompat.Token!>! CREATOR;
+ }
+
+ public class ParcelableVolumeInfo implements android.os.Parcelable {
+ ctor public ParcelableVolumeInfo(int, int, int, int, int);
+ ctor public ParcelableVolumeInfo(android.os.Parcel!);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.ParcelableVolumeInfo!>! CREATOR;
+ field public int audioStream;
+ field public int controlType;
+ field public int currentVolume;
+ field public int maxVolume;
+ field public int volumeType;
+ }
+
+ public final class PlaybackStateCompat implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.session.PlaybackStateCompat! fromPlaybackState(Object!);
+ method @android.support.v4.media.session.PlaybackStateCompat.Actions public long getActions();
+ method public long getActiveQueueItemId();
+ method public long getBufferedPosition();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public long getCurrentPosition(Long!);
+ method public java.util.List<android.support.v4.media.session.PlaybackStateCompat.CustomAction!>! getCustomActions();
+ method public int getErrorCode();
+ method public CharSequence! getErrorMessage();
+ method public android.os.Bundle? getExtras();
+ method public long getLastPositionUpdateTime();
+ method public float getPlaybackSpeed();
+ method public Object! getPlaybackState();
+ method public long getPosition();
+ method @android.support.v4.media.session.PlaybackStateCompat.State public int getState();
+ method public static int toKeyCode(long);
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final long ACTION_FAST_FORWARD = 64L; // 0x40L
+ field public static final long ACTION_PAUSE = 2L; // 0x2L
+ field public static final long ACTION_PLAY = 4L; // 0x4L
+ field public static final long ACTION_PLAY_FROM_MEDIA_ID = 1024L; // 0x400L
+ field public static final long ACTION_PLAY_FROM_SEARCH = 2048L; // 0x800L
+ field public static final long ACTION_PLAY_FROM_URI = 8192L; // 0x2000L
+ field public static final long ACTION_PLAY_PAUSE = 512L; // 0x200L
+ field public static final long ACTION_PREPARE = 16384L; // 0x4000L
+ field public static final long ACTION_PREPARE_FROM_MEDIA_ID = 32768L; // 0x8000L
+ field public static final long ACTION_PREPARE_FROM_SEARCH = 65536L; // 0x10000L
+ field public static final long ACTION_PREPARE_FROM_URI = 131072L; // 0x20000L
+ field public static final long ACTION_REWIND = 8L; // 0x8L
+ field public static final long ACTION_SEEK_TO = 256L; // 0x100L
+ field public static final long ACTION_SET_CAPTIONING_ENABLED = 1048576L; // 0x100000L
+ field public static final long ACTION_SET_PLAYBACK_SPEED = 4194304L; // 0x400000L
+ field public static final long ACTION_SET_RATING = 128L; // 0x80L
+ field public static final long ACTION_SET_REPEAT_MODE = 262144L; // 0x40000L
+ field public static final long ACTION_SET_SHUFFLE_MODE = 2097152L; // 0x200000L
+ field @Deprecated public static final long ACTION_SET_SHUFFLE_MODE_ENABLED = 524288L; // 0x80000L
+ field public static final long ACTION_SKIP_TO_NEXT = 32L; // 0x20L
+ field public static final long ACTION_SKIP_TO_PREVIOUS = 16L; // 0x10L
+ field public static final long ACTION_SKIP_TO_QUEUE_ITEM = 4096L; // 0x1000L
+ field public static final long ACTION_STOP = 1L; // 0x1L
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.PlaybackStateCompat!>! CREATOR;
+ field public static final int ERROR_CODE_ACTION_ABORTED = 10; // 0xa
+ field public static final int ERROR_CODE_APP_ERROR = 1; // 0x1
+ field public static final int ERROR_CODE_AUTHENTICATION_EXPIRED = 3; // 0x3
+ field public static final int ERROR_CODE_CONCURRENT_STREAM_LIMIT = 5; // 0x5
+ field public static final int ERROR_CODE_CONTENT_ALREADY_PLAYING = 8; // 0x8
+ field public static final int ERROR_CODE_END_OF_QUEUE = 11; // 0xb
+ field public static final int ERROR_CODE_NOT_AVAILABLE_IN_REGION = 7; // 0x7
+ field public static final int ERROR_CODE_NOT_SUPPORTED = 2; // 0x2
+ field public static final int ERROR_CODE_PARENTAL_CONTROL_RESTRICTED = 6; // 0x6
+ field public static final int ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED = 4; // 0x4
+ field public static final int ERROR_CODE_SKIP_LIMIT_REACHED = 9; // 0x9
+ field public static final int ERROR_CODE_UNKNOWN_ERROR = 0; // 0x0
+ field public static final long PLAYBACK_POSITION_UNKNOWN = -1L; // 0xffffffffffffffffL
+ field public static final int REPEAT_MODE_ALL = 2; // 0x2
+ field public static final int REPEAT_MODE_GROUP = 3; // 0x3
+ field public static final int REPEAT_MODE_INVALID = -1; // 0xffffffff
+ field public static final int REPEAT_MODE_NONE = 0; // 0x0
+ field public static final int REPEAT_MODE_ONE = 1; // 0x1
+ field public static final int SHUFFLE_MODE_ALL = 1; // 0x1
+ field public static final int SHUFFLE_MODE_GROUP = 2; // 0x2
+ field public static final int SHUFFLE_MODE_INVALID = -1; // 0xffffffff
+ field public static final int SHUFFLE_MODE_NONE = 0; // 0x0
+ field public static final int STATE_BUFFERING = 6; // 0x6
+ field public static final int STATE_CONNECTING = 8; // 0x8
+ field public static final int STATE_ERROR = 7; // 0x7
+ field public static final int STATE_FAST_FORWARDING = 4; // 0x4
+ field public static final int STATE_NONE = 0; // 0x0
+ field public static final int STATE_PAUSED = 2; // 0x2
+ field public static final int STATE_PLAYING = 3; // 0x3
+ field public static final int STATE_REWINDING = 5; // 0x5
+ field public static final int STATE_SKIPPING_TO_NEXT = 10; // 0xa
+ field public static final int STATE_SKIPPING_TO_PREVIOUS = 9; // 0x9
+ field public static final int STATE_SKIPPING_TO_QUEUE_ITEM = 11; // 0xb
+ field public static final int STATE_STOPPED = 1; // 0x1
+ }
+
+ @LongDef(flag=true, value={android.support.v4.media.session.PlaybackStateCompat.ACTION_STOP, android.support.v4.media.session.PlaybackStateCompat.ACTION_PAUSE, android.support.v4.media.session.PlaybackStateCompat.ACTION_PLAY, android.support.v4.media.session.PlaybackStateCompat.ACTION_REWIND, android.support.v4.media.session.PlaybackStateCompat.ACTION_SKIP_TO_PREVIOUS, android.support.v4.media.session.PlaybackStateCompat.ACTION_SKIP_TO_NEXT, android.support.v4.media.session.PlaybackStateCompat.ACTION_FAST_FORWARD, android.support.v4.media.session.PlaybackStateCompat.ACTION_SET_RATING, android.support.v4.media.session.PlaybackStateCompat.ACTION_SEEK_TO, android.support.v4.media.session.PlaybackStateCompat.ACTION_PLAY_PAUSE, android.support.v4.media.session.PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID, android.support.v4.media.session.PlaybackStateCompat.ACTION_PLAY_FROM_SEARCH, android.support.v4.media.session.PlaybackStateCompat.ACTION_SKIP_TO_QUEUE_ITEM, android.support.v4.media.session.PlaybackStateCompat.ACTION_PLAY_FROM_URI, android.support.v4.media.session.PlaybackStateCompat.ACTION_PREPARE, android.support.v4.media.session.PlaybackStateCompat.ACTION_PREPARE_FROM_MEDIA_ID, android.support.v4.media.session.PlaybackStateCompat.ACTION_PREPARE_FROM_SEARCH, android.support.v4.media.session.PlaybackStateCompat.ACTION_PREPARE_FROM_URI, android.support.v4.media.session.PlaybackStateCompat.ACTION_SET_REPEAT_MODE, android.support.v4.media.session.PlaybackStateCompat.ACTION_SET_SHUFFLE_MODE, android.support.v4.media.session.PlaybackStateCompat.ACTION_SET_CAPTIONING_ENABLED, android.support.v4.media.session.PlaybackStateCompat.ACTION_SET_PLAYBACK_SPEED}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PlaybackStateCompat.Actions {
+ }
+
+ public static final class PlaybackStateCompat.Builder {
+ ctor public PlaybackStateCompat.Builder();
+ ctor public PlaybackStateCompat.Builder(android.support.v4.media.session.PlaybackStateCompat!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! addCustomAction(String!, String!, int);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! addCustomAction(android.support.v4.media.session.PlaybackStateCompat.CustomAction!);
+ method public android.support.v4.media.session.PlaybackStateCompat! build();
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setActions(@android.support.v4.media.session.PlaybackStateCompat.Actions long);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setActiveQueueItemId(long);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setBufferedPosition(long);
+ method @Deprecated public android.support.v4.media.session.PlaybackStateCompat.Builder! setErrorMessage(CharSequence!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setErrorMessage(int, CharSequence!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setExtras(android.os.Bundle!);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setState(@android.support.v4.media.session.PlaybackStateCompat.State int, long, float);
+ method public android.support.v4.media.session.PlaybackStateCompat.Builder! setState(@android.support.v4.media.session.PlaybackStateCompat.State int, long, float, long);
+ }
+
+ public static final class PlaybackStateCompat.CustomAction implements android.os.Parcelable {
+ method public int describeContents();
+ method public static android.support.v4.media.session.PlaybackStateCompat.CustomAction! fromCustomAction(Object!);
+ method public String! getAction();
+ method public Object! getCustomAction();
+ method public android.os.Bundle! getExtras();
+ method public int getIcon();
+ method public CharSequence! getName();
+ method public void writeToParcel(android.os.Parcel!, int);
+ field public static final android.os.Parcelable.Creator<android.support.v4.media.session.PlaybackStateCompat.CustomAction!>! CREATOR;
+ }
+
+ public static final class PlaybackStateCompat.CustomAction.Builder {
+ ctor public PlaybackStateCompat.CustomAction.Builder(String!, CharSequence!, int);
+ method public android.support.v4.media.session.PlaybackStateCompat.CustomAction! build();
+ method public android.support.v4.media.session.PlaybackStateCompat.CustomAction.Builder! setExtras(android.os.Bundle!);
+ }
+
+ @IntDef({android.support.v4.media.session.PlaybackStateCompat.REPEAT_MODE_INVALID, android.support.v4.media.session.PlaybackStateCompat.REPEAT_MODE_NONE, android.support.v4.media.session.PlaybackStateCompat.REPEAT_MODE_ONE, android.support.v4.media.session.PlaybackStateCompat.REPEAT_MODE_ALL, android.support.v4.media.session.PlaybackStateCompat.REPEAT_MODE_GROUP}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PlaybackStateCompat.RepeatMode {
+ }
+
+ @IntDef({android.support.v4.media.session.PlaybackStateCompat.SHUFFLE_MODE_INVALID, android.support.v4.media.session.PlaybackStateCompat.SHUFFLE_MODE_NONE, android.support.v4.media.session.PlaybackStateCompat.SHUFFLE_MODE_ALL, android.support.v4.media.session.PlaybackStateCompat.SHUFFLE_MODE_GROUP}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PlaybackStateCompat.ShuffleMode {
+ }
+
+ @IntDef({android.support.v4.media.session.PlaybackStateCompat.STATE_NONE, android.support.v4.media.session.PlaybackStateCompat.STATE_STOPPED, android.support.v4.media.session.PlaybackStateCompat.STATE_PAUSED, android.support.v4.media.session.PlaybackStateCompat.STATE_PLAYING, android.support.v4.media.session.PlaybackStateCompat.STATE_FAST_FORWARDING, android.support.v4.media.session.PlaybackStateCompat.STATE_REWINDING, android.support.v4.media.session.PlaybackStateCompat.STATE_BUFFERING, android.support.v4.media.session.PlaybackStateCompat.STATE_ERROR, android.support.v4.media.session.PlaybackStateCompat.STATE_CONNECTING, android.support.v4.media.session.PlaybackStateCompat.STATE_SKIPPING_TO_PREVIOUS, android.support.v4.media.session.PlaybackStateCompat.STATE_SKIPPING_TO_NEXT, android.support.v4.media.session.PlaybackStateCompat.STATE_SKIPPING_TO_QUEUE_ITEM}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PlaybackStateCompat.State {
+ }
+
+}
+
+package androidx.media {
+
+ @androidx.versionedparcelable.VersionedParcelize(jetifyAs="android.support.v4.media.AudioAttributesCompat") public class AudioAttributesCompat implements androidx.versionedparcelable.VersionedParcelable {
+ method public int getContentType();
+ method public int getFlags();
+ method public int getLegacyStreamType();
+ method public int getUsage();
+ method public int getVolumeControlStream();
+ method public Object? unwrap();
+ method public static androidx.media.AudioAttributesCompat? wrap(Object);
+ field public static final int CONTENT_TYPE_MOVIE = 3; // 0x3
+ field public static final int CONTENT_TYPE_MUSIC = 2; // 0x2
+ field public static final int CONTENT_TYPE_SONIFICATION = 4; // 0x4
+ field public static final int CONTENT_TYPE_SPEECH = 1; // 0x1
+ field public static final int CONTENT_TYPE_UNKNOWN = 0; // 0x0
+ field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1
+ field public static final int FLAG_HW_AV_SYNC = 16; // 0x10
+ field public static final int USAGE_ALARM = 4; // 0x4
+ field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb
+ field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc
+ field public static final int USAGE_ASSISTANCE_SONIFICATION = 13; // 0xd
+ field public static final int USAGE_ASSISTANT = 16; // 0x10
+ field public static final int USAGE_GAME = 14; // 0xe
+ field public static final int USAGE_MEDIA = 1; // 0x1
+ field public static final int USAGE_NOTIFICATION = 5; // 0x5
+ field public static final int USAGE_NOTIFICATION_COMMUNICATION_DELAYED = 9; // 0x9
+ field public static final int USAGE_NOTIFICATION_COMMUNICATION_INSTANT = 8; // 0x8
+ field public static final int USAGE_NOTIFICATION_COMMUNICATION_REQUEST = 7; // 0x7
+ field public static final int USAGE_NOTIFICATION_EVENT = 10; // 0xa
+ field public static final int USAGE_NOTIFICATION_RINGTONE = 6; // 0x6
+ field public static final int USAGE_UNKNOWN = 0; // 0x0
+ field public static final int USAGE_VOICE_COMMUNICATION = 2; // 0x2
+ field public static final int USAGE_VOICE_COMMUNICATION_SIGNALLING = 3; // 0x3
+ }
+
+ public static class AudioAttributesCompat.Builder {
+ ctor public AudioAttributesCompat.Builder();
+ ctor public AudioAttributesCompat.Builder(androidx.media.AudioAttributesCompat!);
+ method public androidx.media.AudioAttributesCompat! build();
+ method public androidx.media.AudioAttributesCompat.Builder! setContentType(int);
+ method public androidx.media.AudioAttributesCompat.Builder! setFlags(int);
+ method public androidx.media.AudioAttributesCompat.Builder! setLegacyStreamType(int);
+ method public androidx.media.AudioAttributesCompat.Builder! setUsage(int);
+ }
+
+ public class AudioFocusRequestCompat {
+ method public androidx.media.AudioAttributesCompat getAudioAttributesCompat();
+ method public android.os.Handler getFocusChangeHandler();
+ method public int getFocusGain();
+ method public android.media.AudioManager.OnAudioFocusChangeListener getOnAudioFocusChangeListener();
+ method public boolean willPauseWhenDucked();
+ }
+
+ public static final class AudioFocusRequestCompat.Builder {
+ ctor public AudioFocusRequestCompat.Builder(int);
+ ctor public AudioFocusRequestCompat.Builder(androidx.media.AudioFocusRequestCompat);
+ method public androidx.media.AudioFocusRequestCompat! build();
+ method public androidx.media.AudioFocusRequestCompat.Builder setAudioAttributes(androidx.media.AudioAttributesCompat);
+ method public androidx.media.AudioFocusRequestCompat.Builder setFocusGain(int);
+ method public androidx.media.AudioFocusRequestCompat.Builder setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener);
+ method public androidx.media.AudioFocusRequestCompat.Builder setOnAudioFocusChangeListener(android.media.AudioManager.OnAudioFocusChangeListener, android.os.Handler);
+ method public androidx.media.AudioFocusRequestCompat.Builder setWillPauseWhenDucked(boolean);
+ }
+
+ public final class AudioManagerCompat {
+ method public static int abandonAudioFocusRequest(android.media.AudioManager, androidx.media.AudioFocusRequestCompat);
+ method @IntRange(from=0) public static int getStreamMaxVolume(android.media.AudioManager, @androidx.core.app.NotificationCompat.StreamType int);
+ method @IntRange(from=0) public static int getStreamMinVolume(android.media.AudioManager, @androidx.core.app.NotificationCompat.StreamType int);
+ method public static int requestAudioFocus(android.media.AudioManager, androidx.media.AudioFocusRequestCompat);
+ field public static final int AUDIOFOCUS_GAIN = 1; // 0x1
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT = 2; // 0x2
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT_EXCLUSIVE = 4; // 0x4
+ field public static final int AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK = 3; // 0x3
+ }
+
+ public abstract class MediaBrowserServiceCompat extends android.app.Service {
+ ctor public MediaBrowserServiceCompat();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void attachToBaseContext(android.content.Context!);
+ method public void dump(java.io.FileDescriptor!, java.io.PrintWriter!, String![]!);
+ method public final android.os.Bundle! getBrowserRootHints();
+ method public final androidx.media.MediaSessionManager.RemoteUserInfo getCurrentBrowserInfo();
+ method public android.support.v4.media.session.MediaSessionCompat.Token? getSessionToken();
+ method public void notifyChildrenChanged(String);
+ method public void notifyChildrenChanged(String, android.os.Bundle);
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void notifyChildrenChanged(androidx.media.MediaSessionManager.RemoteUserInfo, String, android.os.Bundle);
+ method public android.os.IBinder! onBind(android.content.Intent!);
+ method public void onCustomAction(String, android.os.Bundle!, androidx.media.MediaBrowserServiceCompat.Result<android.os.Bundle!>);
+ method public abstract androidx.media.MediaBrowserServiceCompat.BrowserRoot? onGetRoot(String, int, android.os.Bundle?);
+ method public abstract void onLoadChildren(String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>!>);
+ method public void onLoadChildren(String, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>!>, android.os.Bundle);
+ method public void onLoadItem(String!, androidx.media.MediaBrowserServiceCompat.Result<android.support.v4.media.MediaBrowserCompat.MediaItem!>);
+ method public void onSearch(String, android.os.Bundle!, androidx.media.MediaBrowserServiceCompat.Result<java.util.List<android.support.v4.media.MediaBrowserCompat.MediaItem!>!>);
+ method public void setSessionToken(android.support.v4.media.session.MediaSessionCompat.Token!);
+ field public static final String SERVICE_INTERFACE = "android.media.browse.MediaBrowserService";
+ }
+
+ public static final class MediaBrowserServiceCompat.BrowserRoot {
+ ctor public MediaBrowserServiceCompat.BrowserRoot(String, android.os.Bundle?);
+ method public android.os.Bundle! getExtras();
+ method public String! getRootId();
+ field public static final String EXTRA_OFFLINE = "android.service.media.extra.OFFLINE";
+ field public static final String EXTRA_RECENT = "android.service.media.extra.RECENT";
+ field public static final String EXTRA_SUGGESTED = "android.service.media.extra.SUGGESTED";
+ field @Deprecated public static final String EXTRA_SUGGESTION_KEYWORDS = "android.service.media.extra.SUGGESTION_KEYWORDS";
+ }
+
+ public static class MediaBrowserServiceCompat.Result<T> {
+ method public void detach();
+ method public void sendError(android.os.Bundle?);
+ method public void sendProgressUpdate(android.os.Bundle?);
+ method public void sendResult(T?);
+ }
+
+ public final class MediaSessionManager {
+ method public static androidx.media.MediaSessionManager getSessionManager(android.content.Context);
+ method public boolean isTrustedForMediaControl(androidx.media.MediaSessionManager.RemoteUserInfo);
+ }
+
+ public static final class MediaSessionManager.RemoteUserInfo {
+ ctor public MediaSessionManager.RemoteUserInfo(String, int, int);
+ method public String getPackageName();
+ method public int getPid();
+ method public int getUid();
+ field public static final String LEGACY_CONTROLLER = "android.media.session.MediaController";
+ field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int UNKNOWN_PID = -1; // 0xffffffff
+ field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int UNKNOWN_UID = -1; // 0xffffffff
+ }
+
+ public abstract class VolumeProviderCompat {
+ ctor public VolumeProviderCompat(@androidx.media.VolumeProviderCompat.ControlType int, int, int);
+ ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public VolumeProviderCompat(@androidx.media.VolumeProviderCompat.ControlType int, int, int, String?);
+ method public final int getCurrentVolume();
+ method public final int getMaxVolume();
+ method @androidx.media.VolumeProviderCompat.ControlType public final int getVolumeControl();
+ method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final String? getVolumeControlId();
+ method public Object! getVolumeProvider();
+ method public void onAdjustVolume(int);
+ method public void onSetVolumeTo(int);
+ method public void setCallback(androidx.media.VolumeProviderCompat.Callback!);
+ method public final void setCurrentVolume(int);
+ field public static final int VOLUME_CONTROL_ABSOLUTE = 2; // 0x2
+ field public static final int VOLUME_CONTROL_FIXED = 0; // 0x0
+ field public static final int VOLUME_CONTROL_RELATIVE = 1; // 0x1
+ }
+
+ public abstract static class VolumeProviderCompat.Callback {
+ ctor public VolumeProviderCompat.Callback();
+ method public abstract void onVolumeChanged(androidx.media.VolumeProviderCompat!);
+ }
+
+ @IntDef({androidx.media.VolumeProviderCompat.VOLUME_CONTROL_FIXED, androidx.media.VolumeProviderCompat.VOLUME_CONTROL_RELATIVE, androidx.media.VolumeProviderCompat.VOLUME_CONTROL_ABSOLUTE}) @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface VolumeProviderCompat.ControlType {
+ }
+
+}
+
+package androidx.media.app {
+
+ public class NotificationCompat {
+ }
+
+ public static class NotificationCompat.DecoratedMediaCustomViewStyle extends androidx.media.app.NotificationCompat.MediaStyle {
+ ctor public NotificationCompat.DecoratedMediaCustomViewStyle();
+ }
+
+ public static class NotificationCompat.MediaStyle extends androidx.core.app.NotificationCompat.Style {
+ ctor public NotificationCompat.MediaStyle();
+ ctor public NotificationCompat.MediaStyle(androidx.core.app.NotificationCompat.Builder!);
+ method public static android.support.v4.media.session.MediaSessionCompat.Token! getMediaSession(android.app.Notification!);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setCancelButtonIntent(android.app.PendingIntent!);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setMediaSession(android.support.v4.media.session.MediaSessionCompat.Token!);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setShowActionsInCompactView(int...);
+ method public androidx.media.app.NotificationCompat.MediaStyle! setShowCancelButton(boolean);
+ }
+
+}
+
+package androidx.media.session {
+
+ public class MediaButtonReceiver extends android.content.BroadcastReceiver {
+ ctor public MediaButtonReceiver();
+ method public static android.app.PendingIntent! buildMediaButtonPendingIntent(android.content.Context!, long);
+ method public static android.app.PendingIntent! buildMediaButtonPendingIntent(android.content.Context!, android.content.ComponentName!, long);
+ method public static android.view.KeyEvent! handleIntent(android.support.v4.media.session.MediaSessionCompat!, android.content.Intent!);
+ method public void onReceive(android.content.Context!, android.content.Intent!);
+ }
+
+}
+
+package androidx.media.utils {
+
+ public final class MediaConstants {
+ field public static final String BROWSER_ROOT_HINTS_KEY_MEDIA_ART_SIZE_PIXELS = "android.media.extras.MEDIA_ART_SIZE_HINT_PIXELS";
+ field public static final String BROWSER_ROOT_HINTS_KEY_ROOT_CHILDREN_LIMIT = "androidx.media.MediaBrowserCompat.Extras.KEY_ROOT_CHILDREN_LIMIT";
+ field public static final String BROWSER_ROOT_HINTS_KEY_ROOT_CHILDREN_SUPPORTED_FLAGS = "androidx.media.MediaBrowserCompat.Extras.KEY_ROOT_CHILDREN_SUPPORTED_FLAGS";
+ field public static final String BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED = "android.media.browse.SEARCH_SUPPORTED";
+ field public static final String DESCRIPTION_EXTRAS_KEY_COMPLETION_STATUS = "android.media.extra.PLAYBACK_STATUS";
+ field public static final String DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_BROWSABLE = "android.media.browse.CONTENT_STYLE_BROWSABLE_HINT";
+ field public static final String DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_GROUP_TITLE = "android.media.browse.CONTENT_STYLE_GROUP_TITLE_HINT";
+ field public static final String DESCRIPTION_EXTRAS_KEY_CONTENT_STYLE_PLAYABLE = "android.media.browse.CONTENT_STYLE_PLAYABLE_HINT";
+ field public static final int DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_FULLY_PLAYED = 2; // 0x2
+ field public static final int DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_NOT_PLAYED = 0; // 0x0
+ field public static final int DESCRIPTION_EXTRAS_VALUE_COMPLETION_STATUS_PARTIALLY_PLAYED = 1; // 0x1
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_GRID_ITEM = 4; // 0x4
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_CATEGORY_LIST_ITEM = 3; // 0x3
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_GRID_ITEM = 2; // 0x2
+ field public static final int DESCRIPTION_EXTRAS_VALUE_CONTENT_STYLE_LIST_ITEM = 1; // 0x1
+ field public static final String METADATA_KEY_CONTENT_ID = "androidx.media.MediaMetadatCompat.METADATA_KEY_CONTENT_ID";
+ field public static final String METADATA_KEY_IS_ADVERTISEMENT = "android.media.metadata.ADVERTISEMENT";
+ field public static final String METADATA_KEY_IS_EXPLICIT = "android.media.IS_EXPLICIT";
+ field public static final String METADATA_KEY_NEXT_EPISODE_CONTENT_ID = "androidx.media.MediaMetadatCompat.METADATA_KEY_NEXT_EPISODE_CONTENT_ID";
+ field public static final String METADATA_KEY_SERIES_CONTENT_ID = "androidx.media.MediaMetadatCompat.METADATA_KEY_SERIES_CONTENT_ID";
+ field public static final long METADATA_VALUE_ATTRIBUTE_PRESENT = 1L; // 0x1L
+ field public static final String PLAYBACK_STATE_EXTRAS_KEY_ERROR_RESOLUTION_ACTION_INTENT = "android.media.extras.ERROR_RESOLUTION_ACTION_INTENT";
+ field public static final String PLAYBACK_STATE_EXTRAS_KEY_ERROR_RESOLUTION_ACTION_LABEL = "android.media.extras.ERROR_RESOLUTION_ACTION_LABEL";
+ field public static final String PLAYBACK_STATE_EXTRAS_KEY_MEDIA_ID = "androidx.media.PlaybackStateCompat.Extras.KEY_MEDIA_ID";
+ field public static final String SESSION_EXTRAS_KEY_ACCOUNT_NAME = "androidx.media.MediaSessionCompat.Extras.KEY_ACCOUNT_NAME";
+ field public static final String SESSION_EXTRAS_KEY_ACCOUNT_TYPE = "androidx.media.MediaSessionCompat.Extras.KEY_ACCOUNT_TYPE";
+ field public static final String SESSION_EXTRAS_KEY_SLOT_RESERVATION_SKIP_TO_NEXT = "android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_NEXT";
+ field public static final String SESSION_EXTRAS_KEY_SLOT_RESERVATION_SKIP_TO_PREV = "android.media.playback.ALWAYS_RESERVE_SPACE_FOR.ACTION_SKIP_TO_PREVIOUS";
+ field public static final String TRANSPORT_CONTROLS_EXTRAS_KEY_LEGACY_STREAM_TYPE = "android.media.session.extra.LEGACY_STREAM_TYPE";
+ field public static final String TRANSPORT_CONTROLS_EXTRAS_KEY_SHUFFLE = "androidx.media.MediaControllerCompat.TransportControls.extras.KEY_SHUFFLE";
+ }
+
+}
+
diff --git a/media2/media2-session/version-compat-tests/previous/client/src/androidTest/java/androidx/media2/test/client/tests/MediaControllerCompatCallbackWithMediaSessionTest.java b/media2/media2-session/version-compat-tests/previous/client/src/androidTest/java/androidx/media2/test/client/tests/MediaControllerCompatCallbackWithMediaSessionTest.java
index 4523e27..0e4f24d 100644
--- a/media2/media2-session/version-compat-tests/previous/client/src/androidTest/java/androidx/media2/test/client/tests/MediaControllerCompatCallbackWithMediaSessionTest.java
+++ b/media2/media2-session/version-compat-tests/previous/client/src/androidTest/java/androidx/media2/test/client/tests/MediaControllerCompatCallbackWithMediaSessionTest.java
@@ -41,6 +41,7 @@
import androidx.media2.test.client.RemoteMediaSession;
import androidx.media2.test.common.TestUtils;
import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.filters.FlakyTest;
import androidx.test.filters.LargeTest;
import org.junit.After;
@@ -407,6 +408,7 @@
assertEquals(testSeekPosition, controllerCallback.mPlaybackState.getPosition());
}
+ @FlakyTest(bugId = 187338985)
@Test
public void currentMediaItemChange() throws Exception {
prepareLooper();
diff --git a/media2/media2-widget/src/androidTest/java/androidx/media2/widget/VideoView_WithPlayerTest.java b/media2/media2-widget/src/androidTest/java/androidx/media2/widget/VideoView_WithPlayerTest.java
index 5fae061..24c46b4 100644
--- a/media2/media2-widget/src/androidTest/java/androidx/media2/widget/VideoView_WithPlayerTest.java
+++ b/media2/media2-widget/src/androidTest/java/androidx/media2/widget/VideoView_WithPlayerTest.java
@@ -389,8 +389,8 @@
}
private void checkVideoRendering(boolean expectRendering) throws InterruptedException {
- if (Build.DEVICE.equals("sailfish") && Build.VERSION.SDK_INT == 28) {
- // See b/137321781
+ if (Build.VERSION.SDK_INT == 28) {
+ // TODO: This if-block for API 28 should be removed. (b/137321781)
return;
}
if (Build.DEVICE.startsWith("generic_") && Build.VERSION.SDK_INT == 26) {
diff --git a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorDestinationBuilderTest.kt b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorDestinationBuilderTest.kt
index 616174b..233e23e 100644
--- a/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorDestinationBuilderTest.kt
+++ b/navigation/navigation-fragment/src/androidTest/java/androidx/navigation/fragment/FragmentNavigatorDestinationBuilderTest.kt
@@ -23,8 +23,7 @@
import androidx.test.annotation.UiThreadTest
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
+import com.google.common.truth.Truth.assertWithMessage
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@@ -47,15 +46,12 @@
val graph = navHostFragment.createGraph(startDestination = DESTINATION_ID) {
fragment<BuilderTestFragment>(DESTINATION_ID)
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ID in graph
- )
- assertEquals(
- "Fragment class should be set to BuilderTestFragment",
- BuilderTestFragment::class.java.name,
- (graph[DESTINATION_ID] as FragmentNavigator.Destination).className
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ID in graph)
+ .isTrue()
+ assertWithMessage("Fragment class should be set to BuilderTestFragment")
+ .that((graph[DESTINATION_ID] as FragmentNavigator.Destination).className)
+ .isEqualTo(BuilderTestFragment::class.java.name)
}
@Suppress("DEPRECATION")
@@ -70,19 +66,15 @@
label = LABEL
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ID in graph
- )
- assertEquals(
- "Fragment class should be set to BuilderTestFragment",
- BuilderTestFragment::class.java.name,
- (graph[DESTINATION_ID] as FragmentNavigator.Destination).className
- )
- assertEquals(
- "Fragment should have label set",
- LABEL, graph[DESTINATION_ID].label
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ID in graph)
+ .isTrue()
+ assertWithMessage("Fragment class should be set to BuilderTestFragment")
+ .that((graph[DESTINATION_ID] as FragmentNavigator.Destination).className)
+ .isEqualTo(BuilderTestFragment::class.java.name)
+ assertWithMessage("Fragment should have label set")
+ .that(graph[DESTINATION_ID].label)
+ .isEqualTo(LABEL)
}
@UiThreadTest
@@ -94,15 +86,12 @@
val graph = navHostFragment.createGraph(startDestination = DESTINATION_ROUTE) {
fragment<BuilderTestFragment>(DESTINATION_ROUTE)
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ROUTE in graph
- )
- assertEquals(
- "Fragment class should be set to BuilderTestFragment",
- BuilderTestFragment::class.java.name,
- (graph[DESTINATION_ROUTE] as FragmentNavigator.Destination).className
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ROUTE in graph)
+ .isTrue()
+ assertWithMessage("Fragment class should be set to BuilderTestFragment")
+ .that((graph[DESTINATION_ROUTE] as FragmentNavigator.Destination).className)
+ .isEqualTo(BuilderTestFragment::class.java.name)
}
@UiThreadTest
@@ -116,19 +105,15 @@
label = LABEL
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ROUTE in graph
- )
- assertEquals(
- "Fragment class should be set to BuilderTestFragment",
- BuilderTestFragment::class.java.name,
- (graph[DESTINATION_ROUTE] as FragmentNavigator.Destination).className
- )
- assertEquals(
- "Fragment should have label set",
- LABEL, graph[DESTINATION_ROUTE].label
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ROUTE in graph)
+ .isTrue()
+ assertWithMessage("Fragment class should be set to BuilderTestFragment")
+ .that((graph[DESTINATION_ROUTE] as FragmentNavigator.Destination).className)
+ .isEqualTo(BuilderTestFragment::class.java.name)
+ assertWithMessage("Fragment should have label set")
+ .that(graph[DESTINATION_ROUTE].label)
+ .isEqualTo(LABEL)
}
}
diff --git a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorDestinationBuilderTest.kt b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorDestinationBuilderTest.kt
index 6e1ae7a..d74eef3 100644
--- a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorDestinationBuilderTest.kt
+++ b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorDestinationBuilderTest.kt
@@ -21,8 +21,6 @@
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertTrue
import org.junit.Test
import org.junit.runner.RunWith
@@ -40,15 +38,12 @@
label = LABEL
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ID in graph
- )
- assertEquals(
- "Destination should have label set",
- LABEL,
- graph[DESTINATION_ID].label
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ID in graph)
+ .isTrue()
+ assertWithMessage("Destination should have label set")
+ .that(graph[DESTINATION_ID].label)
+ .isEqualTo(LABEL)
}
@Suppress("DEPRECATION")
@@ -75,15 +70,12 @@
activityClass = TestActivity::class
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ID in graph
- )
- assertEquals(
- "Destination should have ComponentName set",
- TestActivity::class.java.name,
- (graph[DESTINATION_ID] as ActivityNavigator.Destination).component?.className
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ID in graph)
+ .isTrue()
+ assertWithMessage("Destination should have ComponentName set")
+ .that((graph[DESTINATION_ID] as ActivityNavigator.Destination).component?.className)
+ .isEqualTo(TestActivity::class.java.name)
}
@Suppress("DEPRECATION")
@@ -94,15 +86,12 @@
action = ACTION
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ID in graph
- )
- assertEquals(
- "Destination should have action set",
- ACTION,
- (graph[DESTINATION_ID] as ActivityNavigator.Destination).action
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ID in graph)
+ .isTrue()
+ assertWithMessage("Destination should have action set")
+ .that((graph[DESTINATION_ID] as ActivityNavigator.Destination).action)
+ .isEqualTo(ACTION)
}
@Suppress("DEPRECATION")
@@ -113,15 +102,12 @@
data = DATA
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ID in graph
- )
- assertEquals(
- "Destination should have data set",
- DATA,
- (graph[DESTINATION_ID] as ActivityNavigator.Destination).data
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ID in graph)
+ .isTrue()
+ assertWithMessage("Destination should have data set")
+ .that((graph[DESTINATION_ID] as ActivityNavigator.Destination).data)
+ .isEqualTo(DATA)
}
@Suppress("DEPRECATION")
@@ -132,15 +118,12 @@
dataPattern = DATA_PATTERN
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ID in graph
- )
- assertEquals(
- "Destination should have data pattern set",
- DATA_PATTERN,
- (graph[DESTINATION_ID] as ActivityNavigator.Destination).dataPattern
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ID in graph)
+ .isTrue()
+ assertWithMessage("Destination should have data pattern set")
+ .that((graph[DESTINATION_ID] as ActivityNavigator.Destination).dataPattern)
+ .isEqualTo(DATA_PATTERN)
}
@Test
@@ -150,15 +133,12 @@
label = LABEL
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ROUTE in graph
- )
- assertEquals(
- "Destination should have label set",
- LABEL,
- graph[DESTINATION_ROUTE].label
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ROUTE in graph)
+ .isTrue()
+ assertWithMessage("Destination should have label set")
+ .that(graph[DESTINATION_ROUTE].label)
+ .isEqualTo(LABEL)
}
@Test
@@ -183,15 +163,12 @@
activityClass = TestActivity::class
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ROUTE in graph
- )
- assertEquals(
- "Destination should have ComponentName set",
- TestActivity::class.java.name,
- (graph[DESTINATION_ROUTE] as ActivityNavigator.Destination).component?.className
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ROUTE in graph)
+ .isTrue()
+ assertWithMessage("Destination should have ComponentName set")
+ .that((graph[DESTINATION_ROUTE] as ActivityNavigator.Destination).component?.className)
+ .isEqualTo(TestActivity::class.java.name)
}
@Test
@@ -201,15 +178,12 @@
action = ACTION
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ROUTE in graph
- )
- assertEquals(
- "Destination should have action set",
- ACTION,
- (graph[DESTINATION_ROUTE] as ActivityNavigator.Destination).action
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ROUTE in graph)
+ .isTrue()
+ assertWithMessage("Destination should have action set")
+ .that((graph[DESTINATION_ROUTE] as ActivityNavigator.Destination).action)
+ .isEqualTo(ACTION)
}
@Test
@@ -219,15 +193,12 @@
data = DATA
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ROUTE in graph
- )
- assertEquals(
- "Destination should have data set",
- DATA,
- (graph[DESTINATION_ROUTE] as ActivityNavigator.Destination).data
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ROUTE in graph)
+ .isTrue()
+ assertWithMessage("Destination should have data set")
+ .that((graph[DESTINATION_ROUTE] as ActivityNavigator.Destination).data)
+ .isEqualTo(DATA)
}
@Test
@@ -237,15 +208,12 @@
dataPattern = DATA_PATTERN
}
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ROUTE in graph
- )
- assertEquals(
- "Destination should have data pattern set",
- DATA_PATTERN,
- (graph[DESTINATION_ROUTE] as ActivityNavigator.Destination).dataPattern
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ROUTE in graph)
+ .isTrue()
+ assertWithMessage("Destination should have data pattern set")
+ .that((graph[DESTINATION_ROUTE] as ActivityNavigator.Destination).dataPattern)
+ .isEqualTo(DATA_PATTERN)
}
}
diff --git a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorTest.kt b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorTest.kt
index e83f65c..c1e144d 100644
--- a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorTest.kt
+++ b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/ActivityNavigatorTest.kt
@@ -30,10 +30,8 @@
import androidx.test.filters.LargeTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import com.google.common.truth.Truth.assertWithMessage
import org.junit.After
-import org.junit.Assert.assertEquals
-import org.junit.Assert.assertNotNull
-import org.junit.Assert.assertTrue
import org.junit.Assert.fail
import org.junit.Before
import org.junit.Rule
@@ -97,11 +95,10 @@
val targetActivity = waitForActivity()
val intent = targetActivity.intent
- assertNotNull(intent)
- assertEquals(
- "Intent should not include FLAG_ACTIVITY_NEW_TASK",
- 0, intent.flags and Intent.FLAG_ACTIVITY_NEW_TASK
- )
+ assertThat(intent).isNotNull()
+ assertWithMessage("Intent should not include FLAG_ACTIVITY_NEW_TASK")
+ .that(intent.flags and Intent.FLAG_ACTIVITY_NEW_TASK)
+ .isEqualTo(0)
}
@Test
@@ -117,11 +114,10 @@
val targetActivity = waitForActivity()
val intent = targetActivity.intent
- assertNotNull(intent)
- assertEquals(
- "Intent should include FLAG_ACTIVITY_NEW_TASK",
- Intent.FLAG_ACTIVITY_NEW_TASK, intent.flags and Intent.FLAG_ACTIVITY_NEW_TASK
- )
+ assertThat(intent).isNotNull()
+ assertWithMessage("Intent should not include FLAG_ACTIVITY_NEW_TASK")
+ .that(intent.flags and Intent.FLAG_ACTIVITY_NEW_TASK)
+ .isEqualTo(Intent.FLAG_ACTIVITY_NEW_TASK)
}
@Test
@@ -140,11 +136,10 @@
val targetActivity = waitForActivity()
val intent = targetActivity.intent
- assertNotNull(intent)
- assertEquals(
- "Intent should include FLAG_ACTIVITY_SINGLE_TOP",
- Intent.FLAG_ACTIVITY_SINGLE_TOP, intent.flags and Intent.FLAG_ACTIVITY_SINGLE_TOP
- )
+ assertThat(intent).isNotNull()
+ assertWithMessage("Intent should include FLAG_ACTIVITY_SINGLE_TOP")
+ .that(intent.flags and Intent.FLAG_ACTIVITY_SINGLE_TOP)
+ .isEqualTo(Intent.FLAG_ACTIVITY_SINGLE_TOP)
}
@Test
@@ -161,11 +156,10 @@
val targetActivity = waitForActivity()
val intent = targetActivity.intent
- assertNotNull(intent)
- assertEquals(
- "Intent should have its arguments in its extras",
- TARGET_ARGUMENT_VALUE, intent.getStringExtra(TARGET_ARGUMENT_NAME)
- )
+ assertThat(intent).isNotNull()
+ assertWithMessage("Intent should have its arguments in its extras")
+ .that(intent.getStringExtra(TARGET_ARGUMENT_NAME))
+ .isEqualTo(TARGET_ARGUMENT_VALUE)
}
@Test
@@ -179,11 +173,10 @@
val targetActivity = waitForActivity()
val intent = targetActivity.intent
- assertNotNull(intent)
- assertEquals(
- "Intent should have action set",
- TARGET_ACTION, intent.action
- )
+ assertThat(intent).isNotNull()
+ assertWithMessage("Intent should have action set")
+ .that(intent.action)
+ .isEqualTo(TARGET_ACTION)
}
@Test
@@ -197,11 +190,10 @@
val targetActivity = waitForActivity()
val intent = targetActivity.intent
- assertNotNull(intent)
- assertEquals(
- "Intent should have data set",
- TARGET_DATA, intent.data
- )
+ assertThat(intent).isNotNull()
+ assertWithMessage("Intent should have data set")
+ .that(intent.data)
+ .isEqualTo(TARGET_DATA)
}
@Test
@@ -218,16 +210,18 @@
val targetActivity = waitForActivity()
val intent = targetActivity.intent
- assertNotNull(intent)
- assertEquals(
- "Intent should have data set with argument filled in",
- TARGET_DATA_PATTERN.replace("{$TARGET_ARGUMENT_NAME}", TARGET_ARGUMENT_VALUE),
- intent.data?.toString()
- )
- assertEquals(
- "Intent should have its arguments in its extras",
- TARGET_ARGUMENT_VALUE, intent.getStringExtra(TARGET_ARGUMENT_NAME)
- )
+ assertThat(intent).isNotNull()
+ assertWithMessage("Intent should have data set with argument filled in")
+ .that(intent.data?.toString())
+ .isEqualTo(
+ TARGET_DATA_PATTERN.replace(
+ "{$TARGET_ARGUMENT_NAME}",
+ TARGET_ARGUMENT_VALUE
+ )
+ )
+ assertWithMessage("Intent should have its arguments in its extras")
+ .that(intent.getStringExtra(TARGET_ARGUMENT_NAME))
+ .isEqualTo(TARGET_ARGUMENT_VALUE)
}
@Test
@@ -244,19 +238,18 @@
val targetActivity = waitForActivity()
val intent = targetActivity.intent
- assertNotNull(intent)
- assertEquals(
- "Intent should have data set with argument filled in",
- TARGET_DATA_PATTERN.replace(
- "{$TARGET_ARGUMENT_NAME}",
- TARGET_ARGUMENT_INT_VALUE.toString()
- ),
- intent.data?.toString()
- )
- assertEquals(
- "Intent should have its arguments in its extras",
- TARGET_ARGUMENT_INT_VALUE, intent.getIntExtra(TARGET_ARGUMENT_NAME, -1)
- )
+ assertThat(intent).isNotNull()
+ assertWithMessage("Intent should have data set with argument filled in")
+ .that(intent.data?.toString())
+ .isEqualTo(
+ TARGET_DATA_PATTERN.replace(
+ "{$TARGET_ARGUMENT_NAME}",
+ TARGET_ARGUMENT_INT_VALUE.toString()
+ )
+ )
+ assertWithMessage("Intent should have its arguments in its extras")
+ .that(intent.getIntExtra(TARGET_ARGUMENT_NAME, -1))
+ .isEqualTo(TARGET_ARGUMENT_INT_VALUE)
}
@Test
@@ -349,7 +342,9 @@
activityRule.runOnUiThread {
targetActivity.addAll(TargetActivity.instances)
}
- assertTrue("Only expected a single TargetActivity", targetActivity.size == 1)
+ assertWithMessage("Only expected a single TargetActivity")
+ .that(targetActivity.size == 1)
+ .isTrue()
return targetActivity[0]
}
}
diff --git a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt
index 0b21a08..5a6b530 100644
--- a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt
+++ b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavDeepLinkBuilderTest.kt
@@ -26,7 +26,6 @@
import androidx.testutils.TestNavigator
import androidx.testutils.test
import com.google.common.truth.Truth.assertWithMessage
-import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
@@ -66,7 +65,7 @@
deepLinkBuilder.setGraph(R.navigation.nav_simple)
deepLinkBuilder.setDestination(R.id.second_test)
val taskStackBuilder = deepLinkBuilder.createTaskStackBuilder()
- assertEquals("Expected one Intent", 1, taskStackBuilder.intentCount)
+ assertWithMessage("Expected one Intent").that(taskStackBuilder.intentCount).isEqualTo(1)
}
@Test
@@ -76,7 +75,7 @@
deepLinkBuilder.setGraph(nav_simple_route_graph)
deepLinkBuilder.setDestination("second_test")
val taskStackBuilder = deepLinkBuilder.createTaskStackBuilder()
- assertEquals("Expected one Intent", 1, taskStackBuilder.intentCount)
+ assertWithMessage("Expected one Intent").that(taskStackBuilder.intentCount).isEqualTo(1)
}
@Test
@@ -92,7 +91,7 @@
deepLinkBuilder.setGraph(navGraph)
deepLinkBuilder.setDestination(R.id.second_test)
val taskStackBuilder = deepLinkBuilder.createTaskStackBuilder()
- assertEquals("Expected one Intent", 1, taskStackBuilder.intentCount)
+ assertWithMessage("Expected one Intent").that(taskStackBuilder.intentCount).isEqualTo(1)
}
@Test
@@ -102,7 +101,7 @@
deepLinkBuilder.setGraph(nav_simple_route_graph)
deepLinkBuilder.setDestination("second_test")
val taskStackBuilder = deepLinkBuilder.createTaskStackBuilder()
- assertEquals("Expected one Intent", 1, taskStackBuilder.intentCount)
+ assertWithMessage("Expected one Intent").that(taskStackBuilder.intentCount).isEqualTo(1)
}
@Suppress("DEPRECATION")
@@ -120,7 +119,7 @@
deepLinkBuilder.setGraph(navGraph)
deepLinkBuilder.setDestination(1)
val taskStackBuilder = deepLinkBuilder.createTaskStackBuilder()
- assertEquals("Expected one Intent", 1, taskStackBuilder.intentCount)
+ assertWithMessage("Expected one Intent").that(taskStackBuilder.intentCount).isEqualTo(1)
}
@Test
@@ -139,7 +138,7 @@
deepLinkBuilder.setGraph(navGraph)
deepLinkBuilder.setDestination("test")
val taskStackBuilder = deepLinkBuilder.createTaskStackBuilder()
- assertEquals("Expected one Intent", 1, taskStackBuilder.intentCount)
+ assertWithMessage("Expected one Intent").that(taskStackBuilder.intentCount).isEqualTo(1)
}
@UiThreadTest
@@ -153,7 +152,7 @@
deepLinkBuilder.setDestination(R.id.second_test)
val taskStackBuilder = deepLinkBuilder.createTaskStackBuilder()
- assertEquals("Expected one Intent", 1, taskStackBuilder.intentCount)
+ assertWithMessage("Expected one Intent").that(taskStackBuilder.intentCount).isEqualTo(1)
}
@UiThreadTest
@@ -167,7 +166,7 @@
deepLinkBuilder.setDestination("second_test")
val taskStackBuilder = deepLinkBuilder.createTaskStackBuilder()
- assertEquals("Expected one Intent", 1, taskStackBuilder.intentCount)
+ assertWithMessage("Expected one Intent").that(taskStackBuilder.intentCount).isEqualTo(1)
}
@Test
diff --git a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavHostTest.kt b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavHostTest.kt
index 5ef8394..4095965 100644
--- a/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavHostTest.kt
+++ b/navigation/navigation-runtime/src/androidTest/java/androidx/navigation/NavHostTest.kt
@@ -21,7 +21,7 @@
import androidx.test.filters.SmallTest
import androidx.testutils.TestNavigator
import androidx.testutils.test
-import org.junit.Assert.assertTrue
+import com.google.common.truth.Truth.assertWithMessage
import org.junit.Test
@SmallTest
@@ -41,10 +41,9 @@
val graph = navHost.createGraph(startDestination = DESTINATION_ID) {
test(DESTINATION_ID)
}
- assertTrue(
- "Destination should be added to the graph",
- DESTINATION_ID in graph
- )
+ assertWithMessage("Destination should be added to the graph")
+ .that(DESTINATION_ID in graph)
+ .isTrue()
}
}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/String_ext.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/String_ext.kt
index cd05fb9..01a8d46 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/String_ext.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/ext/String_ext.kt
@@ -21,11 +21,7 @@
fun String.toCamelCase(): String {
val split = this.split("_")
if (split.size == 0) return ""
- if (split.size == 1) return split[0].replaceFirstChar {
- if (it.isLowerCase()) it.titlecase(
- Locale.getDefault()
- ) else it.toString()
- }
+ if (split.size == 1) return split[0].capitalize(Locale.US)
return split.joinToCamelCase()
}
@@ -52,4 +48,10 @@
simpleName to innerNames
}
return Triple(packageName, simpleName, innerNames.toTypedArray())
-}
\ No newline at end of file
+}
+
+fun String.capitalize(locale: Locale): String = if (isNotEmpty() && this[0].isLowerCase()) {
+ substring(0, 1).uppercase(locale) + substring(1)
+} else {
+ this
+}
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt
index 36dc115..67c1e80 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt
@@ -31,6 +31,7 @@
import androidx.navigation.safe.args.generator.ReferenceType
import androidx.navigation.safe.args.generator.StringArrayType
import androidx.navigation.safe.args.generator.StringType
+import androidx.navigation.safe.args.generator.ext.capitalize
import androidx.navigation.safe.args.generator.ext.toCamelCase
import androidx.navigation.safe.args.generator.ext.toCamelCaseAsVar
import androidx.navigation.safe.args.generator.models.Action
@@ -363,11 +364,7 @@
).initializer("new $T()", HASHMAP_CLASSNAME).build()
fun setters(thisClassName: ClassName) = args.map { arg ->
- val capitalizedName = arg.sanitizedName.replaceFirstChar {
- if (it.isLowerCase()) it.titlecase(
- Locale.getDefault()
- ) else it.toString()
- }
+ val capitalizedName = arg.sanitizedName.capitalize(Locale.US)
MethodSpec.methodBuilder("set$capitalizedName").apply {
addAnnotation(androidAnnotations.NONNULL_CLASSNAME)
addAnnotation(suppressAnnotationSpec)
@@ -522,11 +519,7 @@
}.build()
private fun getterFromArgName(sanitizedName: String, suffix: String = ""): String {
- val capitalizedName = sanitizedName.replaceFirstChar {
- if (it.isLowerCase()) it.titlecase(
- Locale.getDefault()
- ) else it.toString()
- }
+ val capitalizedName = sanitizedName.capitalize(Locale.US)
return "get${capitalizedName}$suffix"
}
@@ -614,4 +607,4 @@
internal fun Destination.toClassName(): ClassName {
val destName = name ?: throw IllegalStateException("Destination with actions must have name")
return ClassName.get(destName.packageName(), "${destName.simpleName()}Directions")
-}
\ No newline at end of file
+}
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavArgumentResolverTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavArgumentResolverTest.kt
index 0d1d1bf..915faaf 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavArgumentResolverTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavArgumentResolverTest.kt
@@ -20,6 +20,7 @@
import androidx.navigation.safe.args.generator.models.Argument
import androidx.navigation.safe.args.generator.models.Destination
import androidx.navigation.safe.args.generator.models.ResReference
+import androidx.navigation.safe.args.generator.ext.capitalize
import com.squareup.javapoet.ClassName
import org.hamcrest.CoreMatchers.`is`
import org.hamcrest.MatcherAssert.assertThat
@@ -35,12 +36,7 @@
private fun id(id: String) = ResReference("a.b", "id", id)
private fun createTemplateDestination(name: String): Destination {
- val capitalizedName = name.replaceFirstChar {
- if (it.isLowerCase())
- it.titlecase(Locale.getDefault())
- else
- it.toString()
- }
+ val capitalizedName = name.capitalize(Locale.US)
return Destination(
id(name), ClassName.get("foo", "Fragment$capitalizedName"), "test",
listOf(
diff --git a/navigation/settings.gradle b/navigation/settings.gradle
index ec9b1d1..229f5fdc 100644
--- a/navigation/settings.gradle
+++ b/navigation/settings.gradle
@@ -27,10 +27,7 @@
if (name == ":internal-testutils-navigation") return true
if (name == ":internal-testutils-runtime") return true
if (name == ":internal-testutils-truth") return true
- if (name == ":compose:lint:common") return true
- if (name == ":compose:test-utils") return true
- if (name == ":compose:lint:internal-lint-checks") return true
- if (name == ":test-screenshot") return true
+ if (isNeededForComposePlayground(name)) return true
return false
})
diff --git a/paging/settings.gradle b/paging/settings.gradle
index 9e64c3a..1e3f6de 100644
--- a/paging/settings.gradle
+++ b/paging/settings.gradle
@@ -24,10 +24,7 @@
if (name == ":internal-testutils-ktx") return true
if (name == ":internal-testutils-paging") return true
if (name == ":compose:integration-tests:demos:common") return true
- if (name == ":compose:lint:common") return true
- if (name == ":compose:lint:internal-lint-checks") return true
- if (name == ":compose:test-utils") return true
- if (name == ":test-screenshot") return true
+ if (isNeededForComposePlayground(name)) return true
return false
})
diff --git a/playground-common/playground-include-settings.gradle b/playground-common/playground-include-settings.gradle
index 62f2acb..4d5aedd 100644
--- a/playground-common/playground-include-settings.gradle
+++ b/playground-common/playground-include-settings.gradle
@@ -106,9 +106,22 @@
}
}
+/**
+ * Checks if a project is necessary for playground projects that involve compose.
+ */
+def isNeededForComposePlayground(name) {
+ if (name == ":compose:lint:common") return true
+ if (name == ":compose:lint:internal-lint-checks") return true
+ if (name == ":compose:test-utils") return true
+ if (name == ":compose:lint:common-test") return true
+ if (name == ":test-screenshot") return true
+ return false
+}
+
// define functions that can be called by the main settings.gradle file
ext.includeProject = this.&includeProject
ext.selectProjectsFromAndroidX = this.&selectProjectsFromAndroidX
+ext.isNeededForComposePlayground = this.&isNeededForComposePlayground
ext.setupPlayground = this.&setupPlayground
// validate JVM version to print an understandable error if it is not set to the
diff --git a/playground-common/playground.properties b/playground-common/playground.properties
index 76f0b30..dac9b6d 100644
--- a/playground-common/playground.properties
+++ b/playground-common/playground.properties
@@ -26,7 +26,7 @@
kotlin.code.style=official
# Disable docs
androidx.enableDocumentation=false
-androidx.playground.snapshotBuildId=7440113
+androidx.playground.snapshotBuildId=7456910
androidx.playground.metalavaBuildId=7255182
androidx.playground.dokkaBuildId=7299536
androidx.studio.type=playground
diff --git a/preference/preference/res/values-or/strings.xml b/preference/preference/res/values-or/strings.xml
index d3bcbc8..fc0b5e7 100644
--- a/preference/preference/res/values-or/strings.xml
+++ b/preference/preference/res/values-or/strings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="v7_preference_on" msgid="89551595707643515">"ଅନ୍ ଅଛି"</string>
+ <string name="v7_preference_on" msgid="89551595707643515">"ଚାଲୁ ଅଛି"</string>
<string name="v7_preference_off" msgid="3140233346420563315">"ବନ୍ଦ"</string>
<string name="expand_button_title" msgid="2427401033573778270">"ଅଧିକ ଉନ୍ନତ"</string>
<string name="summary_collapsed_preference_list" msgid="9167775378838880170">"<xliff:g id="CURRENT_ITEMS">%1$s</xliff:g>, <xliff:g id="ADDED_ITEMS">%2$s</xliff:g>"</string>
diff --git a/profileinstaller/profileinstaller/api/1.0.0-beta02.txt b/profileinstaller/profileinstaller/api/1.0.0-beta02.txt
new file mode 100644
index 0000000..80c25f8
--- /dev/null
+++ b/profileinstaller/profileinstaller/api/1.0.0-beta02.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.profileinstaller {
+
+ public class ProfileInstallReceiver extends android.content.BroadcastReceiver {
+ ctor public ProfileInstallReceiver();
+ method public void onReceive(android.content.Context, android.content.Intent?);
+ field public static final String ACTION_INSTALL_PROFILE = "androidx.profileinstaller.action.INSTALL_PROFILE";
+ }
+
+ public class ProfileInstaller {
+ method @WorkerThread public static void writeProfile(android.content.Context);
+ method @WorkerThread public static void writeProfile(android.content.Context, java.util.concurrent.Executor, androidx.profileinstaller.ProfileInstaller.DiagnosticsCallback);
+ field public static final int DIAGNOSTIC_CURRENT_PROFILE_DOES_NOT_EXIST = 2; // 0x2
+ field public static final int DIAGNOSTIC_CURRENT_PROFILE_EXISTS = 1; // 0x1
+ field public static final int DIAGNOSTIC_REF_PROFILE_DOES_NOT_EXIST = 4; // 0x4
+ field public static final int DIAGNOSTIC_REF_PROFILE_EXISTS = 3; // 0x3
+ field public static final int RESULT_ALREADY_INSTALLED = 2; // 0x2
+ field public static final int RESULT_BASELINE_PROFILE_NOT_FOUND = 6; // 0x6
+ field public static final int RESULT_DESIRED_FORMAT_UNSUPPORTED = 5; // 0x5
+ field public static final int RESULT_INSTALL_SUCCESS = 1; // 0x1
+ field public static final int RESULT_IO_EXCEPTION = 7; // 0x7
+ field public static final int RESULT_NOT_WRITABLE = 4; // 0x4
+ field public static final int RESULT_PARSE_EXCEPTION = 8; // 0x8
+ field public static final int RESULT_UNSUPPORTED_ART_VERSION = 3; // 0x3
+ }
+
+ public static interface ProfileInstaller.DiagnosticsCallback {
+ method public void onDiagnosticReceived(int, Object?);
+ method public void onResultReceived(int, Object?);
+ }
+
+ public class ProfileInstallerInitializer implements androidx.startup.Initializer<androidx.profileinstaller.ProfileInstallerInitializer.Result> {
+ ctor public ProfileInstallerInitializer();
+ method public androidx.profileinstaller.ProfileInstallerInitializer.Result create(android.content.Context);
+ method public java.util.List<java.lang.Class<? extends androidx.startup.Initializer<?>>!> dependencies();
+ }
+
+ public static class ProfileInstallerInitializer.Result {
+ ctor public ProfileInstallerInitializer.Result();
+ }
+
+}
+
diff --git a/profileinstaller/profileinstaller/api/public_plus_experimental_1.0.0-beta02.txt b/profileinstaller/profileinstaller/api/public_plus_experimental_1.0.0-beta02.txt
new file mode 100644
index 0000000..80c25f8
--- /dev/null
+++ b/profileinstaller/profileinstaller/api/public_plus_experimental_1.0.0-beta02.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.profileinstaller {
+
+ public class ProfileInstallReceiver extends android.content.BroadcastReceiver {
+ ctor public ProfileInstallReceiver();
+ method public void onReceive(android.content.Context, android.content.Intent?);
+ field public static final String ACTION_INSTALL_PROFILE = "androidx.profileinstaller.action.INSTALL_PROFILE";
+ }
+
+ public class ProfileInstaller {
+ method @WorkerThread public static void writeProfile(android.content.Context);
+ method @WorkerThread public static void writeProfile(android.content.Context, java.util.concurrent.Executor, androidx.profileinstaller.ProfileInstaller.DiagnosticsCallback);
+ field public static final int DIAGNOSTIC_CURRENT_PROFILE_DOES_NOT_EXIST = 2; // 0x2
+ field public static final int DIAGNOSTIC_CURRENT_PROFILE_EXISTS = 1; // 0x1
+ field public static final int DIAGNOSTIC_REF_PROFILE_DOES_NOT_EXIST = 4; // 0x4
+ field public static final int DIAGNOSTIC_REF_PROFILE_EXISTS = 3; // 0x3
+ field public static final int RESULT_ALREADY_INSTALLED = 2; // 0x2
+ field public static final int RESULT_BASELINE_PROFILE_NOT_FOUND = 6; // 0x6
+ field public static final int RESULT_DESIRED_FORMAT_UNSUPPORTED = 5; // 0x5
+ field public static final int RESULT_INSTALL_SUCCESS = 1; // 0x1
+ field public static final int RESULT_IO_EXCEPTION = 7; // 0x7
+ field public static final int RESULT_NOT_WRITABLE = 4; // 0x4
+ field public static final int RESULT_PARSE_EXCEPTION = 8; // 0x8
+ field public static final int RESULT_UNSUPPORTED_ART_VERSION = 3; // 0x3
+ }
+
+ public static interface ProfileInstaller.DiagnosticsCallback {
+ method public void onDiagnosticReceived(int, Object?);
+ method public void onResultReceived(int, Object?);
+ }
+
+ public class ProfileInstallerInitializer implements androidx.startup.Initializer<androidx.profileinstaller.ProfileInstallerInitializer.Result> {
+ ctor public ProfileInstallerInitializer();
+ method public androidx.profileinstaller.ProfileInstallerInitializer.Result create(android.content.Context);
+ method public java.util.List<java.lang.Class<? extends androidx.startup.Initializer<?>>!> dependencies();
+ }
+
+ public static class ProfileInstallerInitializer.Result {
+ ctor public ProfileInstallerInitializer.Result();
+ }
+
+}
+
diff --git a/profileinstaller/profileinstaller/api/res-1.0.0-beta02.txt b/profileinstaller/profileinstaller/api/res-1.0.0-beta02.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/profileinstaller/profileinstaller/api/res-1.0.0-beta02.txt
diff --git a/profileinstaller/profileinstaller/api/restricted_1.0.0-beta02.txt b/profileinstaller/profileinstaller/api/restricted_1.0.0-beta02.txt
new file mode 100644
index 0000000..80c25f8
--- /dev/null
+++ b/profileinstaller/profileinstaller/api/restricted_1.0.0-beta02.txt
@@ -0,0 +1,43 @@
+// Signature format: 4.0
+package androidx.profileinstaller {
+
+ public class ProfileInstallReceiver extends android.content.BroadcastReceiver {
+ ctor public ProfileInstallReceiver();
+ method public void onReceive(android.content.Context, android.content.Intent?);
+ field public static final String ACTION_INSTALL_PROFILE = "androidx.profileinstaller.action.INSTALL_PROFILE";
+ }
+
+ public class ProfileInstaller {
+ method @WorkerThread public static void writeProfile(android.content.Context);
+ method @WorkerThread public static void writeProfile(android.content.Context, java.util.concurrent.Executor, androidx.profileinstaller.ProfileInstaller.DiagnosticsCallback);
+ field public static final int DIAGNOSTIC_CURRENT_PROFILE_DOES_NOT_EXIST = 2; // 0x2
+ field public static final int DIAGNOSTIC_CURRENT_PROFILE_EXISTS = 1; // 0x1
+ field public static final int DIAGNOSTIC_REF_PROFILE_DOES_NOT_EXIST = 4; // 0x4
+ field public static final int DIAGNOSTIC_REF_PROFILE_EXISTS = 3; // 0x3
+ field public static final int RESULT_ALREADY_INSTALLED = 2; // 0x2
+ field public static final int RESULT_BASELINE_PROFILE_NOT_FOUND = 6; // 0x6
+ field public static final int RESULT_DESIRED_FORMAT_UNSUPPORTED = 5; // 0x5
+ field public static final int RESULT_INSTALL_SUCCESS = 1; // 0x1
+ field public static final int RESULT_IO_EXCEPTION = 7; // 0x7
+ field public static final int RESULT_NOT_WRITABLE = 4; // 0x4
+ field public static final int RESULT_PARSE_EXCEPTION = 8; // 0x8
+ field public static final int RESULT_UNSUPPORTED_ART_VERSION = 3; // 0x3
+ }
+
+ public static interface ProfileInstaller.DiagnosticsCallback {
+ method public void onDiagnosticReceived(int, Object?);
+ method public void onResultReceived(int, Object?);
+ }
+
+ public class ProfileInstallerInitializer implements androidx.startup.Initializer<androidx.profileinstaller.ProfileInstallerInitializer.Result> {
+ ctor public ProfileInstallerInitializer();
+ method public androidx.profileinstaller.ProfileInstallerInitializer.Result create(android.content.Context);
+ method public java.util.List<java.lang.Class<? extends androidx.startup.Initializer<?>>!> dependencies();
+ }
+
+ public static class ProfileInstallerInitializer.Result {
+ ctor public ProfileInstallerInitializer.Result();
+ }
+
+}
+
diff --git a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFiler.kt b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFiler.kt
index 9098435..ae3b1f7 100644
--- a/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFiler.kt
+++ b/room/room-compiler-processing/src/main/java/androidx/room/compiler/processing/ksp/KspFiler.kt
@@ -23,7 +23,7 @@
import com.google.devtools.ksp.symbol.KSFile
import com.squareup.javapoet.JavaFile
import com.squareup.kotlinpoet.FileSpec
-import com.squareup.kotlinpoet.TypeSpec
+import com.squareup.kotlinpoet.OriginatingElementsHolder
import java.io.OutputStream
import javax.lang.model.element.Element
import javax.tools.Diagnostic
@@ -51,7 +51,7 @@
override fun write(fileSpec: FileSpec, mode: XFiler.Mode) {
val originatingFiles = fileSpec.members
- .filterIsInstance<TypeSpec>()
+ .filterIsInstance<OriginatingElementsHolder>()
.flatMap { it.originatingElements }
.map(::originatingFileFor)
diff --git a/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspFilerTest.kt b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspFilerTest.kt
new file mode 100644
index 0000000..e996f2c
--- /dev/null
+++ b/room/room-compiler-processing/src/test/java/androidx/room/compiler/processing/ksp/KspFilerTest.kt
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.room.compiler.processing.ksp
+
+import androidx.room.compiler.processing.XElement
+import androidx.room.compiler.processing.XMessager
+import androidx.room.compiler.processing.addOriginatingElement
+import androidx.room.compiler.processing.util.Source
+import androidx.room.compiler.processing.util.runKspTest
+import com.google.common.truth.Truth.assertThat
+import com.google.devtools.ksp.processing.CodeGenerator
+import com.google.devtools.ksp.processing.Dependencies
+import com.google.devtools.ksp.symbol.KSFile
+import com.squareup.kotlinpoet.FileSpec
+import com.squareup.kotlinpoet.FunSpec
+import com.squareup.kotlinpoet.PropertySpec
+import com.squareup.kotlinpoet.TypeSpec
+import org.junit.Test
+import java.io.File
+import java.io.OutputStream
+import javax.tools.Diagnostic
+
+class KspFilerTest {
+
+ @Test
+ fun originatingFileAddedForTopLevelFunction() {
+ runKspTest(sources = listOf(simpleKotlinClass)) { invocation ->
+ val sourceElement = invocation.processingEnv.requireTypeElement("foo.bar.Baz")
+ val fileWithTopLevelFun = FileSpec.builder("foo", "Bar.kt").apply {
+ addFunction(FunSpec.builder("baz").addOriginatingElement(sourceElement).build())
+ }.build()
+
+ val codeGenerator = DependencyTrackingCodeGenerator()
+ KspFiler(codeGenerator, TestMessager()).write(fileWithTopLevelFun)
+ codeGenerator.fileDependencies[fileWithTopLevelFun.name]
+ .containsExactlySimpleKotlinClass()
+ }
+ }
+
+ @Test
+ fun originatingFileAddedForTopLevelProperty() {
+ runKspTest(sources = listOf(simpleKotlinClass)) { invocation ->
+ val sourceElement = invocation.processingEnv.requireTypeElement("foo.bar.Baz")
+ val fileWithTopLevelProp = FileSpec.builder("foo", "Bar.kt").apply {
+ addProperty(
+ PropertySpec.builder("baz", String::class).apply {
+ initializer("%S", "")
+ addOriginatingElement(sourceElement)
+ }.build()
+ )
+ }.build()
+
+ val codeGenerator = DependencyTrackingCodeGenerator()
+ KspFiler(codeGenerator, TestMessager()).write(fileWithTopLevelProp)
+ codeGenerator.fileDependencies[fileWithTopLevelProp.name]
+ .containsExactlySimpleKotlinClass()
+ }
+ }
+
+ @Test
+ fun originatingFileAddedForTopLevelElement() {
+ runKspTest(sources = listOf(simpleKotlinClass)) { invocation ->
+ val sourceElement = invocation.processingEnv.requireTypeElement("foo.bar.Baz")
+ val fileWithType = FileSpec.builder("foo", "Bar.kt").apply {
+ addType(
+ TypeSpec.classBuilder("Bar").apply {
+ addOriginatingElement(sourceElement)
+ }.build()
+ )
+ }.build()
+
+ val codeGenerator = DependencyTrackingCodeGenerator()
+ KspFiler(codeGenerator, TestMessager()).write(fileWithType)
+ codeGenerator.fileDependencies[fileWithType.name]
+ .containsExactlySimpleKotlinClass()
+ }
+ }
+
+ private fun Dependencies?.containsExactlySimpleKotlinClass() {
+ assertThat(this).isNotNull()
+ val originatingFiles = this!!.originatingFiles.map { it.fileName }
+ assertThat(originatingFiles).containsExactly("Baz.kt")
+ }
+
+ class TestMessager : XMessager() {
+ override fun onPrintMessage(kind: Diagnostic.Kind, msg: String, element: XElement?) {
+ if (kind == Diagnostic.Kind.ERROR) {
+ error("Error element: $element msg: $msg")
+ } else {
+ println("${kind.name} element: $element msg: $msg")
+ }
+ }
+ }
+
+ class DependencyTrackingCodeGenerator : CodeGenerator {
+
+ val fileDependencies = mutableMapOf<String, Dependencies>()
+
+ override val generatedFile: Collection<File>
+ get() = emptyList()
+
+ override fun associate(
+ sources: List<KSFile>,
+ packageName: String,
+ fileName: String,
+ extensionName: String
+ ) {
+ // no-op for the sake of dependency tracking.
+ }
+
+ override fun createNewFile(
+ dependencies: Dependencies,
+ packageName: String,
+ fileName: String,
+ extensionName: String
+ ): OutputStream {
+ fileDependencies[fileName] = dependencies
+ return OutputStream.nullOutputStream()
+ }
+ }
+
+ companion object {
+ val simpleKotlinClass = Source.kotlin(
+ "Baz.kt",
+ """
+ package foo.bar;
+
+ class Baz
+ """.trimIndent()
+ )
+ }
+}
diff --git a/samples/SupportLeanbackDemos/generatev4.py b/samples/SupportLeanbackDemos/generatev4.py
index ac71db1..480946b 100755
--- a/samples/SupportLeanbackDemos/generatev4.py
+++ b/samples/SupportLeanbackDemos/generatev4.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
# Copyright (C) 2015 The Android Open Source Project
#
diff --git a/settings.gradle b/settings.gradle
index 56c3cce4..9be70e4 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -307,6 +307,7 @@
includeProject(":compose:lint", "compose/lint", [BuildType.COMPOSE])
includeProject(":compose:lint:internal-lint-checks", "compose/lint/internal-lint-checks", [BuildType.COMPOSE])
includeProject(":compose:lint:common", "compose/lint/common", [BuildType.COMPOSE])
+includeProject(":compose:lint:common-test", "compose/lint/common-test", [BuildType.COMPOSE])
includeProject(":compose:material", "compose/material", [BuildType.COMPOSE])
includeProject(":compose:material:material", "compose/material/material", [BuildType.COMPOSE])
includeProject(":compose:material:material-benchmark", "compose/material/material/benchmark", [BuildType.COMPOSE])
diff --git a/slices/view/src/main/java/androidx/slice/widget/GridRowView.java b/slices/view/src/main/java/androidx/slice/widget/GridRowView.java
index cec2d94..10215a4 100644
--- a/slices/view/src/main/java/androidx/slice/widget/GridRowView.java
+++ b/slices/view/src/main/java/androidx/slice/widget/GridRowView.java
@@ -760,6 +760,7 @@
getContext(), android.R.attr.selectableItemBackground)
: null);
mViewContainer.setClickable(isClickable);
+ setClickable(isClickable);
}
private void makeClickable(View layout, boolean isClickable) {
diff --git a/slices/view/src/main/res/values-tr/strings.xml b/slices/view/src/main/res/values-tr/strings.xml
index 84da5fb..74de868 100644
--- a/slices/view/src/main/res/values-tr/strings.xml
+++ b/slices/view/src/main/res/values-tr/strings.xml
@@ -18,7 +18,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="abc_slice_more_content" msgid="6405516388971241142">"+ <xliff:g id="NUMBER">%1$d</xliff:g>"</string>
- <string name="abc_slice_more" msgid="1983560225998630901">"Diğer"</string>
+ <string name="abc_slice_more" msgid="1983560225998630901">"Daha fazla"</string>
<string name="abc_slice_show_more" msgid="1567717014004692768">"Daha fazla göster"</string>
<string name="abc_slice_updated" msgid="8155085405396453848">"Güncellenme zamanı: <xliff:g id="TIME">%1$s</xliff:g>"</string>
<plurals name="abc_slice_duration_min" formatted="false" msgid="6996334305156847955">
diff --git a/swiperefreshlayout/swiperefreshlayout/src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java b/swiperefreshlayout/swiperefreshlayout/src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java
index 3632ce3..cadd98d 100644
--- a/swiperefreshlayout/swiperefreshlayout/src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java
+++ b/swiperefreshlayout/swiperefreshlayout/src/main/java/androidx/swiperefreshlayout/widget/SwipeRefreshLayout.java
@@ -1006,7 +1006,10 @@
finishSpinner(mTotalUnconsumed);
mTotalUnconsumed = 0;
} else {
- mProgress.setArrowEnabled(false);
+ // Set the progress back to the initial state so that it is positioned properly,
+ // is GONE and no animations are running. We don't want the shadow from
+ // the progress to show at this point.
+ post(() -> reset());
}
// Dispatch up our nested parent
stopNestedScroll();
diff --git a/viewpager/viewpager/src/androidTest/java/androidx/viewpager/widget/BaseViewPagerTest.java b/viewpager/viewpager/src/androidTest/java/androidx/viewpager/widget/BaseViewPagerTest.java
index fab757d..ad223ff 100644
--- a/viewpager/viewpager/src/androidTest/java/androidx/viewpager/widget/BaseViewPagerTest.java
+++ b/viewpager/viewpager/src/androidTest/java/androidx/viewpager/widget/BaseViewPagerTest.java
@@ -66,6 +66,7 @@
import androidx.test.espresso.ViewAction;
import androidx.test.espresso.action.EspressoKey;
+import androidx.test.filters.FlakyTest;
import androidx.test.filters.LargeTest;
import androidx.test.filters.MediumTest;
import androidx.test.rule.ActivityTestRule;
@@ -1080,6 +1081,7 @@
@Test
@LargeTest
+ @FlakyTest(bugId = 179887413)
public void testKeyboardNavigation() {
ButtonPagerAdapter adapter = new ButtonPagerAdapter();
adapter.add("Red", Color.RED);
diff --git a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonScreenshotTest.kt b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonScreenshotTest.kt
index 397c360..1dfe638 100644
--- a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonScreenshotTest.kt
+++ b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonScreenshotTest.kt
@@ -51,12 +51,10 @@
@get:Rule
val testName = TestName()
- val testTag = "test-item"
-
@Test
fun button_ltr() =
verifyScreenshot(LayoutDirection.Ltr) {
- Button(onClick = {}, modifier = Modifier.testTag(testTag)) {
+ Button(onClick = {}, modifier = Modifier.testTag(TEST_TAG)) {
Text("abc")
}
}
@@ -64,7 +62,7 @@
@Test
fun button_rtl() =
verifyScreenshot(LayoutDirection.Rtl) {
- Button(onClick = {}, modifier = Modifier.testTag(testTag)) {
+ Button(onClick = {}, modifier = Modifier.testTag(TEST_TAG)) {
Text("abc")
}
}
@@ -72,7 +70,7 @@
@Test
fun button_disabled() =
verifyScreenshot {
- Button(onClick = {}, enabled = false, modifier = Modifier.testTag(testTag)) {
+ Button(onClick = {}, enabled = false, modifier = Modifier.testTag(TEST_TAG)) {
Text("abc")
}
}
@@ -80,7 +78,7 @@
@Test
fun compactbutton_ltr() =
verifyScreenshot(LayoutDirection.Ltr) {
- CompactButton(onClick = {}, modifier = Modifier.testTag(testTag)) {
+ CompactButton(onClick = {}, modifier = Modifier.testTag(TEST_TAG)) {
Text("xs")
}
}
@@ -88,7 +86,7 @@
@Test
fun compactbutton_rtl() =
verifyScreenshot(LayoutDirection.Rtl) {
- CompactButton(onClick = {}, modifier = Modifier.testTag(testTag)) {
+ CompactButton(onClick = {}, modifier = Modifier.testTag(TEST_TAG)) {
Text("xs")
}
}
@@ -96,7 +94,7 @@
@Test
fun compactbutton_disabled() =
verifyScreenshot {
- CompactButton(onClick = {}, enabled = false, modifier = Modifier.testTag(testTag)) {
+ CompactButton(onClick = {}, enabled = false, modifier = Modifier.testTag(TEST_TAG)) {
Text("xs")
}
}
@@ -111,7 +109,7 @@
}
}
- rule.onNodeWithTag(testTag)
+ rule.onNodeWithTag(TEST_TAG)
.captureToImage()
.assertAgainstGolden(screenshotRule, testName.methodName)
}
diff --git a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt
index 1161a8f..5d48041 100644
--- a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt
+++ b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ButtonTest.kt
@@ -50,7 +50,6 @@
import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import org.junit.Assert.assertEquals
-import org.junit.Ignore
import org.junit.Rule
import org.junit.Test
@@ -63,13 +62,13 @@
rule.setContentWithTheme {
Button(
onClick = {},
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
CreateImage()
}
}
- rule.onNodeWithTag("test-item").assertExists()
+ rule.onNodeWithTag(TEST_TAG).assertExists()
}
@Test
@@ -77,13 +76,13 @@
rule.setContentWithTheme {
Button(
onClick = {},
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
Text("Test")
}
}
- rule.onNodeWithTag("test-item").assertExists()
+ rule.onNodeWithTag(TEST_TAG).assertExists()
}
@Test
@@ -91,13 +90,13 @@
rule.setContentWithTheme {
CompactButton(
onClick = {},
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
CreateImage()
}
}
- rule.onNodeWithTag("test-item").assertExists()
+ rule.onNodeWithTag(TEST_TAG).assertExists()
}
@Test
@@ -105,13 +104,13 @@
rule.setContentWithTheme {
CompactButton(
onClick = {},
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
Text("Test")
}
}
- rule.onNodeWithTag("test-item").assertExists()
+ rule.onNodeWithTag(TEST_TAG).assertExists()
}
@Test
@@ -120,13 +119,13 @@
Button(
onClick = {},
enabled = true,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
CreateImage()
}
}
- rule.onNodeWithTag("test-item").assertHasClickAction()
+ rule.onNodeWithTag(TEST_TAG).assertHasClickAction()
}
@Test
@@ -135,13 +134,13 @@
Button(
onClick = {},
enabled = true,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
Text("Test")
}
}
- rule.onNodeWithTag("test-item").assertHasClickAction()
+ rule.onNodeWithTag(TEST_TAG).assertHasClickAction()
}
@Test
@@ -150,13 +149,13 @@
Button(
onClick = {},
enabled = false,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
CreateImage()
}
}
- rule.onNodeWithTag("test-item").assertHasClickAction()
+ rule.onNodeWithTag(TEST_TAG).assertHasClickAction()
}
@Test
@@ -165,13 +164,13 @@
Button(
onClick = {},
enabled = false,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
Text("Test")
}
}
- rule.onNodeWithTag("test-item").assertHasClickAction()
+ rule.onNodeWithTag(TEST_TAG).assertHasClickAction()
}
@Test
@@ -180,13 +179,13 @@
Button(
onClick = {},
enabled = true,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
CreateImage()
}
}
- rule.onNodeWithTag("test-item").assertIsEnabled()
+ rule.onNodeWithTag(TEST_TAG).assertIsEnabled()
}
@Test
@@ -195,13 +194,13 @@
Button(
onClick = {},
enabled = false,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
Text("Test")
}
}
- rule.onNodeWithTag("test-item").assertIsNotEnabled()
+ rule.onNodeWithTag(TEST_TAG).assertIsNotEnabled()
}
@Test
@@ -212,13 +211,13 @@
CompactButton(
onClick = { clicked = true },
enabled = true,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
CreateImage()
}
}
- rule.onNodeWithTag("test-item").performClick()
+ rule.onNodeWithTag(TEST_TAG).performClick()
rule.runOnIdle {
assertEquals(true, clicked)
@@ -233,13 +232,13 @@
Button(
onClick = { clicked = true },
enabled = true,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
CreateImage()
}
}
- rule.onNodeWithTag("test-item").performClick()
+ rule.onNodeWithTag(TEST_TAG).performClick()
rule.runOnIdle {
assertEquals(true, clicked)
@@ -254,13 +253,13 @@
CompactButton(
onClick = { clicked = true },
enabled = false,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
Text("Test")
}
}
- rule.onNodeWithTag("test-item").performClick()
+ rule.onNodeWithTag(TEST_TAG).performClick()
rule.runOnIdle {
assertEquals(false, clicked)
@@ -275,13 +274,13 @@
Button(
onClick = { clicked = true },
enabled = false,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
Text("Test")
}
}
- rule.onNodeWithTag("test-item").performClick()
+ rule.onNodeWithTag(TEST_TAG).performClick()
rule.runOnIdle {
assertEquals(false, clicked)
@@ -293,13 +292,13 @@
rule.setContentWithTheme {
CompactButton(
onClick = {},
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
CreateImage()
}
}
- rule.onNodeWithTag("test-item")
+ rule.onNodeWithTag(TEST_TAG)
.assert(
SemanticsMatcher.expectValue(
SemanticsProperties.Role,
@@ -313,13 +312,13 @@
rule.setContentWithTheme {
Button(
onClick = {},
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
Text("Test")
}
}
- rule.onNodeWithTag("test-item")
+ rule.onNodeWithTag(TEST_TAG)
.assert(
SemanticsMatcher.expectValue(
SemanticsProperties.Role,
@@ -388,19 +387,7 @@
fun is_circular_under_ltr_for_button() =
rule.isCircular(LayoutDirection.Ltr) {
Button(
- modifier = Modifier.testTag("test-item"),
- onClick = {},
- ) {
- // omit content to allow us to validate the shape by pixel checking.
- }
- }
-
- @Test
- @Ignore // This test failing under Treehugger, to be replaced with Screenshot test.
- fun is_circular_under_ltr_for_compact_button() =
- rule.isCircular(LayoutDirection.Ltr, padding = 8.dp) {
- CompactButton(
- modifier = Modifier.testTag("test-item"),
+ modifier = Modifier.testTag(TEST_TAG),
onClick = {},
) {
// omit content to allow us to validate the shape by pixel checking.
@@ -411,19 +398,7 @@
fun is_circular_under_rtl_for_button() =
rule.isCircular(LayoutDirection.Rtl) {
Button(
- modifier = Modifier.testTag("test-item"),
- onClick = {},
- ) {
- // omit content to allow us to validate the shape by pixel checking.
- }
- }
-
- @Test
- @Ignore // This test failing under Treehugger, to be replaced with Screenshot test.
- fun is_circular_under_rtl_for_compact_button() =
- rule.isCircular(LayoutDirection.Rtl, padding = 8.dp) {
- CompactButton(
- modifier = Modifier.testTag("test-item"),
+ modifier = Modifier.testTag(TEST_TAG),
onClick = {},
) {
// omit content to allow us to validate the shape by pixel checking.
@@ -603,13 +578,13 @@
onClick = {},
colors = ButtonDefaults.buttonColors(backgroundColor = overrideColor),
enabled = true,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
}
}
}
- rule.onNodeWithTag("test-item")
+ rule.onNodeWithTag(TEST_TAG)
.captureToImage()
.assertContainsColor(overrideColor, 50.0f)
}
@@ -623,13 +598,13 @@
onClick = {},
colors = ButtonDefaults.buttonColors(backgroundColor = overrideColor),
enabled = true,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
}
}
}
- rule.onNodeWithTag("test-item")
+ rule.onNodeWithTag(TEST_TAG)
.captureToImage()
.assertContainsColor(overrideColor, 25.0f)
}
@@ -643,13 +618,13 @@
onClick = {},
colors = ButtonDefaults.buttonColors(disabledBackgroundColor = overrideColor),
enabled = false,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
}
}
}
- rule.onNodeWithTag("test-item")
+ rule.onNodeWithTag(TEST_TAG)
.captureToImage()
.assertContainsColor(overrideColor, 50.0f)
}
@@ -663,13 +638,13 @@
onClick = {},
colors = ButtonDefaults.buttonColors(disabledBackgroundColor = overrideColor),
enabled = false,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
}
}
}
- rule.onNodeWithTag("test-item")
+ rule.onNodeWithTag(TEST_TAG)
.captureToImage()
.assertContainsColor(overrideColor, 25.0f)
}
@@ -683,7 +658,7 @@
onClick = {},
colors = ButtonDefaults.buttonColors(contentColor = overrideColor),
enabled = true,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
actualContentColor = LocalContentColor.current
}
@@ -701,7 +676,7 @@
onClick = {},
colors = ButtonDefaults.buttonColors(contentColor = overrideColor),
enabled = true,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
actualContentColor = LocalContentColor.current
}
@@ -719,7 +694,7 @@
onClick = {},
colors = ButtonDefaults.buttonColors(disabledContentColor = overrideColor),
enabled = false,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
actualContentColor = LocalContentColor.current
}
@@ -737,7 +712,7 @@
onClick = {},
colors = ButtonDefaults.buttonColors(disabledContentColor = overrideColor),
enabled = false,
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
actualContentColor = LocalContentColor.current
}
@@ -762,7 +737,7 @@
onClick = {},
colors = buttonColors(),
enabled = status.enabled(),
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
actualColor = LocalContentColor.current
}
@@ -787,7 +762,7 @@
backgroundPadding = 0.dp,
colors = buttonColors(),
enabled = status.enabled(),
- modifier = Modifier.testTag("test-item")
+ modifier = Modifier.testTag(TEST_TAG)
) {
actualColor = LocalContentColor.current
}
@@ -828,7 +803,7 @@
assertEquals(expectedContent, actualContent)
- rule.onNodeWithTag("test-item")
+ rule.onNodeWithTag(TEST_TAG)
.captureToImage()
.assertContainsColor(
if (expectedBackground != Color.Transparent) expectedBackground else testBackground,
@@ -908,7 +883,7 @@
}
}
- onNodeWithTag("test-item")
+ onNodeWithTag(TEST_TAG)
.captureToImage()
.assertShape(
density = density,
diff --git a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialTest.kt b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialTest.kt
index 5f4fb02..5085bba 100644
--- a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialTest.kt
+++ b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/MaterialTest.kt
@@ -56,6 +56,8 @@
val BigTestMaxWidth = 5000.dp
val BigTestMaxHeight = 5000.dp
+internal const val TEST_TAG = "test-item"
+
fun ComposeContentTestRule.setContentWithTheme(
modifier: Modifier = Modifier,
composable: @Composable () -> Unit
diff --git a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonScreenshotTest.kt b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonScreenshotTest.kt
new file mode 100644
index 0000000..abbb11b
--- /dev/null
+++ b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonScreenshotTest.kt
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package androidx.wear.compose.material
+
+import android.os.Build
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.testutils.assertAgainstGolden
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalLayoutDirection
+import androidx.compose.ui.platform.testTag
+import androidx.compose.ui.test.ExperimentalTestApi
+import androidx.compose.ui.test.captureToImage
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithTag
+import androidx.compose.ui.unit.LayoutDirection
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.MediumTest
+import androidx.test.filters.SdkSuppress
+import androidx.test.screenshot.AndroidXScreenshotTestRule
+import org.junit.Rule
+import org.junit.Test
+import org.junit.rules.TestName
+import org.junit.runner.RunWith
+
+@MediumTest
+@RunWith(AndroidJUnit4::class)
+@SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+@OptIn(ExperimentalTestApi::class)
+class ToggleButtonScreenshotTest {
+
+ @get:Rule
+ val rule = createComposeRule()
+
+ @get:Rule
+ val screenshotRule = AndroidXScreenshotTestRule(SCREENSHOT_GOLDEN_PATH)
+
+ @get:Rule
+ val testName = TestName()
+
+ @Test
+ fun togglebutton_ltr() =
+ verifyScreenshot(LayoutDirection.Ltr) {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ modifier = Modifier.testTag(TEST_TAG)
+ ) {
+ Text("On")
+ }
+ }
+
+ @Test
+ fun togglebutton_rtl() =
+ verifyScreenshot(LayoutDirection.Rtl) {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ modifier = Modifier.testTag(TEST_TAG)
+ ) {
+ Text("On")
+ }
+ }
+
+ @Test
+ fun togglebutton_disabled() =
+ verifyScreenshot {
+ ToggleButton(
+ checked = false,
+ onCheckedChange = {},
+ enabled = false,
+ modifier = Modifier.testTag(TEST_TAG)
+ ) {
+ Text("Off")
+ }
+ }
+
+ private fun verifyScreenshot(
+ layoutDirection: LayoutDirection = LayoutDirection.Ltr,
+ content: @Composable () -> Unit
+ ) {
+ rule.setContentWithTheme {
+ CompositionLocalProvider(LocalLayoutDirection provides layoutDirection) {
+ content()
+ }
+ }
+
+ rule.onNodeWithTag(TEST_TAG)
+ .captureToImage()
+ .assertAgainstGolden(screenshotRule, testName.methodName)
+ }
+}
diff --git a/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonTest.kt b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonTest.kt
new file mode 100644
index 0000000..6504e64
--- /dev/null
+++ b/wear/compose/material/src/androidAndroidTest/kotlin/androidx/wear/compose/material/ToggleButtonTest.kt
@@ -0,0 +1,645 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package androidx.wear.compose.material
+
+import androidx.compose.foundation.background
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.shape.CircleShape
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.testutils.assertShape
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.platform.LocalLayoutDirection
+import androidx.compose.ui.platform.testTag
+import androidx.compose.ui.semantics.Role
+import androidx.compose.ui.semantics.SemanticsProperties
+import androidx.compose.ui.test.SemanticsMatcher
+import androidx.compose.ui.test.assert
+import androidx.compose.ui.test.assertHasClickAction
+import androidx.compose.ui.test.assertHeightIsEqualTo
+import androidx.compose.ui.test.assertIsEnabled
+import androidx.compose.ui.test.assertIsNotEnabled
+import androidx.compose.ui.test.assertIsOff
+import androidx.compose.ui.test.assertIsOn
+import androidx.compose.ui.test.assertWidthIsEqualTo
+import androidx.compose.ui.test.captureToImage
+import androidx.compose.ui.test.isToggleable
+import androidx.compose.ui.test.junit4.ComposeContentTestRule
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithTag
+import androidx.compose.ui.test.onNodeWithText
+import androidx.compose.ui.test.performClick
+import androidx.compose.ui.unit.Dp
+import androidx.compose.ui.unit.LayoutDirection
+import androidx.compose.ui.unit.dp
+import org.junit.Assert.assertEquals
+import org.junit.Rule
+import org.junit.Test
+
+class ToggleButtonBehaviourTest {
+ @get:Rule
+ val rule = createComposeRule()
+
+ @Test
+ fun supports_testtag() {
+ rule.setContentWithTheme {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ content = { CreateImage() },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule.onNodeWithTag(TEST_TAG).assertExists()
+ }
+
+ @Test
+ fun has_clickaction_when_enabled() {
+ rule.setContentWithTheme {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ enabled = true,
+ content = { CreateImage() },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule.onNodeWithTag(TEST_TAG).assertHasClickAction()
+ }
+
+ @Test
+ fun has_clickaction_when_disabled() {
+ rule.setContentWithTheme {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ enabled = false,
+ content = { CreateImage() },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule.onNodeWithTag(TEST_TAG).assertHasClickAction()
+ }
+
+ @Test
+ fun is_toggleable() {
+ rule.setContentWithTheme {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ content = { CreateImage() },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule.onNode(isToggleable()).assertExists()
+ }
+
+ @Test
+ fun is_correctly_enabled_when_enabled_equals_true() {
+ rule.setContentWithTheme {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ content = { CreateImage() },
+ enabled = true,
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule.onNodeWithTag(TEST_TAG).assertIsEnabled()
+ }
+
+ @Test
+ fun is_correctly_disabled_when_enabled_equals_false() {
+ rule.setContentWithTheme {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ content = { CreateImage() },
+ enabled = false,
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule.onNodeWithTag(TEST_TAG).assertIsNotEnabled()
+ }
+
+ @Test
+ fun is_on_when_checked() {
+ rule.setContentWithTheme {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ content = { CreateImage() },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule.onNodeWithTag(TEST_TAG).assertIsOn()
+ }
+
+ @Test
+ fun is_off_when_unchecked() {
+ rule.setContentWithTheme {
+ ToggleButton(
+ checked = false,
+ onCheckedChange = {},
+ content = { CreateImage() },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule.onNodeWithTag(TEST_TAG).assertIsOff()
+ }
+
+ @Test
+ fun responds_to_toggle_on() {
+ rule.setContentWithTheme {
+ val (checked, onCheckedChange) = remember { mutableStateOf(false) }
+ ToggleButton(
+ content = { CreateImage() },
+ checked = checked,
+ onCheckedChange = onCheckedChange,
+ enabled = true,
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule
+ .onNodeWithTag(TEST_TAG)
+ .assertIsOff()
+ .performClick()
+ .assertIsOn()
+ }
+
+ @Test
+ fun responds_to_toggle_off() {
+ rule.setContentWithTheme {
+ val (checked, onCheckedChange) = remember { mutableStateOf(true) }
+ ToggleButton(
+ content = { CreateImage() },
+ checked = checked,
+ onCheckedChange = onCheckedChange,
+ enabled = true,
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule
+ .onNodeWithTag(TEST_TAG)
+ .assertIsOn()
+ .performClick()
+ .assertIsOff()
+ }
+
+ @Test
+ fun does_not_toggle_when_disabled() {
+ rule.setContentWithTheme {
+ val (checked, onCheckedChange) = remember { mutableStateOf(false) }
+ ToggleButton(
+ content = { CreateImage() },
+ checked = checked,
+ onCheckedChange = onCheckedChange,
+ enabled = false,
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule
+ .onNodeWithTag(TEST_TAG)
+ .assertIsOff()
+ .performClick()
+ .assertIsOff()
+ }
+
+ @Test
+ fun has_role_checkbox() {
+ rule.setContentWithTheme {
+ ToggleButton(
+ content = { CreateImage() },
+ checked = false,
+ onCheckedChange = {},
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ rule.onNodeWithTag(TEST_TAG)
+ .assert(
+ SemanticsMatcher.expectValue(
+ SemanticsProperties.Role,
+ Role.Checkbox
+ )
+ )
+ }
+
+ @Test
+ fun is_circular_under_ltr() =
+ rule.isCircular(LayoutDirection.Ltr) {
+ ToggleButton(
+ content = {},
+ checked = true,
+ enabled = true,
+ onCheckedChange = {},
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ @Test
+ fun is_circular_under_rtl() =
+ rule.isCircular(LayoutDirection.Rtl) {
+ ToggleButton(
+ content = {},
+ checked = true,
+ enabled = true,
+ onCheckedChange = {},
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+
+ @Test
+ fun displays_text_content() {
+ val textContent = "abc"
+
+ rule.setContentWithTheme {
+ ToggleButton(
+ content = { Text(textContent) },
+ checked = true,
+ onCheckedChange = {},
+ )
+ }
+
+ rule.onNodeWithText(textContent).assertExists()
+ }
+}
+
+class ToggleButtonSizeTest {
+ @get:Rule
+ val rule = createComposeRule()
+
+ @Test
+ fun gives_default_correct_tapsize() {
+ rule.verifyTapSize(TapSize.Default) {
+ ToggleButton(
+ content = { Text("abc") },
+ checked = true,
+ onCheckedChange = {},
+ )
+ }
+ }
+
+ @Test
+ fun gives_small_correct_tapsize() {
+ rule.verifyTapSize(TapSize.Small) {
+ ToggleButton(
+ content = { CreateImage() },
+ checked = true,
+ onCheckedChange = {},
+ modifier = Modifier.size(ToggleButtonDefaults.SmallToggleButtonSize)
+ )
+ }
+ }
+}
+
+class ToggleButtonColorTest {
+ @get:Rule
+ val rule = createComposeRule()
+
+ @Test
+ fun gives_checked_primary_colors() =
+ verifyColors(
+ Status.Enabled,
+ checked = true,
+ { MaterialTheme.colors.primary },
+ { MaterialTheme.colors.onPrimary }
+ )
+
+ @Test
+ fun gives_unchecked_secondary_colors() =
+ verifyColors(
+ Status.Enabled,
+ checked = false,
+ { MaterialTheme.colors.surface },
+ { MaterialTheme.colors.onSurface }
+ )
+
+ @Test
+ fun gives_checked_disabled_alpha() =
+ verifyColors(
+ Status.Disabled,
+ checked = true,
+ { MaterialTheme.colors.primary },
+ { MaterialTheme.colors.onPrimary }
+ )
+
+ @Test
+ fun gives_unchecked_disabled_alpha() =
+ verifyColors(
+ Status.Disabled,
+ checked = false,
+ { MaterialTheme.colors.surface },
+ { MaterialTheme.colors.onSurface }
+ )
+
+ @Test
+ fun allows_custom_checked_background_override() {
+ val override = Color.Yellow
+
+ rule.setContentWithTheme {
+ Box(modifier = Modifier.fillMaxSize()) {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ enabled = true,
+ colors = ToggleButtonDefaults.toggleButtonColors(
+ checkedBackgroundColor =
+ override
+ ),
+ content = {},
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+ }
+
+ rule.onNodeWithTag(TEST_TAG)
+ .captureToImage()
+ .assertContainsColor(override, 50.0f)
+ }
+
+ @Test
+ fun allows_custom_checked_content_override() {
+ val override = Color.Green
+ var actualContentColor = Color.Transparent
+
+ rule.setContentWithTheme {
+ Box(modifier = Modifier.fillMaxSize()) {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ enabled = true,
+ colors = ToggleButtonDefaults.toggleButtonColors(
+ checkedContentColor =
+ override
+ ),
+ content = { actualContentColor = LocalContentColor.current },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+ }
+
+ assertEquals(override, actualContentColor)
+ }
+
+ @Test
+ fun allows_custom_unchecked_background_override() {
+ val override = Color.Red
+
+ rule.setContentWithTheme {
+ Box(modifier = Modifier.fillMaxSize()) {
+ ToggleButton(
+ checked = false,
+ onCheckedChange = {},
+ enabled = true,
+ colors = ToggleButtonDefaults.toggleButtonColors(
+ uncheckedBackgroundColor =
+ override
+ ),
+ content = {},
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+ }
+
+ rule.onNodeWithTag(TEST_TAG)
+ .captureToImage()
+ .assertContainsColor(override, 50.0f)
+ }
+
+ @Test
+ fun allows_custom_unchecked_content_override() {
+ val override = Color.Green
+ var actualContentColor = Color.Transparent
+
+ rule.setContentWithTheme {
+ Box(modifier = Modifier.fillMaxSize()) {
+ ToggleButton(
+ checked = false,
+ onCheckedChange = {},
+ enabled = true,
+ colors = ToggleButtonDefaults.toggleButtonColors(
+ uncheckedContentColor =
+ override
+ ),
+ content = { actualContentColor = LocalContentColor.current },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+ }
+
+ assertEquals(override, actualContentColor)
+ }
+
+ @Test
+ fun allows_custom_checked_disabled_background_override() {
+ val override = Color.Yellow
+
+ rule.setContentWithTheme {
+ Box(modifier = Modifier.fillMaxSize()) {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ enabled = false,
+ colors = ToggleButtonDefaults.toggleButtonColors
+ (disabledCheckedBackgroundColor = override),
+ content = {},
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+ }
+
+ rule.onNodeWithTag(TEST_TAG)
+ .captureToImage()
+ .assertContainsColor(override, 50.0f)
+ }
+
+ @Test
+ fun allows_custom_checked_disabled_content_override() {
+ val override = Color.Green
+ var actualContentColor = Color.Transparent
+
+ rule.setContentWithTheme {
+ Box(modifier = Modifier.fillMaxSize()) {
+ ToggleButton(
+ checked = true,
+ onCheckedChange = {},
+ enabled = false,
+ colors = ToggleButtonDefaults.toggleButtonColors(
+ disabledCheckedContentColor =
+ override
+ ),
+ content = {
+ actualContentColor = LocalContentColor.current
+ },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+ }
+
+ assertEquals(override, actualContentColor)
+ }
+
+ @Test
+ fun allows_custom_unchecked_disabled_background_override() {
+ val override = Color.Red
+
+ rule.setContentWithTheme {
+ Box(modifier = Modifier.fillMaxSize()) {
+ ToggleButton(
+ checked = false,
+ onCheckedChange = {},
+ enabled = false,
+ colors = ToggleButtonDefaults.toggleButtonColors
+ (disabledUncheckedBackgroundColor = override),
+ content = {},
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+ }
+
+ rule.onNodeWithTag(TEST_TAG)
+ .captureToImage()
+ .assertContainsColor(override, 50.0f)
+ }
+
+ @Test
+ fun allows_custom_unchecked_disabled_content_override() {
+ val override = Color.Green
+ var actualContentColor = Color.Transparent
+
+ rule.setContentWithTheme {
+ Box(modifier = Modifier.fillMaxSize()) {
+ ToggleButton(
+ checked = false,
+ onCheckedChange = {},
+ enabled = false,
+ colors = ToggleButtonDefaults.toggleButtonColors
+ (disabledUncheckedContentColor = override),
+ content = { actualContentColor = LocalContentColor.current },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+ }
+
+ assertEquals(override, actualContentColor)
+ }
+
+ private fun verifyColors(
+ status: Status,
+ checked: Boolean,
+ backgroundColor: @Composable () -> Color,
+ contentColor: @Composable () -> Color
+ ) {
+ var expectedBackground = Color.Transparent
+ var expectedContent = Color.Transparent
+ var actualContent = Color.Transparent
+ var actualDisabledAlpha = 0f
+
+ rule.setContentWithTheme {
+ expectedBackground = backgroundColor()
+ expectedContent = contentColor()
+ Box(
+ modifier = Modifier
+ .fillMaxSize()
+ .background(expectedBackground)
+ ) {
+ ToggleButton(
+ checked = checked,
+ onCheckedChange = {},
+ enabled = status.enabled(),
+ content = {
+ actualContent = LocalContentColor.current
+ actualDisabledAlpha = ContentAlpha.disabled
+ },
+ modifier = Modifier.testTag(TEST_TAG)
+ )
+ }
+ }
+
+ if (status.enabled()) {
+ assertEquals(expectedContent, actualContent)
+ } else {
+ assertEquals(expectedContent.copy(alpha = actualDisabledAlpha), actualContent)
+ }
+ if (expectedBackground != Color.Transparent) {
+ rule.onNodeWithTag(TEST_TAG)
+ .captureToImage()
+ .assertContainsColor(expectedBackground, 50.0f)
+ }
+ }
+}
+
+private fun ComposeContentTestRule.verifyTapSize(
+ expected: TapSize,
+ content: @Composable () -> Unit
+) {
+ setContentWithThemeForSizeAssertions {
+ content()
+ }
+ .assertHeightIsEqualTo(expected.size)
+ .assertWidthIsEqualTo(expected.size)
+}
+
+private fun ComposeContentTestRule.isCircular(
+ layoutDirection: LayoutDirection,
+ padding: Dp = 0.dp,
+ content: @Composable () -> Unit
+) {
+ var background = Color.Transparent
+ var surface = Color.Transparent
+ setContentWithTheme {
+ background = MaterialTheme.colors.primary
+ surface = MaterialTheme.colors.surface
+ CompositionLocalProvider(LocalLayoutDirection provides layoutDirection) {
+ Box(
+ Modifier
+ .padding(padding)
+ .background(surface)
+ ) {
+ content()
+ }
+ }
+ }
+
+ onNodeWithTag(TEST_TAG)
+ .captureToImage()
+ .assertShape(
+ density = density,
+ shape = CircleShape,
+ horizontalPadding = padding,
+ verticalPadding = padding,
+ backgroundColor = surface,
+ shapeColor = background
+ )
+}
diff --git a/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Button.kt b/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Button.kt
index 2b7dc02..36d4d51 100644
--- a/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Button.kt
+++ b/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/Button.kt
@@ -59,7 +59,7 @@
* @param enabled Controls the enabled state of the button. When `false`, this button will not
* be clickable.
* @param colors [ButtonColors] that will be used to resolve the background and content color for
- * this chip in different states. See [ButtonDefaults.buttonColors].
+ * this button in different states. See [ButtonDefaults.buttonColors].
* @param interactionSource The [MutableInteractionSource] representing the stream of
* [Interaction]s for this Button. You can create and pass in your own remembered
* [MutableInteractionSource] if you want to observe [Interaction]s and customize the
@@ -126,7 +126,7 @@
* @param enabled Controls the enabled state of the button. When `false`, this button will not
* be clickable.
* @param colors [ButtonColors] that will be used to resolve the background and content color for
- * this chip in different states. See [ButtonDefaults.buttonColors].
+ * this button in different states. See [ButtonDefaults.buttonColors].
* @param backgroundPadding Increases the transparent clickable area around the background,
* defaults to [ButtonDefaults.CompactButtonBackgroundPadding]
* @param interactionSource The [MutableInteractionSource] representing the stream of
diff --git a/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/ToggleButton.kt b/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/ToggleButton.kt
new file mode 100644
index 0000000..b9df8bf
--- /dev/null
+++ b/wear/compose/material/src/commonMain/kotlin/androidx/wear/compose/material/ToggleButton.kt
@@ -0,0 +1,270 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package androidx.wear.compose.material
+
+import androidx.compose.foundation.background
+import androidx.compose.foundation.interaction.Interaction
+import androidx.compose.foundation.interaction.MutableInteractionSource
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.BoxScope
+import androidx.compose.foundation.layout.defaultMinSize
+import androidx.compose.foundation.selection.toggleable
+import androidx.compose.foundation.shape.CircleShape
+import androidx.compose.material.ripple.rememberRipple
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.Immutable
+import androidx.compose.runtime.Stable
+import androidx.compose.runtime.State
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberUpdatedState
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.graphics.Color
+import androidx.compose.ui.semantics.Role
+import androidx.compose.ui.unit.dp
+
+/**
+ * Wear Material [ToggleButton] that offers a single slot to take any content
+ * (text, icon or image).
+ *
+ * The [ToggleButton] is circular in shape and defaults to size
+ * [ToggleButtonDefaults.DefaultToggleButtonSize].
+ * Other recommended sizes can be obtained from [ToggleButtonDefaults].
+ *
+ * The recommended set of checked and unchecked [ToggleButtonColors] can be obtained
+ * from [ToggleButtonDefaults.toggleButtonColors], which defaults to
+ * checked colors being
+ * a solid background of [Colors.primary] with content color of [Colors.onPrimary]
+ * and unchecked colors being
+ * a solid background of [Colors.surface] with content color of [Colors.onSurface].
+ *
+ * [ToggleButton]s can be enabled or disabled. A disabled toggle button will not respond to click
+ * events.
+ *
+ * @param checked Boolean flag indicating whether this toggle button is currently checked.
+ * @param onCheckedChange Callback to be invoked when this toggle button is clicked.
+ * @param modifier Modifier to be applied to the toggle button.
+ * @param enabled Controls the enabled state of the toggle button. When `false`,
+ * this toggle button will not be clickable.
+ * @param colors [ToggleButtonColors] that will be used to resolve the background and
+ * content color for this toggle button. See [ToggleButtonDefaults.toggleButtonColors].
+ * @param interactionSource The [MutableInteractionSource] representing the stream of
+ * [Interaction]s for this toggle button. You can create and pass in your own remembered
+ * [MutableInteractionSource] if you want to observe [Interaction]s and customize the
+ * appearance / behavior of this ToggleButton in different [Interaction]s.
+ * @param content The icon, image or text to be drawn inside the toggle button.
+ */
+@Composable
+fun ToggleButton(
+ checked: Boolean,
+ onCheckedChange: (Boolean) -> Unit,
+ modifier: Modifier = Modifier,
+ enabled: Boolean = true,
+ colors: ToggleButtonColors = ToggleButtonDefaults.toggleButtonColors(),
+ interactionSource: MutableInteractionSource = remember { MutableInteractionSource() },
+ content: @Composable BoxScope.() -> Unit,
+) {
+ Box(
+ contentAlignment = Alignment.Center,
+ modifier = modifier
+ .defaultMinSize(
+ minWidth = ToggleButtonDefaults.DefaultToggleButtonSize,
+ minHeight = ToggleButtonDefaults.DefaultToggleButtonSize
+ )
+ .clip(CircleShape)
+ .toggleable(
+ value = checked,
+ onValueChange = onCheckedChange,
+ enabled = enabled,
+ role = Role.Checkbox,
+ interactionSource = interactionSource,
+ indication = rememberRipple()
+ )
+ .background(
+ color = colors.backgroundColor(enabled = enabled, checked = checked).value,
+ shape = CircleShape
+ )
+ ) {
+ val contentColor = colors.contentColor(enabled = enabled, checked = checked).value
+ CompositionLocalProvider(
+ LocalContentColor provides contentColor,
+ LocalContentAlpha provides contentColor.alpha,
+ LocalTextStyle provides MaterialTheme.typography.button
+ ) {
+ content()
+ }
+ }
+}
+
+/**
+ * Represents the background and content colors used in a toggle button in different states.
+ *
+ * See [ToggleButtonDefaults.toggleButtonColors] for the default colors used, which are
+ * primary-styled for a checked toggle button and surface-styled for unchecked.
+ */
+@Stable
+interface ToggleButtonColors {
+ /**
+ * Represents the background color for this toggle button, depending on [enabled] and [checked].
+ *
+ * @param enabled whether the toggle button is enabled
+ * @param checked whether the toggle button is checked
+ */
+ @Composable
+ fun backgroundColor(enabled: Boolean, checked: Boolean): State<Color>
+
+ /**
+ * Represents the content color for this toggle button, depending on [enabled] and [checked].
+ *
+ * @param enabled whether the toggle button is enabled
+ * @param checked whether the toggle button is checked
+ */
+ @Composable
+ fun contentColor(enabled: Boolean, checked: Boolean): State<Color>
+}
+
+/**
+ * Contains the default values used by [ToggleButton].
+ */
+object ToggleButtonDefaults {
+ /**
+ * The recommended size for a small [ToggleButton].
+ * You can apply this value for the size by overriding Modifier.size directly on [ToggleButton].
+ */
+ val SmallToggleButtonSize = 48.dp
+
+ /**
+ * The default size applied for the [ToggleButton].
+ * Note that you can override it by applying Modifier.size directly on [ToggleButton].
+ */
+ val DefaultToggleButtonSize = 52.dp
+
+ /**
+ * Creates a [ToggleButtonColors] that represents the background and content colors
+ * used in a [ToggleButton]. Defaults to primary-styled checked colors
+ * and surface-styled unchecked colors.
+ *
+ * @param checkedBackgroundColor the background color of this [ToggleButton] when enabled and
+ * checked
+ * @param checkedContentColor the content color of this [ToggleButton] when enabled and checked
+ * @param disabledCheckedBackgroundColor the background color of this [ToggleButton] when
+ * checked and not enabled
+ * @param disabledCheckedContentColor the content color of this [ToggleButton] when checked
+ * and not enabled
+ * @param uncheckedBackgroundColor the background color of this [ToggleButton] when enabled and
+ * unchecked
+ * @param uncheckedContentColor the content color of this [ToggleButton] when enabled and
+ * unchecked
+ * @param disabledUncheckedBackgroundColor the background color of this [ToggleButton] when
+ * unchecked and not enabled
+ * @param disabledUncheckedContentColor the content color of this [ToggleButton] when unchecked
+ * and not enabled
+ */
+ @Composable
+ fun toggleButtonColors(
+ checkedBackgroundColor: Color = MaterialTheme.colors.primary,
+ checkedContentColor: Color = contentColorFor(checkedBackgroundColor),
+ disabledCheckedBackgroundColor: Color =
+ checkedBackgroundColor.copy(alpha = ContentAlpha.disabled),
+ disabledCheckedContentColor: Color =
+ checkedContentColor.copy(alpha = ContentAlpha.disabled),
+ uncheckedBackgroundColor: Color = MaterialTheme.colors.surface,
+ uncheckedContentColor: Color = contentColorFor(uncheckedBackgroundColor),
+ disabledUncheckedBackgroundColor: Color =
+ uncheckedBackgroundColor.copy(alpha = ContentAlpha.disabled),
+ disabledUncheckedContentColor: Color =
+ uncheckedContentColor.copy(alpha = ContentAlpha.disabled),
+ ): ToggleButtonColors = DefaultToggleButtonColors(
+ checkedBackgroundColor = checkedBackgroundColor,
+ checkedContentColor = checkedContentColor,
+ disabledCheckedBackgroundColor = disabledCheckedBackgroundColor,
+ disabledCheckedContentColor = disabledCheckedContentColor,
+ uncheckedBackgroundColor = uncheckedBackgroundColor,
+ uncheckedContentColor = uncheckedContentColor,
+ disabledUncheckedBackgroundColor = disabledUncheckedBackgroundColor,
+ disabledUncheckedContentColor = disabledUncheckedContentColor,
+ )
+}
+
+/**
+ * Default [ToggleButtonColors] implementation.
+ */
+@Immutable
+private class DefaultToggleButtonColors(
+ private val checkedBackgroundColor: Color,
+ private val checkedContentColor: Color,
+ private val disabledCheckedBackgroundColor: Color,
+ private val disabledCheckedContentColor: Color,
+ private val uncheckedBackgroundColor: Color,
+ private val uncheckedContentColor: Color,
+ private val disabledUncheckedBackgroundColor: Color,
+ private val disabledUncheckedContentColor: Color,
+) : ToggleButtonColors {
+ @Composable
+ override fun backgroundColor(enabled: Boolean, checked: Boolean): State<Color> {
+ return rememberUpdatedState(
+ if (enabled) {
+ if (checked) checkedBackgroundColor else uncheckedBackgroundColor
+ } else {
+ if (checked) disabledCheckedBackgroundColor else disabledUncheckedBackgroundColor
+ }
+ )
+ }
+
+ @Composable
+ override fun contentColor(enabled: Boolean, checked: Boolean): State<Color> {
+ return rememberUpdatedState(
+ if (enabled) {
+ if (checked) checkedContentColor else uncheckedContentColor
+ } else {
+ if (checked) disabledCheckedContentColor else disabledUncheckedContentColor
+ }
+ )
+ }
+
+ override fun equals(other: Any?): Boolean {
+ if (this === other) return true
+ if (other == null) return false
+ if (this::class != other::class) return false
+
+ other as DefaultToggleButtonColors
+
+ if (checkedBackgroundColor != other.checkedBackgroundColor) return false
+ if (checkedContentColor != other.checkedContentColor) return false
+ if (disabledCheckedBackgroundColor != other.disabledCheckedBackgroundColor) return false
+ if (disabledCheckedContentColor != other.disabledCheckedContentColor) return false
+ if (uncheckedBackgroundColor != other.uncheckedBackgroundColor) return false
+ if (uncheckedContentColor != other.uncheckedContentColor) return false
+ if (disabledUncheckedBackgroundColor != other.disabledUncheckedBackgroundColor) return false
+ if (disabledUncheckedContentColor != other.disabledUncheckedContentColor) return false
+
+ return true
+ }
+
+ override fun hashCode(): Int {
+ var result = checkedBackgroundColor.hashCode()
+ result = 31 * result + checkedContentColor.hashCode()
+ result = 31 * result + disabledCheckedBackgroundColor.hashCode()
+ result = 31 * result + disabledCheckedContentColor.hashCode()
+ result = 31 * result + uncheckedBackgroundColor.hashCode()
+ result = 31 * result + uncheckedContentColor.hashCode()
+ result = 31 * result + disabledUncheckedBackgroundColor.hashCode()
+ result = 31 * result + disabledUncheckedContentColor.hashCode()
+ return result
+ }
+}
diff --git a/wear/tiles/tiles-proto/src/main/proto/layout.proto b/wear/tiles/tiles-proto/src/main/proto/layout.proto
index ade99be..f5454bf 100644
--- a/wear/tiles/tiles-proto/src/main/proto/layout.proto
+++ b/wear/tiles/tiles-proto/src/main/proto/layout.proto
@@ -484,6 +484,11 @@
// first line or after the last line. The default value is zero and negative
// values will decrease the interline spacing.
SpProp line_spacing = 6;
+
+ // The explicit height between lines of text. This is equivalent to the
+ // vertical distance between subsequent baselines. If not specified, defaults
+ // the font's recommended interline spacing.
+ SpProp line_height = 7;
}
// A column of elements. Each child element will be laid out vertically, one
diff --git a/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/renderer/internal/StandardLineHeightSpan.java b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/renderer/internal/StandardLineHeightSpan.java
new file mode 100644
index 0000000..c837334
--- /dev/null
+++ b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/renderer/internal/StandardLineHeightSpan.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.wear.tiles.renderer.internal;
+
+import android.graphics.Paint.FontMetricsInt;
+import android.text.style.LineHeightSpan;
+
+import androidx.annotation.Px;
+
+// LineHeightSpan.Standard is only available on API 29+, but the implementation is trivial. Just //
+// re-implement it here.
+class StandardLineHeightSpan implements LineHeightSpan {
+ @Px private final int mLineHeightPx;
+
+ StandardLineHeightSpan(int lineHeightPx) {
+ this.mLineHeightPx = lineHeightPx;
+ }
+
+ @Override
+ public void chooseHeight(
+ CharSequence text,
+ int start,
+ int end,
+ int spanstartv,
+ int lineHeight,
+ FontMetricsInt fm) {
+ final int originHeight = fm.descent - fm.ascent;
+ // If original height is not positive, do nothing.
+ if (originHeight <= 0) {
+ return;
+ }
+ final float ratio = mLineHeightPx * 1.0f / originHeight;
+ fm.descent = Math.round(fm.descent * ratio);
+ fm.ascent = fm.descent - mLineHeightPx;
+ }
+
+ public int getLineHeight() {
+ return mLineHeightPx;
+ }
+}
diff --git a/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/renderer/internal/TileRendererInternal.java b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/renderer/internal/TileRendererInternal.java
index 55cd63b..2c6b478 100644
--- a/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/renderer/internal/TileRendererInternal.java
+++ b/wear/tiles/tiles-renderer/src/main/java/androidx/wear/tiles/renderer/internal/TileRendererInternal.java
@@ -1049,13 +1049,16 @@
}
}
+ // We don't want the text to be screen-reader focusable, unless wrapped in a Semantics
+ // modifier. This prevents automatically reading out partial text (e.g. text in a row) etc.
+ //
+ // This **must** be done before applying modifiers; applying a Semantics modifier will set
+ // importantForAccessibility, so we don't want to override it after applying modifiers.
+ textView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
+
View wrappedView = applyModifiers(textView, text.getModifiers());
parent.addView(wrappedView, layoutParams);
- // We don't want the text to be screen-reader focusable, unless wrapped in a Audible. This
- // prevents automatically reading out partial text (e.g. text in a row) etc.
- textView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
-
return wrappedView;
}
@@ -1537,7 +1540,27 @@
tv.setMaxLines(TEXT_MAX_LINES_DEFAULT);
}
- if (spannable.hasLineSpacing()) {
+ if (spannable.hasLineHeight()) {
+ // We use a Span here instead of just calling TextViewCompat#setLineHeight.
+ // setLineHeight is implemented by taking the difference between the current font height
+ // (via the font metrics, not just the size in SP), subtracting that from the desired
+ // line height, and setting that as the inter-line spacing. This doesn't work for our
+ // Spannables; we don't use a default height, yet TextView still has a default font (and
+ // size) that it tries to base the requested line height on, despite that never actually
+ // being used. The end result is that the line height never actually drops out as
+ // expected.
+ //
+ // Instead, wrap the whole thing in a LineHeightSpan with the desired line height. This
+ // gets calculated properly as the TextView is calculating its per-line font metrics,
+ // and will actually work correctly.
+ StandardLineHeightSpan span =
+ new StandardLineHeightSpan((int) toPx(spannable.getLineHeight()));
+ builder.setSpan(
+ span,
+ /* start= */ 0,
+ /* end= */ builder.length(),
+ Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
+ } else if (spannable.hasLineSpacing()) {
tv.setLineSpacing(toPx(spannable.getLineSpacing()), 1f);
}
@@ -1629,18 +1652,21 @@
List<LayoutElement> elements) {
// We can't measure a container if it's set to wrap-contents but all of its contents are set
// to expand-to-parent. Such containers must not be displayed.
- if (containerWidth.hasWrappedDimension() && !containsMeasurableWidth(elements)) {
+ if (containerWidth.hasWrappedDimension()
+ && !containsMeasurableWidth(containerHeight, elements)) {
return false;
}
- if (containerHeight.hasWrappedDimension() && !containsMeasurableHeight(elements)) {
+ if (containerHeight.hasWrappedDimension()
+ && !containsMeasurableHeight(containerWidth, elements)) {
return false;
}
return true;
}
- private boolean containsMeasurableWidth(List<LayoutElement> elements) {
+ private boolean containsMeasurableWidth(
+ ContainerDimension containerHeight, List<LayoutElement> elements) {
for (LayoutElement element : elements) {
- if (isWidthMeasurable(element)) {
+ if (isWidthMeasurable(element, containerHeight)) {
// Enough to find a single element that is measurable.
return true;
}
@@ -1648,9 +1674,10 @@
return false;
}
- private boolean containsMeasurableHeight(List<LayoutElement> elements) {
+ private boolean containsMeasurableHeight(
+ ContainerDimension containerWidth, List<LayoutElement> elements) {
for (LayoutElement element : elements) {
- if (isHeightMeasurable(element)) {
+ if (isHeightMeasurable(element, containerWidth)) {
// Enough to find a single element that is measurable.
return true;
}
@@ -1658,7 +1685,7 @@
return false;
}
- private boolean isWidthMeasurable(LayoutElement element) {
+ private boolean isWidthMeasurable(LayoutElement element, ContainerDimension containerHeight) {
switch (element.getInnerCase()) {
case COLUMN:
return isMeasurable(element.getColumn().getWidth());
@@ -1669,7 +1696,19 @@
case SPACER:
return isMeasurable(element.getSpacer().getWidth());
case IMAGE:
- return isMeasurable(element.getImage().getWidth());
+ // Special-case. If the image width is proportional, then the height must be
+ // measurable. This means either a fixed size, or expanded where we know the parent
+ // dimension.
+ Image img = element.getImage();
+ if (img.getWidth().hasProportionalDimension()) {
+ boolean isContainerHeightKnown =
+ (containerHeight.hasExpandedDimension()
+ || containerHeight.hasLinearDimension());
+ return img.getHeight().hasLinearDimension()
+ || (img.getHeight().hasExpandedDimension() && isContainerHeightKnown);
+ } else {
+ return isMeasurable(element.getImage().getWidth());
+ }
case ARC:
case TEXT:
case SPANNABLE:
@@ -1680,7 +1719,7 @@
}
}
- private boolean isHeightMeasurable(LayoutElement element) {
+ private boolean isHeightMeasurable(LayoutElement element, ContainerDimension containerWidth) {
switch (element.getInnerCase()) {
case COLUMN:
return isMeasurable(element.getColumn().getHeight());
@@ -1691,7 +1730,19 @@
case SPACER:
return isMeasurable(element.getSpacer().getHeight());
case IMAGE:
- return isMeasurable(element.getImage().getHeight());
+ // Special-case. If the image height is proportional, then the width must be
+ // measurable. This means either a fixed size, or expanded where we know the parent
+ // dimension.
+ Image img = element.getImage();
+ if (img.getHeight().hasProportionalDimension()) {
+ boolean isContainerWidthKnown =
+ (containerWidth.hasExpandedDimension()
+ || containerWidth.hasLinearDimension());
+ return img.getWidth().hasLinearDimension()
+ || (img.getWidth().hasExpandedDimension() && isContainerWidthKnown);
+ } else {
+ return isMeasurable(element.getImage().getHeight());
+ }
case ARC:
case TEXT:
case SPANNABLE:
diff --git a/wear/tiles/tiles-renderer/src/test/AndroidManifest.xml b/wear/tiles/tiles-renderer/src/test/AndroidManifest.xml
new file mode 100644
index 0000000..5cd4ba8
--- /dev/null
+++ b/wear/tiles/tiles-renderer/src/test/AndroidManifest.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="androidx.wear.tiles.renderer.test">
+</manifest>
diff --git a/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/renderer/internal/TileRendererInternalTest.java b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/renderer/internal/TileRendererInternalTest.java
new file mode 100644
index 0000000..00c8814
--- /dev/null
+++ b/wear/tiles/tiles-renderer/src/test/java/androidx/wear/tiles/renderer/internal/TileRendererInternalTest.java
@@ -0,0 +1,1281 @@
+/*
+ * Copyright 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.wear.tiles.renderer.internal;
+
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import android.app.Application;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.graphics.Rect;
+import android.os.Looper;
+import android.view.View;
+import android.view.View.MeasureSpec;
+import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.TextView;
+
+import androidx.core.content.ContextCompat;
+import androidx.wear.tiles.TileProviderService;
+import androidx.wear.tiles.TilesTestRunner;
+import androidx.wear.tiles.proto.ActionProto.Action;
+import androidx.wear.tiles.proto.ActionProto.AndroidActivity;
+import androidx.wear.tiles.proto.ActionProto.AndroidBooleanExtra;
+import androidx.wear.tiles.proto.ActionProto.AndroidDoubleExtra;
+import androidx.wear.tiles.proto.ActionProto.AndroidExtra;
+import androidx.wear.tiles.proto.ActionProto.AndroidIntExtra;
+import androidx.wear.tiles.proto.ActionProto.AndroidLongExtra;
+import androidx.wear.tiles.proto.ActionProto.AndroidStringExtra;
+import androidx.wear.tiles.proto.ActionProto.LaunchAction;
+import androidx.wear.tiles.proto.ActionProto.LoadAction;
+import androidx.wear.tiles.proto.ColorProto.ColorProp;
+import androidx.wear.tiles.proto.DimensionProto.ContainerDimension;
+import androidx.wear.tiles.proto.DimensionProto.DegreesProp;
+import androidx.wear.tiles.proto.DimensionProto.DpProp;
+import androidx.wear.tiles.proto.DimensionProto.ExpandedDimensionProp;
+import androidx.wear.tiles.proto.DimensionProto.ImageDimension;
+import androidx.wear.tiles.proto.DimensionProto.ProportionalDimensionProp;
+import androidx.wear.tiles.proto.DimensionProto.SpacerDimension;
+import androidx.wear.tiles.proto.DimensionProto.WrappedDimensionProp;
+import androidx.wear.tiles.proto.LayoutElementProto.Arc;
+import androidx.wear.tiles.proto.LayoutElementProto.ArcLayoutElement;
+import androidx.wear.tiles.proto.LayoutElementProto.ArcLine;
+import androidx.wear.tiles.proto.LayoutElementProto.ArcSpacer;
+import androidx.wear.tiles.proto.LayoutElementProto.ArcText;
+import androidx.wear.tiles.proto.LayoutElementProto.Box;
+import androidx.wear.tiles.proto.LayoutElementProto.Column;
+import androidx.wear.tiles.proto.LayoutElementProto.FontStyle;
+import androidx.wear.tiles.proto.LayoutElementProto.HorizontalAlignment;
+import androidx.wear.tiles.proto.LayoutElementProto.HorizontalAlignmentProp;
+import androidx.wear.tiles.proto.LayoutElementProto.Image;
+import androidx.wear.tiles.proto.LayoutElementProto.Layout;
+import androidx.wear.tiles.proto.LayoutElementProto.LayoutElement;
+import androidx.wear.tiles.proto.LayoutElementProto.Row;
+import androidx.wear.tiles.proto.LayoutElementProto.Spacer;
+import androidx.wear.tiles.proto.LayoutElementProto.Span;
+import androidx.wear.tiles.proto.LayoutElementProto.SpanImage;
+import androidx.wear.tiles.proto.LayoutElementProto.SpanText;
+import androidx.wear.tiles.proto.LayoutElementProto.Spannable;
+import androidx.wear.tiles.proto.LayoutElementProto.Text;
+import androidx.wear.tiles.proto.LayoutElementProto.VerticalAlignment;
+import androidx.wear.tiles.proto.LayoutElementProto.VerticalAlignmentProp;
+import androidx.wear.tiles.proto.ModifiersProto.Border;
+import androidx.wear.tiles.proto.ModifiersProto.Clickable;
+import androidx.wear.tiles.proto.ModifiersProto.Modifiers;
+import androidx.wear.tiles.proto.ModifiersProto.Padding;
+import androidx.wear.tiles.proto.ModifiersProto.Semantics;
+import androidx.wear.tiles.proto.ResourceProto.AndroidImageResourceByResId;
+import androidx.wear.tiles.proto.ResourceProto.ImageResource;
+import androidx.wear.tiles.proto.ResourceProto.Resources;
+import androidx.wear.tiles.proto.StateProto.State;
+import androidx.wear.tiles.proto.TypesProto.StringProp;
+import androidx.wear.tiles.renderer.test.R;
+import androidx.wear.widget.ArcLayout;
+import androidx.wear.widget.CurvedTextView;
+
+import com.google.common.collect.ImmutableMap;
+import com.google.common.truth.Expect;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.annotation.internal.DoNotInstrument;
+import org.robolectric.shadows.ShadowPackageManager;
+
+import java.io.IOException;
+import java.util.Map;
+
+@RunWith(TilesTestRunner.class)
+@DoNotInstrument
+public class TileRendererInternalTest {
+ private static final String TEST_CLICKABLE_CLASS_NAME = "Hello";
+ private static final String TEST_CLICKABLE_PACKAGE_NAME = "World";
+
+ private static final int SCREEN_WIDTH = 400;
+ private static final int SCREEN_HEIGHT = 400;
+
+ @Rule public final Expect expect = Expect.create();
+
+ @Test
+ public void inflate_textView() {
+ String textContents = "Hello World";
+ LayoutElement root = LayoutElement.newBuilder()
+ .setText(Text.newBuilder()
+ .setText(StringProp.newBuilder().setValue(textContents)))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ // Check that there's a text element in the layout...
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ assertThat(rootLayout.getChildAt(0)).isInstanceOf(TextView.class);
+
+ TextView tv = (TextView) rootLayout.getChildAt(0);
+
+ // Text pulled from the proto.
+ expect.that(tv.getText().toString()).isEqualTo(textContents);
+ }
+
+ @Test
+ public void inflate_textView_withColor() {
+ int color = 0xFF112233;
+ String textContents = "Hello World";
+ LayoutElement root = LayoutElement.newBuilder()
+ .setText(Text.newBuilder()
+ .setText(StringProp.newBuilder().setValue(textContents))
+ .setFontStyle(FontStyle.newBuilder()
+ .setColor(ColorProp.newBuilder().setArgb(color))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ TextView tv = (TextView) rootLayout.getChildAt(0);
+ expect.that(tv.getTextColors().getDefaultColor()).isEqualTo(color);
+ }
+
+ @Test
+ public void inflate_textView_withoutText() {
+ LayoutElement root = LayoutElement.newBuilder().setText(Text.newBuilder()).build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ TextView tv = (TextView) rootLayout.getChildAt(0);
+ expect.that(tv.getText().toString()).isEmpty();
+ }
+
+ @Test
+ public void inflate_textView_withSemanticsModifier() {
+ String textContents = "Hello World";
+ LayoutElement root = LayoutElement.newBuilder()
+ .setText(Text.newBuilder()
+ .setText(StringProp.newBuilder().setValue(textContents))
+ .setModifiers(Modifiers.newBuilder()
+ .setSemantics(Semantics.newBuilder()
+ .setContentDescription("Hello World Text Element"))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ // Check that there's a text element in the layout...
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ assertThat(rootLayout.getChildAt(0)).isInstanceOf(TextView.class);
+
+ TextView tv = (TextView) rootLayout.getChildAt(0);
+
+ // Check the text contents.
+ expect.that(tv.getText().toString()).isEqualTo(textContents);
+
+ // Check the accessibility label.
+ expect.that(tv.getContentDescription().toString()).isEqualTo("Hello World Text Element");
+ expect.that(tv.getImportantForAccessibility())
+ .isEqualTo(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
+ expect.that(tv.isFocusable()).isTrue();
+ }
+
+ @Test
+ public void inflate_box_withIllegalSize() {
+ // Inner box's width set to "expand". Having a single "expand" element in a "wrap" element
+ // is an undefined state, so the outer box should not be displayed.
+ Box innerBox = Box.newBuilder()
+ .setWidth(ContainerDimension.newBuilder()
+ .setExpandedDimension(ExpandedDimensionProp.getDefaultInstance()))
+ .addContents(LayoutElement.newBuilder()
+ .setText(Text.newBuilder()
+ .setText(StringProp.newBuilder().setValue("foo"))))
+ .build();
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setBox(Box.newBuilder()
+ // Outer box's width and height left at default value of "wrap"
+ .addContents(LayoutElement.newBuilder().setBox(innerBox)))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ // Check that the outer box is not displayed.
+ assertThat(rootLayout.getChildCount()).isEqualTo(0);
+ }
+
+ @Test
+ public void inflate_spacer() {
+ int width = 10;
+ int height = 20;
+ LayoutElement root = LayoutElement.newBuilder()
+ .setSpacer(Spacer.newBuilder()
+ .setHeight(SpacerDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(height)))
+ .setWidth(SpacerDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(width))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ // Check that there's a single element in the layout...
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ View tv = rootLayout.getChildAt(0);
+
+ // Dimensions are in DP, but the density is currently 1 in the tests, so this is fine.
+ expect.that(tv.getMeasuredWidth()).isEqualTo(width);
+ expect.that(tv.getMeasuredHeight()).isEqualTo(height);
+ }
+
+ @Test
+ public void inflate_spacerWithModifiers() {
+ int width = 10;
+ int height = 20;
+ LayoutElement root = LayoutElement.newBuilder()
+ .setSpacer(Spacer.newBuilder()
+ .setModifiers(Modifiers.newBuilder()
+ .setBorder(Border.newBuilder()
+ .setWidth(DpProp.newBuilder().setValue(2))))
+ .setHeight(SpacerDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(height)))
+ .setWidth(SpacerDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(width))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ // Check that there's a single element in the layout...
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ View tv = rootLayout.getChildAt(0);
+
+ // Dimensions are in DP, but the density is currently 1 in the tests, so this is fine.
+ expect.that(tv.getMeasuredWidth()).isEqualTo(width);
+ expect.that(tv.getMeasuredHeight()).isEqualTo(height);
+ }
+
+ @Test
+ public void inflate_image_withoutDimensions() {
+ // Must match a resource ID in buildResources
+ String protoResId = "android";
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue(protoResId)))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ // An image without dimensions will not be displayed.
+ assertThat(rootLayout.getChildCount()).isEqualTo(0);
+ }
+
+ @Test
+ public void inflate_image_withDimensions() {
+ // Must match a resource ID in buildResources
+ String protoResId = "android";
+
+ LayoutElement root = buildImage(protoResId, 30, 20);
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ RatioViewWrapper iv = (RatioViewWrapper) rootLayout.getChildAt(0);
+
+ expect.that(iv.getMeasuredWidth()).isEqualTo(30);
+ expect.that(iv.getMeasuredHeight()).isEqualTo(20);
+ }
+
+ @Test
+ public void inflate_image_withInvalidRatio() {
+ LayoutElement root = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setHeight(ImageDimension.newBuilder()
+ .setProportionalDimension(ProportionalDimensionProp
+ .getDefaultInstance()))
+ .setWidth(ImageDimension.newBuilder()
+ .setExpandedDimension(ExpandedDimensionProp.getDefaultInstance())))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ // An image with invalid ratio will not be displayed.
+ assertThat(rootLayout.getChildCount()).isEqualTo(0);
+ }
+
+ @Test
+ public void inflate_image_byName() {
+ // Must match a resource ID in buildResources
+ String protoResId = "android_image_by_name";
+
+ LayoutElement root = buildImage(protoResId, 30, 20);
+
+ FrameLayout rootLayout = inflateProto(root);
+ RatioViewWrapper iv = (RatioViewWrapper) rootLayout.getChildAt(0);
+
+ expect.that(iv.getMeasuredWidth()).isEqualTo(30);
+ expect.that(iv.getMeasuredHeight()).isEqualTo(20);
+ }
+
+ @Test
+ public void inflate_clickableModifier_withLaunchAction() throws IOException {
+ final String packageName = "androidx.wear.tiles.test";
+ final String className = "androidx.wear.tiles.test.TestActivity";
+ final String textContents = "I am a clickable";
+
+ // Register the activity so the intent can be resolved.
+ ComponentName cn = new ComponentName(packageName, className);
+ ShadowPackageManager pkgManager = shadowOf(getApplicationContext().getPackageManager());
+ ActivityInfo ai = pkgManager.addActivityIfNotPresent(cn);
+ ai.exported = true;
+
+ String stringVal = "foobar";
+ int int32Val = 123;
+ long int64Val = 1234567890123456789L;
+ double doubleVal = 0.1234;
+
+ LaunchAction launchAction = LaunchAction.newBuilder()
+ .setAndroidActivity(AndroidActivity.newBuilder()
+ .setPackageName(packageName)
+ .setClassName(className)
+ .putKeyToExtra(
+ "stringValue",
+ AndroidExtra.newBuilder()
+ .setStringVal(AndroidStringExtra.newBuilder()
+ .setValue(stringVal))
+ .build())
+ .putKeyToExtra(
+ "int32Value",
+ AndroidExtra.newBuilder()
+ .setIntVal(AndroidIntExtra.newBuilder()
+ .setValue(int32Val))
+ .build())
+ .putKeyToExtra(
+ "int64Value",
+ AndroidExtra.newBuilder()
+ .setLongVal(AndroidLongExtra.newBuilder()
+ .setValue(int64Val))
+ .build())
+ .putKeyToExtra(
+ "doubleValue",
+ AndroidExtra.newBuilder()
+ .setDoubleVal(AndroidDoubleExtra.newBuilder()
+ .setValue(doubleVal))
+ .build())
+ .putKeyToExtra(
+ "boolValue",
+ AndroidExtra.newBuilder()
+ .setBooleanVal(AndroidBooleanExtra.newBuilder()
+ .setValue(true))
+ .build()))
+ .build();
+
+ Action action = Action.newBuilder().setLaunchAction(launchAction).build();
+
+ LayoutElement textElement = LayoutElement.newBuilder()
+ .setText(Text.newBuilder()
+ .setText(StringProp.newBuilder().setValue(textContents))
+ .setModifiers(Modifiers.newBuilder()
+ .setClickable(Clickable.newBuilder()
+ .setId("foo")
+ .setOnClick(action))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(textElement);
+
+ // Should be just a text view as the root.
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ assertThat(rootLayout.getChildAt(0)).isInstanceOf(TextView.class);
+
+ TextView tv = (TextView) rootLayout.getChildAt(0);
+
+ // The clickable view must have the same tag as the corresponding prototile clickable.
+ expect.that(tv.getTag()).isEqualTo("foo");
+
+ // Ensure that the text still went through properly.
+ expect.that(tv.getText().toString()).isEqualTo(textContents);
+
+ // Try and fire the intent.
+ tv.performClick();
+
+ Intent firedIntent =
+ shadowOf((Application) getApplicationContext()).getNextStartedActivity();
+ expect.that(firedIntent.getComponent()).isEqualTo(cn);
+ expect.that(firedIntent.getStringExtra("stringValue")).isEqualTo(stringVal);
+ expect.that(firedIntent.getIntExtra("int32Value", 0)).isEqualTo(int32Val);
+ expect.that(firedIntent.getLongExtra("int64Value", 0)).isEqualTo(int64Val);
+ expect.that(firedIntent.getDoubleExtra("doubleValue", 0)).isEqualTo(doubleVal);
+ expect.that(firedIntent.getBooleanExtra("boolValue", false)).isEqualTo(true);
+ }
+
+ @Test
+ public void inflate_clickableModifier_withLaunchAction_notExportedIsNotOp() {
+ final String packageName = "androidx.wear.tiles.test";
+ final String className = "androidx.wear.tiles.test.TestActivity";
+ final String textContents = "I am a clickable";
+
+ // Register the activity so the intent can be resolved.
+ ComponentName cn = new ComponentName(packageName, className);
+ ShadowPackageManager pkgManager = shadowOf(getApplicationContext().getPackageManager());
+ ActivityInfo ai = pkgManager.addActivityIfNotPresent(cn);
+
+ // Activity is not exported. Renderer shouldn't even try and call it.
+ ai.exported = false;
+
+ LaunchAction launchAction = LaunchAction.newBuilder()
+ .setAndroidActivity(AndroidActivity.newBuilder()
+ .setPackageName(packageName)
+ .setClassName(className))
+ .build();
+
+ Action action = Action.newBuilder().setLaunchAction(launchAction).build();
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setText(Text.newBuilder()
+ .setText(StringProp.newBuilder().setValue(textContents))
+ .setModifiers(Modifiers.newBuilder()
+ .setClickable(Clickable.newBuilder()
+ .setId("foo")
+ .setOnClick(action))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ // Should be just a text view as the root.
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ assertThat(rootLayout.getChildAt(0)).isInstanceOf(TextView.class);
+
+ TextView tv = (TextView) rootLayout.getChildAt(0);
+
+ shadowOf((Application) getApplicationContext()).clearNextStartedActivities();
+
+ // Try and fire the intent.
+ tv.performClick();
+
+ expect.that(shadowOf((Application) getApplicationContext()).getNextStartedActivity())
+ .isNull();
+ }
+
+ @Test
+ public void inflate_clickableModifier_withLoadAction() {
+ final String textContents = "I am a clickable";
+
+ Action action = Action.newBuilder().setLoadAction(LoadAction.getDefaultInstance()).build();
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setText(Text.newBuilder()
+ .setText(StringProp.newBuilder().setValue(textContents))
+ .setModifiers(Modifiers.newBuilder()
+ .setClickable(Clickable.newBuilder()
+ .setId("foo")
+ .setOnClick(action))))
+ .build();
+
+ State.Builder receivedState = State.newBuilder();
+ FrameLayout rootLayout =
+ inflateProto(root, 0, resourceResolvers(), receivedState::mergeFrom);
+
+ // Should be just a text view as the root.
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ assertThat(rootLayout.getChildAt(0)).isInstanceOf(TextView.class);
+
+ TextView tv = (TextView) rootLayout.getChildAt(0);
+
+ // The clickable view must have the same tag as the corresponding prototile clickable.
+ expect.that(tv.getTag()).isEqualTo("foo");
+
+ // Ensure that the text still went through properly.
+ expect.that(tv.getText().toString()).isEqualTo(textContents);
+
+ // Try and fire the intent.
+ tv.performClick();
+ shadowOf(Looper.getMainLooper()).idle();
+
+ expect.that(receivedState.getLastClickableId()).isEqualTo("foo");
+ }
+
+ @Test
+ public void inflate_clickableModifier_withAndroidActivity_hasSourceBounds() {
+ final String packageName = "androidx.wear.tiles.test";
+ final String className = "androidx.wear.tiles.test.TestActivity";
+ final String textContents = "I am a clickable";
+
+ // Register the activity so the intent can be resolved.
+ ComponentName cn = new ComponentName(packageName, className);
+ ShadowPackageManager pkgManager = shadowOf(getApplicationContext().getPackageManager());
+ ActivityInfo ai = pkgManager.addActivityIfNotPresent(cn);
+ ai.exported = true;
+
+ LaunchAction launchAction = LaunchAction.newBuilder()
+ .setAndroidActivity(AndroidActivity.newBuilder()
+ .setPackageName(packageName)
+ .setClassName(className))
+ .build();
+
+ Action action = Action.newBuilder().setLaunchAction(launchAction).build();
+
+ LayoutElement textElement = LayoutElement.newBuilder()
+ .setText(Text.newBuilder()
+ .setText(StringProp.newBuilder().setValue(textContents))
+ .setModifiers(Modifiers.newBuilder()
+ .setClickable(Clickable.newBuilder()
+ .setId("foo")
+ .setOnClick(action))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(textElement);
+
+ // Need to run a layout / measure pass so that the Text element has some bounds...
+ rootLayout.measure(
+ MeasureSpec.makeMeasureSpec(SCREEN_WIDTH, MeasureSpec.EXACTLY),
+ MeasureSpec.makeMeasureSpec(SCREEN_WIDTH, MeasureSpec.EXACTLY));
+ rootLayout.layout(0, 0, rootLayout.getMeasuredWidth(), rootLayout.getMeasuredHeight());
+
+ TextView tv = (TextView) rootLayout.getChildAt(0);
+ tv.performClick();
+
+ Intent firedIntent =
+ shadowOf((Application) getApplicationContext()).getNextStartedActivity();
+
+ int[] screenLocation = new int[2];
+ tv.getLocationOnScreen(screenLocation);
+ Rect screenLocationRect =
+ new Rect(
+ /* left= */ screenLocation[0],
+ /* top= */ screenLocation[1],
+ /* right= */ screenLocation[0] + tv.getWidth(),
+ /* bottom= */ screenLocation[1] + tv.getHeight());
+
+ expect.that(firedIntent.getSourceBounds()).isEqualTo(screenLocationRect);
+ }
+
+ @Test
+ public void inflate_arc_withLineDrawnWithArcTo() {
+ // Shorter than 360 degrees, so should be drawn as an arc:
+ ArcLine innerArcLine = ArcLine.newBuilder()
+ .setLength(DegreesProp.newBuilder().setValue(30))
+ .setThickness(DpProp.newBuilder().setValue(12))
+ .build();
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setArc(Arc.newBuilder()
+ .setAnchorAngle(DegreesProp.newBuilder().setValue(0).build())
+ .addContents(ArcLayoutElement.newBuilder().setLine(innerArcLine)))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ ArcLayout arcLayout = (ArcLayout) rootLayout.getChildAt(0);
+ assertThat(arcLayout.getChildCount()).isEqualTo(1);
+ WearCurvedLineView line = (WearCurvedLineView) arcLayout.getChildAt(0);
+ assertThat(line.getSweepAngleDegrees()).isEqualTo(30);
+ // Dimensions are in DP, but the density is currently 1 in the tests, so this is fine:
+ assertThat(line.getThickness()).isEqualTo(12);
+ }
+
+ @Test
+ public void inflate_arc_withLineDrawnWithAddOval() {
+ // Longer than 360 degrees, so should be drawn as an oval:
+ ArcLine arcLine = ArcLine.newBuilder()
+ .setLength(DegreesProp.newBuilder().setValue(500))
+ .setThickness(DpProp.newBuilder().setValue(12))
+ .build();
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setArc(Arc.newBuilder()
+ .setAnchorAngle(DegreesProp.newBuilder().setValue(0).build())
+ .addContents(ArcLayoutElement.newBuilder().setLine(arcLine)))
+
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ ArcLayout arcLayout = (ArcLayout) rootLayout.getChildAt(0);
+ assertThat(arcLayout.getChildCount()).isEqualTo(1);
+ WearCurvedLineView line = (WearCurvedLineView) arcLayout.getChildAt(0);
+ assertThat(line.getSweepAngleDegrees()).isEqualTo(500);
+ // Dimensions are in DP, but the density is currently 1 in the tests, so this is fine:
+ assertThat(line.getThickness()).isEqualTo(12);
+ }
+
+ @Test
+ public void inflate_arc_withText() {
+ ArcText text1 = ArcText.newBuilder()
+ .setText(StringProp.newBuilder().setValue("text1"))
+ .build();
+ ArcText text2 = ArcText.newBuilder()
+ .setText(StringProp.newBuilder().setValue("text2"))
+ .build();
+
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setArc(Arc.newBuilder()
+ .setAnchorAngle(DegreesProp.newBuilder().setValue(0).build())
+ .addContents(ArcLayoutElement.newBuilder().setText(text1))
+ .addContents(ArcLayoutElement.newBuilder().setText(text2)))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ ArcLayout arcLayout = (ArcLayout) rootLayout.getChildAt(0);
+ assertThat(arcLayout.getChildCount()).isEqualTo(2);
+ CurvedTextView textView1 = (CurvedTextView) arcLayout.getChildAt(0);
+ assertThat(textView1.getText()).isEqualTo("text1");
+ CurvedTextView textView2 = (CurvedTextView) arcLayout.getChildAt(1);
+ assertThat(textView2.getText()).isEqualTo("text2");
+ }
+
+ @Test
+ public void inflate_arc_withSpacer() {
+ ArcSpacer arcSpacer = ArcSpacer.newBuilder()
+ .setLength(DegreesProp.newBuilder().setValue(90))
+ .setThickness(DpProp.newBuilder().setValue(20))
+ .build();
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setArc(Arc.newBuilder()
+ .setAnchorAngle(DegreesProp.newBuilder().setValue(0).build())
+ .addContents(ArcLayoutElement.newBuilder().setSpacer(arcSpacer)))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ assertThat(rootLayout.getChildCount()).isEqualTo(1);
+ ArcLayout arcLayout = (ArcLayout) rootLayout.getChildAt(0);
+ assertThat(arcLayout.getChildCount()).isEqualTo(1);
+ WearCurvedSpacer spacer = (WearCurvedSpacer) arcLayout.getChildAt(0);
+ assertThat(spacer.getSweepAngleDegrees()).isEqualTo(90);
+ // Dimensions are in DP, but the density is currently 1 in the tests, so this is fine:
+ assertThat(spacer.getThickness()).isEqualTo(20);
+ }
+
+ @Test
+ public void inflate_row() {
+ final String protoResId = "android";
+
+ LayoutElement image = buildImage(protoResId, 30, 20);
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setRow(Row.newBuilder().addContents(image).addContents(image))
+ .build();
+
+ FrameLayout layout = inflateProto(root);
+
+ // There should be a child ViewGroup. Technically, we know it's a LinearLayout, but that
+ // could change in the future. For now, just ensure that the two images are laid out
+ // horizontally.
+ assertThat(layout.getChildAt(0)).isInstanceOf(ViewGroup.class);
+ ViewGroup firstChild = (ViewGroup) layout.getChildAt(0);
+
+ assertThat(firstChild.getChildCount()).isEqualTo(2);
+ assertThat(firstChild.getChildAt(0)).isInstanceOf(RatioViewWrapper.class);
+ assertThat(firstChild.getChildAt(1)).isInstanceOf(RatioViewWrapper.class);
+
+ RatioViewWrapper child1 = (RatioViewWrapper) firstChild.getChildAt(0);
+ RatioViewWrapper child2 = (RatioViewWrapper) firstChild.getChildAt(1);
+
+ // There's no padding here...
+ expect.that(child2.getX()).isEqualTo(child1.getX() + child1.getMeasuredWidth());
+
+ // In this case, because both children are the same size, they should definitely share the
+ // same Y coordinate.
+ expect.that(child1.getY()).isEqualTo(child2.getY());
+ }
+
+ @Test
+ public void inflate_column() {
+ final String protoResId = "android";
+
+ LayoutElement image = buildImage(protoResId, 30, 20);
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setColumn(Column.newBuilder().addContents(image).addContents(image))
+ .build();
+
+ FrameLayout layout = inflateProto(root);
+
+ assertThat(layout.getChildAt(0)).isInstanceOf(ViewGroup.class);
+ ViewGroup firstChild = (ViewGroup) layout.getChildAt(0);
+
+ assertThat(firstChild.getChildCount()).isEqualTo(2);
+ assertThat(firstChild.getChildAt(0)).isInstanceOf(RatioViewWrapper.class);
+ assertThat(firstChild.getChildAt(1)).isInstanceOf(RatioViewWrapper.class);
+
+ RatioViewWrapper child1 = (RatioViewWrapper) firstChild.getChildAt(0);
+ RatioViewWrapper child2 = (RatioViewWrapper) firstChild.getChildAt(1);
+
+ // There's no padding here...
+ expect.that(child2.getY()).isEqualTo(child1.getY() + child1.getMeasuredHeight());
+
+ // In this case, because both children are the same size, they should definitely share the
+ // same X coordinate.
+ expect.that(child1.getX()).isEqualTo(child2.getX());
+ }
+
+ private static LayoutElement buildImage(String protoResId, float widthDp, float heightDp) {
+ return LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue(protoResId))
+ .setWidth(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(widthDp)))
+ .setHeight(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(heightDp))))
+ .build();
+ }
+
+ private static LayoutElement buildExampleRowLayoutWithAlignment(VerticalAlignment alignment) {
+ final String protoResId = "android";
+
+ LayoutElement image1 = buildImage(protoResId, 30, 30);
+ LayoutElement image2 = buildImage(protoResId, 30, 50);
+
+ Row row = Row.newBuilder()
+ .addContents(image1)
+ .addContents(image2)
+ .setVerticalAlignment(
+ VerticalAlignmentProp.newBuilder().setValue(alignment))
+ .build();
+
+ // Gravity = top.
+ return LayoutElement.newBuilder().setRow(row).build();
+ }
+
+ @Test
+ public void inflate_row_withGravity() {
+ Map<VerticalAlignment, Integer> expectedY =
+ ImmutableMap.of(
+ VerticalAlignment.VERTICAL_ALIGN_TOP, 0,
+ VerticalAlignment.VERTICAL_ALIGN_CENTER, 10,
+ VerticalAlignment.VERTICAL_ALIGN_BOTTOM, 20);
+
+ for (Map.Entry<VerticalAlignment, Integer> entry : expectedY.entrySet()) {
+ LayoutElement root = buildExampleRowLayoutWithAlignment(entry.getKey());
+ FrameLayout topFrameLayout = inflateProto(root);
+ ViewGroup topViewGroup = (ViewGroup) topFrameLayout.getChildAt(0);
+ RatioViewWrapper image1 = (RatioViewWrapper) topViewGroup.getChildAt(0);
+ RatioViewWrapper image2 = (RatioViewWrapper) topViewGroup.getChildAt(1);
+
+ // Image 1 is the smaller of the two, so its Y coordinate should move accordingly.
+ expect.that(image1.getY()).isEqualTo(image2.getY() + entry.getValue());
+ }
+ }
+
+ private static LayoutElement buildExampleColumnLayoutWithAlignment(
+ HorizontalAlignment alignment) {
+ final String resName = "android";
+
+ LayoutElement image1 = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue(resName))
+ .setWidth(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(30)))
+ .setHeight(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(30))))
+ .build();
+
+ LayoutElement image2 = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue(resName))
+ .setWidth(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(50)))
+ .setHeight(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(30))))
+ .build();
+
+ Column column = Column.newBuilder()
+ .addContents(image1)
+ .addContents(image2)
+ .setHorizontalAlignment(HorizontalAlignmentProp.newBuilder()
+ .setValue(alignment))
+ .build();
+
+ // Gravity = top.
+ return LayoutElement.newBuilder().setColumn(column).build();
+ }
+
+ @Test
+ public void inflate_column_withGravity() {
+ Map<HorizontalAlignment, Integer> expectedX =
+ ImmutableMap.of(
+ HorizontalAlignment.HORIZONTAL_ALIGN_START, 0,
+ HorizontalAlignment.HORIZONTAL_ALIGN_CENTER, 10,
+ HorizontalAlignment.HORIZONTAL_ALIGN_END, 20);
+
+ for (Map.Entry<HorizontalAlignment, Integer> entry : expectedX.entrySet()) {
+ LayoutElement root = buildExampleColumnLayoutWithAlignment(entry.getKey());
+ FrameLayout topFrameLayout = inflateProto(root);
+ ViewGroup topViewGroup = (ViewGroup) topFrameLayout.getChildAt(0);
+ RatioViewWrapper image1 = (RatioViewWrapper) topViewGroup.getChildAt(0);
+ RatioViewWrapper image2 = (RatioViewWrapper) topViewGroup.getChildAt(1);
+
+ // Image 1 is the smaller of the two, so its X coordinate should move accordingly.
+ expect.that(image1.getX()).isEqualTo(image2.getX() + entry.getValue());
+ }
+ }
+
+ private static LayoutElement buildExampleContainerLayoutWithAlignment(
+ HorizontalAlignment hAlign, VerticalAlignment vAlign) {
+ final String resName = "android";
+
+ LayoutElement image1 = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue(resName))
+ .setWidth(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(30)))
+ .setHeight(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(30))))
+ .build();
+
+ LayoutElement image2 = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue(resName))
+ .setWidth(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(50)))
+ .setHeight(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(50))))
+ .build();
+
+ Box box = Box.newBuilder()
+ .addContents(image1)
+ .addContents(image2)
+ .setVerticalAlignment(VerticalAlignmentProp.newBuilder().setValue(vAlign))
+ .setHorizontalAlignment(HorizontalAlignmentProp.newBuilder()
+ .setValue(hAlign))
+ .build();
+
+ // Gravity = top.
+ return LayoutElement.newBuilder().setBox(box).build();
+ }
+
+ @Test
+ public void inflate_stack_withAlignment() {
+ Map<HorizontalAlignment, Integer> expectedX =
+ ImmutableMap.of(
+ HorizontalAlignment.HORIZONTAL_ALIGN_START, 0,
+ HorizontalAlignment.HORIZONTAL_ALIGN_CENTER, 10,
+ HorizontalAlignment.HORIZONTAL_ALIGN_END, 20);
+
+ Map<VerticalAlignment, Integer> expectedY =
+ ImmutableMap.of(
+ VerticalAlignment.VERTICAL_ALIGN_TOP, 0,
+ VerticalAlignment.VERTICAL_ALIGN_CENTER, 10,
+ VerticalAlignment.VERTICAL_ALIGN_BOTTOM, 20);
+
+ for (Map.Entry<HorizontalAlignment, Integer> hEntry : expectedX.entrySet()) {
+ for (Map.Entry<VerticalAlignment, Integer> vEntry : expectedY.entrySet()) {
+ LayoutElement root =
+ buildExampleContainerLayoutWithAlignment(hEntry.getKey(), vEntry.getKey());
+ FrameLayout topFrameLayout = inflateProto(root);
+
+ ViewGroup topViewGroup = (ViewGroup) topFrameLayout.getChildAt(0);
+ RatioViewWrapper image1 = (RatioViewWrapper) topViewGroup.getChildAt(0);
+ RatioViewWrapper image2 = (RatioViewWrapper) topViewGroup.getChildAt(1);
+
+ // Image 1 is the smaller of the two, so its coordinates should move accordingly.
+ expect.that(image1.getX()).isEqualTo(image2.getX() + hEntry.getValue());
+ expect.that(image1.getY()).isEqualTo(image2.getY() + vEntry.getValue());
+ }
+ }
+ }
+
+ @Test
+ public void inflate_layoutElement_noChild() {
+ // Just an empty layout. This is just to ensure that the renderer doesn't crash with a
+ // "barely valid" proto.
+ LayoutElement root = LayoutElement.newBuilder().build();
+
+ inflateProto(root);
+ }
+
+ @Test
+ public void buildClickableIntent_setsPackageName() {
+ LaunchAction launchAction = LaunchAction.newBuilder()
+ .setAndroidActivity(AndroidActivity.newBuilder()
+ .setClassName(TEST_CLICKABLE_CLASS_NAME)
+ .setPackageName(TEST_CLICKABLE_PACKAGE_NAME))
+ .build();
+
+ Intent i = TileRendererInternal.buildLaunchActionIntent(launchAction, "");
+
+ expect.that(i.getComponent().getClassName()).isEqualTo(TEST_CLICKABLE_CLASS_NAME);
+ expect.that(i.getComponent().getPackageName()).isEqualTo(TEST_CLICKABLE_PACKAGE_NAME);
+ }
+
+ @Test
+ public void buildClickableIntent_launchAction_containsClickableId() {
+ String testId = "HELLOWORLD";
+
+ LaunchAction launchAction = LaunchAction.newBuilder()
+ .setAndroidActivity(AndroidActivity.newBuilder()
+ .setClassName(TEST_CLICKABLE_CLASS_NAME)
+ .setPackageName(TEST_CLICKABLE_PACKAGE_NAME))
+ .build();
+
+ Intent i = TileRendererInternal.buildLaunchActionIntent(launchAction, testId);
+
+ expect.that(i.getStringExtra(TileProviderService.EXTRA_CLICKABLE_ID)).isEqualTo(testId);
+ }
+
+ @Test
+ public void buildClickableIntent_noClickableExtraIfNotSet() {
+ LaunchAction launchAction = LaunchAction.newBuilder()
+ .setAndroidActivity(AndroidActivity.newBuilder()
+ .setClassName(TEST_CLICKABLE_CLASS_NAME)
+ .setPackageName(TEST_CLICKABLE_PACKAGE_NAME))
+ .build();
+
+ Intent i = TileRendererInternal.buildLaunchActionIntent(launchAction, "");
+
+ expect.that(i.hasExtra(TileProviderService.EXTRA_CLICKABLE_ID)).isFalse();
+ }
+
+ @Test
+ public void inflate_imageView_noResourceId() {
+ LayoutElement root = LayoutElement.newBuilder().setImage(Image.newBuilder()).build();
+
+ inflateProto(root);
+ }
+
+ @Test
+ public void inflate_imageView_resourceHasNoAndroidResource() {
+ LayoutElement root = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue("no_android_resource_set")))
+ .build();
+
+ inflateProto(root);
+ }
+
+ @Test
+ public void inflate_imageView_androidResourceDoesNotExist() {
+ LayoutElement root = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue("does_not_exist")))
+ .build();
+
+ inflateProto(root);
+ }
+
+ @Test
+ public void inflate_imageView_resourceReferenceDoesNotExist() {
+ LayoutElement root = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue("aaaaaaaaaaaaaa")))
+ .build();
+
+ inflateProto(root);
+ }
+
+ @Test
+ public void inflate_imageView_expandsToParentEvenWhenImageBitmapIsNotSet() {
+ LayoutElement root = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue("invalid"))
+ .setHeight(ImageDimension.newBuilder()
+ .setExpandedDimension(ExpandedDimensionProp
+ .getDefaultInstance()))
+ .setWidth(ImageDimension.newBuilder()
+ .setExpandedDimension(ExpandedDimensionProp
+ .getDefaultInstance())))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ RatioViewWrapper iv = (RatioViewWrapper) rootLayout.getChildAt(0);
+
+ expect.that(iv.getMeasuredWidth()).isEqualTo(SCREEN_WIDTH);
+ expect.that(iv.getMeasuredHeight()).isEqualTo(SCREEN_HEIGHT);
+ }
+
+ @Test
+ public void inflate_imageView_expandsToParentContainerEvenWhenImageBitmapIsNotSet() {
+ Image invalidImage = Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue("invalid"))
+ .setHeight(ImageDimension.newBuilder()
+ .setExpandedDimension(ExpandedDimensionProp.getDefaultInstance()))
+ .setWidth(ImageDimension.newBuilder()
+ .setExpandedDimension(ExpandedDimensionProp.getDefaultInstance()))
+ .build();
+
+ LayoutElement root = LayoutElement.newBuilder()
+ .setBox(Box.newBuilder()
+ .setHeight(ContainerDimension.newBuilder()
+ .setExpandedDimension(ExpandedDimensionProp.getDefaultInstance()))
+ .setWidth(ContainerDimension.newBuilder()
+ .setExpandedDimension(ExpandedDimensionProp.getDefaultInstance()))
+ .setModifiers(Modifiers.newBuilder()
+ .setPadding(Padding.newBuilder()
+ .setTop(DpProp.newBuilder().setValue(50))))
+ .addContents(LayoutElement.newBuilder().setImage(invalidImage)))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+ FrameLayout boxLayout = (FrameLayout) rootLayout.getChildAt(0);
+ RatioViewWrapper iv = (RatioViewWrapper) boxLayout.getChildAt(0);
+
+ expect.that(iv.getMeasuredWidth()).isEqualTo(SCREEN_WIDTH);
+ expect.that(iv.getMeasuredHeight()).isEqualTo(SCREEN_HEIGHT - 50);
+ }
+
+ @Test
+ public void inflate_imageView_usesDimensionsEvenWhenImageBitmapIsNotSet() {
+ LayoutElement root = LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setResourceId(StringProp.newBuilder().setValue("invalid"))
+ .setHeight(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(100)))
+ .setWidth(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder().setValue(100))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root);
+
+ RatioViewWrapper iv = (RatioViewWrapper) rootLayout.getChildAt(0);
+
+ expect.that(iv.getMeasuredWidth()).isEqualTo(100);
+ expect.that(iv.getMeasuredHeight()).isEqualTo(100);
+ }
+
+ @Test
+ public void inflate_spannable_imageOccupiesSpace() {
+ LayoutElement rootWithoutImage = LayoutElement.newBuilder()
+ .setSpannable(Spannable.newBuilder()
+ .addSpans(textSpan("Foo"))
+ .addSpans(textSpan("Bar")))
+ .build();
+
+ LayoutElement rootWithImage = LayoutElement.newBuilder()
+ .setSpannable(Spannable.newBuilder()
+ .addSpans(textSpan("Foo"))
+ .addSpans(Span.newBuilder()
+ .setImage(SpanImage.newBuilder()
+ .setResourceId(StringProp.newBuilder()
+ .setValue("android"))
+ .setHeight(DpProp.newBuilder().setValue(50))
+ .setWidth(DpProp.newBuilder().setValue(50))))
+ .addSpans(textSpan("Bar")))
+ .build();
+
+ FrameLayout rootLayoutWithoutImage = inflateProto(rootWithoutImage);
+ TextView tvInRootLayoutWithoutImage = (TextView) rootLayoutWithoutImage.getChildAt(0);
+ FrameLayout rootLayoutWithImage = inflateProto(rootWithImage);
+ TextView tvInRootLayoutWithImage = (TextView) rootLayoutWithImage.getChildAt(0);
+
+ int widthDiff =
+ tvInRootLayoutWithImage.getMeasuredWidth()
+ - tvInRootLayoutWithoutImage.getMeasuredWidth();
+
+ // Check that the layout with the image is larger by exactly the image's width.
+ expect.that(widthDiff).isEqualTo(50);
+
+ assertThat(tvInRootLayoutWithoutImage.getText().toString()).isEqualTo("FooBar");
+ assertThat(tvInRootLayoutWithImage.getText().toString()).isEqualTo("FooABar");
+ }
+
+ @Test
+ public void inflate_image_intrinsicSizeIsIgnored() {
+ LayoutElement root = LayoutElement.newBuilder()
+ .setBox(Box.newBuilder()
+ .setWidth(ContainerDimension.newBuilder()
+ .setWrappedDimension(WrappedDimensionProp.newBuilder()))
+ .setHeight(ContainerDimension.newBuilder()
+ .setWrappedDimension(
+ WrappedDimensionProp.newBuilder()))
+ .addContents(LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setWidth(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder()
+ .setValue(24f)))
+ .setHeight(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder()
+ .setValue(24f)))
+ .setResourceId(StringProp.newBuilder()
+ .setValue("android"))))
+ .addContents(LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setWidth(ImageDimension.newBuilder()
+ .setExpandedDimension(
+ ExpandedDimensionProp.newBuilder()))
+ .setHeight(ImageDimension.newBuilder()
+ .setExpandedDimension(
+ ExpandedDimensionProp.newBuilder()))
+ .setResourceId(StringProp.newBuilder()
+ .setValue("large_image_120dp")))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root, /* theme= */ 0, resourceResolvers(), p -> {});
+
+ // Outer box should be 24dp
+ FrameLayout firstBox = (FrameLayout) rootLayout.getChildAt(0);
+ expect.that(firstBox.getWidth()).isEqualTo(24);
+ expect.that(firstBox.getHeight()).isEqualTo(24);
+
+ // Both children (images) should have the same dimensions as the FrameLayout.
+ RatioViewWrapper rvw1 = (RatioViewWrapper) firstBox.getChildAt(0);
+ RatioViewWrapper rvw2 = (RatioViewWrapper) firstBox.getChildAt(1);
+
+ expect.that(rvw1.getWidth()).isEqualTo(24);
+ expect.that(rvw1.getHeight()).isEqualTo(24);
+
+ expect.that(rvw2.getWidth()).isEqualTo(24);
+ expect.that(rvw2.getHeight()).isEqualTo(24);
+
+ ImageViewWithoutIntrinsicSizes image1 = (ImageViewWithoutIntrinsicSizes) rvw1.getChildAt(0);
+ ImageViewWithoutIntrinsicSizes image2 = (ImageViewWithoutIntrinsicSizes) rvw2.getChildAt(0);
+
+ expect.that(image1.getWidth()).isEqualTo(24);
+ expect.that(image1.getHeight()).isEqualTo(24);
+
+ expect.that(image2.getWidth()).isEqualTo(24);
+ expect.that(image2.getHeight()).isEqualTo(24);
+ }
+
+ @Test
+ public void inflate_image_undefinedSizeIgnoresIntrinsicSize() {
+ // This can happen in the case that a Tile is ever inflated into a Scrolling layout. In that
+ // case, the scrolling layout will measure all children with height = UNDEFINED, which can
+ // lead to an Image still using its intrinsic size.
+ LayoutElement root = LayoutElement.newBuilder()
+ .setBox(Box.newBuilder()
+ .setWidth(ContainerDimension.newBuilder()
+ .setWrappedDimension(WrappedDimensionProp.newBuilder()))
+ .setHeight(ContainerDimension.newBuilder()
+ .setWrappedDimension(WrappedDimensionProp.newBuilder()))
+ .addContents(LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setWidth(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder()
+ .setValue(24f)))
+ .setHeight(ImageDimension.newBuilder()
+ .setLinearDimension(DpProp.newBuilder()
+ .setValue(24f)))
+ .setResourceId(StringProp.newBuilder()
+ .setValue("android"))))
+ .addContents(LayoutElement.newBuilder()
+ .setImage(Image.newBuilder()
+ .setWidth(ImageDimension.newBuilder()
+ .setExpandedDimension(
+ ExpandedDimensionProp.newBuilder()))
+ .setHeight(ImageDimension.newBuilder()
+ .setExpandedDimension(
+ ExpandedDimensionProp.newBuilder()))
+ .setResourceId(StringProp.newBuilder()
+ .setValue("large_image_120dp")))))
+ .build();
+
+ FrameLayout rootLayout = inflateProto(root, /* theme= */ 0, resourceResolvers(), p -> {});
+
+ // Re-measure the root layout with an UNDEFINED constraint...
+ int screenWidth = MeasureSpec.makeMeasureSpec(SCREEN_WIDTH, MeasureSpec.EXACTLY);
+ int screenHeight = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
+ rootLayout.measure(screenWidth, screenHeight);
+ rootLayout.layout(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
+
+ // Outer box should be 24dp
+ FrameLayout firstBox = (FrameLayout) rootLayout.getChildAt(0);
+ expect.that(firstBox.getWidth()).isEqualTo(24);
+ expect.that(firstBox.getHeight()).isEqualTo(24);
+
+ // Both children (images) should have the same dimensions as the FrameLayout.
+ RatioViewWrapper rvw1 = (RatioViewWrapper) firstBox.getChildAt(0);
+ RatioViewWrapper rvw2 = (RatioViewWrapper) firstBox.getChildAt(1);
+
+ expect.that(rvw1.getWidth()).isEqualTo(24);
+ expect.that(rvw1.getHeight()).isEqualTo(24);
+
+ expect.that(rvw2.getWidth()).isEqualTo(24);
+ expect.that(rvw2.getHeight()).isEqualTo(24);
+
+ ImageViewWithoutIntrinsicSizes image1 = (ImageViewWithoutIntrinsicSizes) rvw1.getChildAt(0);
+ ImageViewWithoutIntrinsicSizes image2 = (ImageViewWithoutIntrinsicSizes) rvw2.getChildAt(0);
+
+ expect.that(image1.getWidth()).isEqualTo(24);
+ expect.that(image1.getHeight()).isEqualTo(24);
+
+ expect.that(image2.getWidth()).isEqualTo(24);
+ expect.that(image2.getHeight()).isEqualTo(24);
+ }
+
+ private static Span textSpan(String text) {
+ return Span.newBuilder()
+ .setText(
+ SpanText.newBuilder()
+ .setText(StringProp.newBuilder().setValue(text))
+ .build())
+ .build();
+ }
+
+ private static ResourceResolvers.Builder resourceResolvers() {
+ return StandardResourceResolvers.forLocalApp(buildResources(), getApplicationContext());
+ }
+
+ private static FrameLayout inflateProto(LayoutElement rootElement) {
+ return inflateProto(rootElement, 0, resourceResolvers(), p -> {});
+ }
+
+ private static FrameLayout inflateProto(
+ LayoutElement rootElement,
+ int theme,
+ ResourceResolvers.Builder resourceResolvers,
+ TileRendererInternal.LoadActionListener loadActionListener) {
+ Context context = getApplicationContext();
+
+ FrameLayout rootLayout = new FrameLayout(context);
+
+ TileRendererInternal renderer =
+ new TileRendererInternal(
+ context,
+ Layout.newBuilder().setRoot(rootElement).build(),
+ resourceResolvers.build(),
+ theme,
+ ContextCompat.getMainExecutor(getApplicationContext()),
+ loadActionListener);
+ renderer.inflate(rootLayout);
+
+ // Run a layout pass etc. This is required for basically everything that tries to make
+ // assertions about width/height, or relative placement.
+ int screenWidth = MeasureSpec.makeMeasureSpec(SCREEN_WIDTH, MeasureSpec.EXACTLY);
+ int screenHeight = MeasureSpec.makeMeasureSpec(SCREEN_HEIGHT, MeasureSpec.EXACTLY);
+ rootLayout.measure(screenWidth, screenHeight);
+ rootLayout.layout(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
+
+ return rootLayout;
+ }
+
+ private static Resources buildResources() {
+ return Resources.newBuilder()
+ .putIdToImage(
+ "android",
+ ImageResource.newBuilder()
+ .setAndroidResourceByResId(AndroidImageResourceByResId.newBuilder()
+ .setResourceId(R.drawable.android_24dp))
+ .build())
+ .putIdToImage(
+ "does_not_exist",
+ ImageResource.newBuilder()
+ .setAndroidResourceByResId(AndroidImageResourceByResId.newBuilder()
+ .setResourceId(-1))
+ .build())
+ .putIdToImage(
+ "large_image_120dp",
+ ImageResource.newBuilder()
+ .setAndroidResourceByResId(AndroidImageResourceByResId.newBuilder()
+ .setResourceId(R.drawable.ic_channel_foreground))
+ .build())
+ .putIdToImage("no_android_resource_set", ImageResource.getDefaultInstance())
+ .build();
+ }
+}
diff --git a/wear/tiles/tiles-renderer/src/test/res/drawable/android_24dp.xml b/wear/tiles/tiles-renderer/src/test/res/drawable/android_24dp.xml
new file mode 100644
index 0000000..b55e5bf
--- /dev/null
+++ b/wear/tiles/tiles-renderer/src/test/res/drawable/android_24dp.xml
@@ -0,0 +1,21 @@
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<vector android:height="24dp" android:tint="#FFFFFF"
+ android:viewportHeight="24" android:viewportWidth="24"
+ android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+ <path android:fillColor="#FF000000" android:pathData="M17.6,11.48 L19.44,8.3a0.63,0.63 0,0 0,-1.09 -0.63l-1.88,3.24a11.43,11.43 0,0 0,-8.94 0L5.65,7.67a0.63,0.63 0,0 0,-1.09 0.63L6.4,11.48A10.81,10.81 0,0 0,1 20L23,20A10.81,10.81 0,0 0,17.6 11.48ZM7,17.25A1.25,1.25 0,1 1,8.25 16,1.25 1.25,0 0,1 7,17.25ZM17,17.25A1.25,1.25 0,1 1,18.25 16,1.25 1.25,0 0,1 17,17.25Z"/>
+</vector>
diff --git a/wear/tiles/tiles-renderer/src/test/res/drawable/ic_channel_foreground.xml b/wear/tiles/tiles-renderer/src/test/res/drawable/ic_channel_foreground.xml
new file mode 100644
index 0000000..259eab1
--- /dev/null
+++ b/wear/tiles/tiles-renderer/src/test/res/drawable/ic_channel_foreground.xml
@@ -0,0 +1,31 @@
+<!--
+ Copyright 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="120dp"
+ android:height="120dp"
+ android:viewportWidth="120"
+ android:viewportHeight="120"
+ android:tint="#FFFFFF">
+ <group android:scaleX="2.9"
+ android:scaleY="2.9"
+ android:translateX="25.2"
+ android:translateY="25.2">
+ <path
+ android:pathData="M17.6,11.48 L19.44,8.3a0.63,0.63 0,0 0,-1.09 -0.63l-1.88,3.24a11.43,11.43 0,0 0,-8.94 0L5.65,7.67a0.63,0.63 0,0 0,-1.09 0.63L6.4,11.48A10.81,10.81 0,0 0,1 20L23,20A10.81,10.81 0,0 0,17.6 11.48ZM7,17.25A1.25,1.25 0,1 1,8.25 16,1.25 1.25,0 0,1 7,17.25ZM17,17.25A1.25,1.25 0,1 1,18.25 16,1.25 1.25,0 0,1 17,17.25Z"
+ android:fillColor="#FF000000"/>
+ </group>
+</vector>
diff --git a/wear/tiles/tiles/api/current.txt b/wear/tiles/tiles/api/current.txt
index 1d82943..e760e85 100644
--- a/wear/tiles/tiles/api/current.txt
+++ b/wear/tiles/tiles/api/current.txt
@@ -710,7 +710,7 @@
public static final class LayoutElementBuilders.Spannable implements androidx.wear.tiles.LayoutElementBuilders.LayoutElement {
method public static androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder builder();
- method public androidx.wear.tiles.DimensionBuilders.SpProp? getLineSpacing();
+ method public androidx.wear.tiles.DimensionBuilders.SpProp? getLineHeight();
method public androidx.wear.tiles.TypeBuilders.Int32Prop? getMaxLines();
method public androidx.wear.tiles.ModifiersBuilders.Modifiers? getModifiers();
method public androidx.wear.tiles.LayoutElementBuilders.HorizontalAlignmentProp? getMultilineAlignment();
@@ -722,8 +722,8 @@
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder addSpan(androidx.wear.tiles.LayoutElementBuilders.Span);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder addSpan(androidx.wear.tiles.LayoutElementBuilders.Span.Builder);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable build();
- method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineSpacing(androidx.wear.tiles.DimensionBuilders.SpProp);
- method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineSpacing(androidx.wear.tiles.DimensionBuilders.SpProp.Builder);
+ method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineHeight(androidx.wear.tiles.DimensionBuilders.SpProp);
+ method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineHeight(androidx.wear.tiles.DimensionBuilders.SpProp.Builder);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setMaxLines(androidx.wear.tiles.TypeBuilders.Int32Prop);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setMaxLines(@IntRange(from=1) int);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setModifiers(androidx.wear.tiles.ModifiersBuilders.Modifiers);
diff --git a/wear/tiles/tiles/api/public_plus_experimental_current.txt b/wear/tiles/tiles/api/public_plus_experimental_current.txt
index 80d61ee..7e68be6 100644
--- a/wear/tiles/tiles/api/public_plus_experimental_current.txt
+++ b/wear/tiles/tiles/api/public_plus_experimental_current.txt
@@ -727,7 +727,7 @@
public static final class LayoutElementBuilders.Spannable implements androidx.wear.tiles.LayoutElementBuilders.LayoutElement {
method public static androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder builder();
- method public androidx.wear.tiles.DimensionBuilders.SpProp? getLineSpacing();
+ method public androidx.wear.tiles.DimensionBuilders.SpProp? getLineHeight();
method public androidx.wear.tiles.TypeBuilders.Int32Prop? getMaxLines();
method public androidx.wear.tiles.ModifiersBuilders.Modifiers? getModifiers();
method public androidx.wear.tiles.LayoutElementBuilders.HorizontalAlignmentProp? getMultilineAlignment();
@@ -739,8 +739,8 @@
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder addSpan(androidx.wear.tiles.LayoutElementBuilders.Span);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder addSpan(androidx.wear.tiles.LayoutElementBuilders.Span.Builder);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable build();
- method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineSpacing(androidx.wear.tiles.DimensionBuilders.SpProp);
- method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineSpacing(androidx.wear.tiles.DimensionBuilders.SpProp.Builder);
+ method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineHeight(androidx.wear.tiles.DimensionBuilders.SpProp);
+ method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineHeight(androidx.wear.tiles.DimensionBuilders.SpProp.Builder);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setMaxLines(androidx.wear.tiles.TypeBuilders.Int32Prop);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setMaxLines(@IntRange(from=1) int);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setModifiers(androidx.wear.tiles.ModifiersBuilders.Modifiers);
diff --git a/wear/tiles/tiles/api/restricted_current.txt b/wear/tiles/tiles/api/restricted_current.txt
index 1d82943..e760e85 100644
--- a/wear/tiles/tiles/api/restricted_current.txt
+++ b/wear/tiles/tiles/api/restricted_current.txt
@@ -710,7 +710,7 @@
public static final class LayoutElementBuilders.Spannable implements androidx.wear.tiles.LayoutElementBuilders.LayoutElement {
method public static androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder builder();
- method public androidx.wear.tiles.DimensionBuilders.SpProp? getLineSpacing();
+ method public androidx.wear.tiles.DimensionBuilders.SpProp? getLineHeight();
method public androidx.wear.tiles.TypeBuilders.Int32Prop? getMaxLines();
method public androidx.wear.tiles.ModifiersBuilders.Modifiers? getModifiers();
method public androidx.wear.tiles.LayoutElementBuilders.HorizontalAlignmentProp? getMultilineAlignment();
@@ -722,8 +722,8 @@
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder addSpan(androidx.wear.tiles.LayoutElementBuilders.Span);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder addSpan(androidx.wear.tiles.LayoutElementBuilders.Span.Builder);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable build();
- method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineSpacing(androidx.wear.tiles.DimensionBuilders.SpProp);
- method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineSpacing(androidx.wear.tiles.DimensionBuilders.SpProp.Builder);
+ method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineHeight(androidx.wear.tiles.DimensionBuilders.SpProp);
+ method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setLineHeight(androidx.wear.tiles.DimensionBuilders.SpProp.Builder);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setMaxLines(androidx.wear.tiles.TypeBuilders.Int32Prop);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setMaxLines(@IntRange(from=1) int);
method public androidx.wear.tiles.LayoutElementBuilders.Spannable.Builder setModifiers(androidx.wear.tiles.ModifiersBuilders.Modifiers);
diff --git a/wear/tiles/tiles/src/main/java/androidx/wear/tiles/LayoutElementBuilders.java b/wear/tiles/tiles/src/main/java/androidx/wear/tiles/LayoutElementBuilders.java
index 5d76b9d..93bb313 100644
--- a/wear/tiles/tiles/src/main/java/androidx/wear/tiles/LayoutElementBuilders.java
+++ b/wear/tiles/tiles/src/main/java/androidx/wear/tiles/LayoutElementBuilders.java
@@ -2597,16 +2597,14 @@
}
/**
- * Gets extra spacing to add between each line. This will apply to all spans regardless of
- * their font size. This is in addition to original line heights. Note that this won't add
- * any additional space before the first line or after the last line. The default value is
- * zero and negative values will decrease the interline spacing. Intended for testing
- * purposes only.
+ * Gets the explicit height between lines of text. This is equivalent to the vertical
+ * distance between subsequent baselines. If not specified, defaults the font's recommended
+ * interline spacing. Intended for testing purposes only.
*/
@Nullable
- public SpProp getLineSpacing() {
- if (mImpl.hasLineSpacing()) {
- return SpProp.fromProto(mImpl.getLineSpacing());
+ public SpProp getLineHeight() {
+ if (mImpl.hasLineHeight()) {
+ return SpProp.fromProto(mImpl.getLineHeight());
} else {
return null;
}
@@ -2754,26 +2752,24 @@
}
/**
- * Sets extra spacing to add between each line. This will apply to all spans regardless
- * of their font size. This is in addition to original line heights. Note that this
- * won't add any additional space before the first line or after the last line. The
- * default value is zero and negative values will decrease the interline spacing.
+ * Sets the explicit height between lines of text. This is equivalent to the vertical
+ * distance between subsequent baselines. If not specified, defaults the font's
+ * recommended interline spacing.
*/
@NonNull
- public Builder setLineSpacing(@NonNull SpProp lineSpacing) {
- mImpl.setLineSpacing(lineSpacing.toProto());
+ public Builder setLineHeight(@NonNull SpProp lineHeight) {
+ mImpl.setLineHeight(lineHeight.toProto());
return this;
}
/**
- * Sets extra spacing to add between each line. This will apply to all spans regardless
- * of their font size. This is in addition to original line heights. Note that this
- * won't add any additional space before the first line or after the last line. The
- * default value is zero and negative values will decrease the interline spacing.
+ * Sets the explicit height between lines of text. This is equivalent to the vertical
+ * distance between subsequent baselines. If not specified, defaults the font's
+ * recommended interline spacing.
*/
@NonNull
- public Builder setLineSpacing(@NonNull SpProp.Builder lineSpacingBuilder) {
- mImpl.setLineSpacing(lineSpacingBuilder.build().toProto());
+ public Builder setLineHeight(@NonNull SpProp.Builder lineHeightBuilder) {
+ mImpl.setLineHeight(lineHeightBuilder.build().toProto());
return this;
}
diff --git a/wear/wear-watchface-editor/src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt b/wear/wear-watchface-editor/src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt
index af0a0322..7e4fb70 100644
--- a/wear/wear-watchface-editor/src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt
+++ b/wear/wear-watchface-editor/src/androidTest/java/androidx/wear/watchface/editor/EditingSessionTest.kt
@@ -39,12 +39,11 @@
import androidx.test.core.app.ActivityScenario
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.FlakyTest
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
-import androidx.wear.complications.ComplicationSlotBounds
import androidx.wear.complications.ComplicationHelperActivity
import androidx.wear.complications.ComplicationProviderInfo
+import androidx.wear.complications.ComplicationSlotBounds
import androidx.wear.complications.DefaultComplicationProviderPolicy
import androidx.wear.complications.ProviderChooserIntent
import androidx.wear.complications.ProviderInfoRetriever
@@ -90,6 +89,7 @@
import kotlinx.coroutines.job
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.withContext
import org.junit.After
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
@@ -235,7 +235,7 @@
public companion object {
public var lastIntent: Intent? = null
- public var resultIntent: Intent? = null
+ public var resultIntent: CompletableDeferred<Intent?>? = null
}
override fun onCreate(savedInstanceState: Bundle?) {
@@ -243,12 +243,14 @@
lastIntent = intent
- setResult(123, resultIntent)
- finish()
+ CoroutineScope(Handler(Looper.getMainLooper()).asCoroutineDispatcher()).launch {
+ setResult(123, resultIntent!!.await())
+ finish()
+ }
}
}
-/** Fake complication provider choooser for testing. */
+/** Fake complication provider chooser for testing. */
public class TestComplicationProviderChooserActivity : Activity() {
public companion object {
@@ -837,12 +839,14 @@
ComplicationType.LONG_TEXT,
provider3
)
- TestComplicationHelperActivity.resultIntent = Intent().apply {
- putExtra(
- "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
- chosenComplicationProviderInfo.toWireComplicationProviderInfo()
- )
- }
+ TestComplicationHelperActivity.resultIntent = CompletableDeferred(
+ Intent().apply {
+ putExtra(
+ "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
+ chosenComplicationProviderInfo.toWireComplicationProviderInfo()
+ )
+ }
+ )
val scenario = createOnWatchFaceEditingTestActivity(
emptyList(),
@@ -890,24 +894,25 @@
}
}
- @FlakyTest(bugId = 189939975)
@Test
public fun launchComplicationProviderChooserTwiceBackToBack() {
ComplicationProviderChooserContract.useTestComplicationHelperActivity = true
- TestComplicationHelperActivity.resultIntent = Intent().apply {
- putExtra(
- "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
- ComplicationProviderInfo(
- "TestProvider3App",
- "TestProvider3",
- Icon.createWithBitmap(
- Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
- ),
- ComplicationType.LONG_TEXT,
- provider3
- ).toWireComplicationProviderInfo()
- )
- }
+ TestComplicationHelperActivity.resultIntent = CompletableDeferred(
+ Intent().apply {
+ putExtra(
+ "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
+ ComplicationProviderInfo(
+ "TestProvider3App",
+ "TestProvider3",
+ Icon.createWithBitmap(
+ Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
+ ),
+ ComplicationType.LONG_TEXT,
+ provider3
+ ).toWireComplicationProviderInfo()
+ )
+ }
+ )
val scenario = createOnWatchFaceEditingTestActivity(
emptyList(),
@@ -920,21 +925,71 @@
}
runBlocking {
- val pendingResult = async {
- editorSession.openComplicationProviderChooser(LEFT_COMPLICATION_ID)
- }
+ assertThat(editorSession.openComplicationProviderChooser(LEFT_COMPLICATION_ID))
+ .isNotNull()
// This shouldn't crash.
assertThat(editorSession.openComplicationProviderChooser(LEFT_COMPLICATION_ID))
.isNotNull()
- assertThat(pendingResult).isNotNull()
+ }
+ }
+
+ @Test
+ public fun launchConcurrentComplicationProviderChoosers() {
+ ComplicationProviderChooserContract.useTestComplicationHelperActivity = true
+ TestComplicationHelperActivity.resultIntent = CompletableDeferred()
+
+ val scenario = createOnWatchFaceEditingTestActivity(
+ emptyList(),
+ listOf(leftComplication, rightComplication)
+ )
+
+ lateinit var editorSession: EditorSession
+ scenario.onActivity { activity ->
+ editorSession = activity.editorSession
+ }
+
+ runBlocking {
+ // This won't complete till later.
+ val firstComplicationProviderChooserResult = async {
+ editorSession.openComplicationProviderChooser(LEFT_COMPLICATION_ID)
+ }
+
+ async {
+ try {
+ editorSession.openComplicationProviderChooser(LEFT_COMPLICATION_ID)
+ fail("A concurrent openComplicationProviderChooser should throw an exception")
+ } catch (e: Exception) {
+ assertThat(e).isInstanceOf(IllegalStateException::class.java)
+ }
+
+ // Allow firstComplicationProviderChooserResult to complete.
+ TestComplicationHelperActivity.resultIntent!!.complete(
+ Intent().apply {
+ putExtra(
+ "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
+ ComplicationProviderInfo(
+ "TestProvider3App",
+ "TestProvider3",
+ Icon.createWithBitmap(
+ Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
+ ),
+ ComplicationType.LONG_TEXT,
+ provider3
+ ).toWireComplicationProviderInfo()
+ )
+ }
+ )
+ }
+
+ assertThat(firstComplicationProviderChooserResult.await()).isNotNull()
}
}
@Test
public fun launchComplicationProviderChooser_chooseEmpty() {
ComplicationProviderChooserContract.useTestComplicationHelperActivity = true
- TestComplicationHelperActivity.resultIntent = Intent().apply {}
+ TestComplicationHelperActivity.resultIntent = CompletableDeferred(Intent())
val scenario = createOnWatchFaceEditingTestActivity(
emptyList(),
@@ -966,7 +1021,10 @@
@Test
public fun launchComplicationProviderChooser_cancel() {
ComplicationProviderChooserContract.useTestComplicationHelperActivity = true
- TestComplicationHelperActivity.resultIntent = null
+ // NB CompletableDeferred(null) doesn't do what we expect...
+ TestComplicationHelperActivity.resultIntent = CompletableDeferred<Intent?>().apply {
+ complete(null)
+ }
val scenario = createOnWatchFaceEditingTestActivity(
emptyList(),
@@ -998,13 +1056,15 @@
ComplicationType.LONG_TEXT,
provider3
)
- TestComplicationHelperActivity.resultIntent = Intent().apply {
- putExtra(
- "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
- chosenComplicationProviderInfo.toWireComplicationProviderInfo()
- )
- putExtra(PROVIDER_CHOOSER_RESULT_EXTRA_KEY, PROVIDER_CHOOSER_RESULT_EXTRA_VALUE)
- }
+ TestComplicationHelperActivity.resultIntent = CompletableDeferred(
+ Intent().apply {
+ putExtra(
+ "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
+ chosenComplicationProviderInfo.toWireComplicationProviderInfo()
+ )
+ putExtra(PROVIDER_CHOOSER_RESULT_EXTRA_KEY, PROVIDER_CHOOSER_RESULT_EXTRA_VALUE)
+ }
+ )
val scenario = createOnWatchFaceEditingTestActivity(
emptyList(),
@@ -1418,9 +1478,27 @@
@Test
public fun cancelDuring_updatePreviewData() {
+ ComplicationProviderChooserContract.useTestComplicationHelperActivity = true
+ TestComplicationHelperActivity.resultIntent = CompletableDeferred(
+ Intent().apply {
+ putExtra(
+ "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
+ ComplicationProviderInfo(
+ "TestProvider3App",
+ "TestProvider3",
+ Icon.createWithBitmap(
+ Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)
+ ),
+ ComplicationType.LONG_TEXT,
+ provider3
+ ).toWireComplicationProviderInfo()
+ )
+ }
+ )
+
lateinit var baseEditorSession: BaseEditorSession
lateinit var providerInfoRetriever: ProviderInfoRetriever
- var forceClosed = false
+ var requestPreviewComplicationDataCount = 0
val scenario = createOnWatchFaceEditingTestActivity(
emptyList(),
listOf(leftComplication, rightComplication),
@@ -1436,34 +1514,41 @@
complicationType: Int,
previewComplicationDataCallback: IPreviewComplicationDataCallback
): Boolean {
- if (!forceClosed) {
+ // Force close the third time this is invoked in response to
+ // openComplicationProviderChooser and a result being selected. The previous two
+ // invocations where done to prime the map for getComplicationsPreviewData().
+ if (++requestPreviewComplicationDataCount == 3) {
baseEditorSession.forceClose()
- forceClosed = true
+ } else {
+ previewComplicationDataCallback.updateComplicationData(
+ ShortTextComplicationData.Builder(
+ PlainComplicationText.Builder("TestData").build(),
+ ComplicationText.EMPTY
+ ).build().asWireComplicationData()
+ )
}
return true
}
}
)
- scenario.onActivity {
- baseEditorSession = it.editorSession as BaseEditorSession
- baseEditorSession.pendingComplicationProviderChooserResult = CompletableDeferred()
- baseEditorSession.onComplicationProviderChooserResult(
- ComplicationProviderChooserResult(
- ComplicationProviderInfo(
- "provider.app",
- "provider",
- providerIcon,
- ComplicationType.SHORT_TEXT,
- providerComponentName
- ),
- Bundle.EMPTY
- )
- )
+
+ scenario.onActivity { activity ->
+ baseEditorSession = activity.editorSession as BaseEditorSession
}
- // Make sure everything that was going to run has run.
- runBlocking {
- baseEditorSession.coroutineScope.coroutineContext.job.join()
+ try {
+ runBlocking {
+ withContext(baseEditorSession.coroutineScope.coroutineContext) {
+ baseEditorSession.openComplicationProviderChooser(RIGHT_COMPLICATION_ID)
+
+ // Make sure everything that was going to run has run.
+ baseEditorSession.coroutineScope.coroutineContext.job.join()
+
+ fail("Should have failed with a JobCancellationException")
+ }
+ }
+ } catch (e: Exception) {
+ assertThat(e.toString()).contains("kotlinx.coroutines.JobCancellationException")
}
// Ensure the providerInfoRetriever was closed despite forceClose() being called.
diff --git a/wear/wear-watchface-editor/src/androidTest/java/androidx/wear/watchface/editor/EditorSessionGuavaTest.kt b/wear/wear-watchface-editor/src/androidTest/java/androidx/wear/watchface/editor/EditorSessionGuavaTest.kt
index e4d28f3..b37a4ef 100644
--- a/wear/wear-watchface-editor/src/androidTest/java/androidx/wear/watchface/editor/EditorSessionGuavaTest.kt
+++ b/wear/wear-watchface-editor/src/androidTest/java/androidx/wear/watchface/editor/EditorSessionGuavaTest.kt
@@ -46,6 +46,7 @@
import androidx.wear.watchface.style.UserStyleSchema
import androidx.wear.watchface.style.UserStyleSetting
import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.CompletableDeferred
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.Mockito
@@ -185,12 +186,14 @@
ComplicationType.LONG_TEXT,
provider3
)
- TestComplicationHelperActivity.resultIntent = Intent().apply {
- putExtra(
- "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
- chosenComplicationProviderInfo.toWireComplicationProviderInfo()
- )
- }
+ TestComplicationHelperActivity.resultIntent = CompletableDeferred(
+ Intent().apply {
+ putExtra(
+ "android.support.wearable.complication.EXTRA_PROVIDER_INFO",
+ chosenComplicationProviderInfo.toWireComplicationProviderInfo()
+ )
+ }
+ )
val scenario = createOnWatchFaceEditingTestActivity(
emptyList(),
listOf(leftComplication, rightComplication)
diff --git a/wear/wear-watchface-editor/src/main/java/androidx/wear/watchface/editor/EditorSession.kt b/wear/wear-watchface-editor/src/main/java/androidx/wear/watchface/editor/EditorSession.kt
index 78e65f9..00766da 100644
--- a/wear/wear-watchface-editor/src/main/java/androidx/wear/watchface/editor/EditorSession.kt
+++ b/wear/wear-watchface-editor/src/main/java/androidx/wear/watchface/editor/EditorSession.kt
@@ -190,6 +190,8 @@
*
* @param complicationSlotId The id of the [androidx.wear.watchface.ComplicationSlot] to select
* a complication provider for.
+ * @throws IllegalStateException if a previous invocation of openComplicationProviderChooser is
+ * still running when openComplicationProviderChooser is called.
*/
@UiThread
public abstract suspend fun openComplicationProviderChooser(complicationSlotId: Int):
@@ -374,12 +376,9 @@
override suspend fun getComplicationsProviderInfo(): Map<Int, ComplicationProviderInfo?> =
deferredComplicationsProviderInfoMap.await()
- /** Pending result for [openComplicationProviderChooser]. */
+ /** Pending result for ComplicationProviderChooserRequest. */
internal var pendingComplicationProviderChooserResult:
- CompletableDeferred<ChosenComplicationProvider?>? = null
-
- /** The id of the complication being configured due to [openComplicationProviderChooser]. */
- private var pendingComplicationProviderId: Int = -1
+ CompletableDeferred<ComplicationProviderChooserResult?>? = null
private val chooseComplicationProvider =
activity.registerForActivityResult(ComplicationProviderChooserContract()) {
@@ -389,45 +388,11 @@
internal fun onComplicationProviderChooserResult(
complicationProviderChooserResult: ComplicationProviderChooserResult?
) {
- // Check if the user cancelled the provider chooser.
- if (complicationProviderChooserResult == null) {
- pendingComplicationProviderChooserResult?.complete(null)
+ synchronized(this) {
+ val deferredResult = pendingComplicationProviderChooserResult
pendingComplicationProviderChooserResult = null
- return
- }
- val providerInfoRetriever =
- providerInfoRetrieverProvider.getProviderInfoRetriever()
- coroutineScope.launchWithTracing(
- "BaseEditorSession.onComplicationProviderChooserResult"
- ) {
- try {
- val complicationsProviderInfoMap = deferredComplicationsProviderInfoMap.await()
- complicationsProviderInfoMap[pendingComplicationProviderId] =
- complicationProviderChooserResult.providerInfo
- val previewData = getPreviewData(
- providerInfoRetriever,
- complicationProviderChooserResult.providerInfo
- )
- val complicationPreviewDataMap = deferredComplicationPreviewDataMap.await()
- if (previewData == null) {
- complicationPreviewDataMap[pendingComplicationProviderId] =
- EmptyComplicationData()
- } else {
- complicationPreviewDataMap[pendingComplicationProviderId] = previewData
- }
- pendingComplicationProviderChooserResult?.complete(
- ChosenComplicationProvider(
- pendingComplicationProviderId,
- complicationProviderChooserResult.providerInfo,
- complicationProviderChooserResult.extras,
- )
- )
- pendingComplicationProviderChooserResult = null
- } finally {
- // This gets called after the above coroutine has finished.
- providerInfoRetriever.close()
- }
- }
+ deferredResult
+ }!!.complete(complicationProviderChooserResult)
}
override suspend fun openComplicationProviderChooser(
@@ -439,20 +404,68 @@
require(!complicationSlotsState[complicationSlotId]!!.fixedComplicationProvider) {
"Can't configure fixed complication ID $complicationSlotId"
}
- // If there's a previous openComplicationProviderChooser invocation in flight then wait for
- // it to complete.
- pendingComplicationProviderChooserResult?.await()
- pendingComplicationProviderChooserResult = CompletableDeferred()
- pendingComplicationProviderId = complicationSlotId
- chooseComplicationProvider.launch(
- ComplicationProviderChooserRequest(
- this,
- complicationSlotId,
- watchFaceId.id
+ val deferredResult = CompletableDeferred<ComplicationProviderChooserResult?>()
+
+ synchronized(this) {
+ // The ComplicationProviderChooser is modal so it doesn't make sense to allow concurrent
+ // invocations so bail out if there's a pending result.
+ if (pendingComplicationProviderChooserResult != null) {
+ throw IllegalStateException(
+ "Concurrent openComplicationProviderChooser invocation is not supported"
+ )
+ }
+ pendingComplicationProviderChooserResult = deferredResult
+
+ chooseComplicationProvider.launch(
+ ComplicationProviderChooserRequest(
+ this,
+ complicationSlotId,
+ watchFaceId.id
+ )
)
- )
- return pendingComplicationProviderChooserResult!!.await()
+ }
+
+ val complicationProviderChooserResult = try {
+ deferredResult.await()
+ } finally {
+ synchronized(this) {
+ pendingComplicationProviderChooserResult = null
+ }
+ }
+
+ // If deferredResult was null then the user canceled so return null.
+ if (complicationProviderChooserResult == null) {
+ return null
+ }
+
+ val providerInfoRetriever =
+ providerInfoRetrieverProvider.getProviderInfoRetriever()
+
+ try {
+ val complicationsProviderInfoMap = deferredComplicationsProviderInfoMap.await()
+ complicationsProviderInfoMap[complicationSlotId] =
+ complicationProviderChooserResult.providerInfo
+ val previewData = getPreviewData(
+ providerInfoRetriever,
+ complicationProviderChooserResult.providerInfo
+ )
+ val complicationPreviewDataMap = deferredComplicationPreviewDataMap.await()
+ if (previewData == null) {
+ complicationPreviewDataMap[complicationSlotId] =
+ EmptyComplicationData()
+ } else {
+ complicationPreviewDataMap[complicationSlotId] = previewData
+ }
+ return ChosenComplicationProvider(
+ complicationSlotId,
+ complicationProviderChooserResult.providerInfo,
+ complicationProviderChooserResult.extras,
+ )
+ } finally {
+ // This gets called after the above coroutine has finished.
+ providerInfoRetriever.close()
+ }
}
override val backgroundComplicationSlotId: Int? by lazy {
@@ -506,13 +519,12 @@
private fun makeFallbackPreviewData(
providerInfo: ComplicationProviderInfo
- ) =
- ShortTextComplicationData.Builder(
- PlainComplicationText.Builder(providerInfo.name).build(),
- ComplicationText.EMPTY
- ).setMonochromaticImage(
- MonochromaticImage.Builder(providerInfo.icon).build()
- ).build()
+ ) = ShortTextComplicationData.Builder(
+ PlainComplicationText.Builder(providerInfo.name).build(),
+ ComplicationText.EMPTY
+ ).setMonochromaticImage(
+ MonochromaticImage.Builder(providerInfo.icon).build()
+ ).build()
protected fun fetchComplicationsData() {
val providerInfoRetriever = providerInfoRetrieverProvider.getProviderInfoRetriever()
diff --git a/wear/wear-watchface/api/current.txt b/wear/wear-watchface/api/current.txt
index 5479dfe..cb50825 100644
--- a/wear/wear-watchface/api/current.txt
+++ b/wear/wear-watchface/api/current.txt
@@ -11,6 +11,7 @@
method public androidx.wear.complications.data.ComplicationData? getData();
method public boolean isHighlighted();
method public void loadData(androidx.wear.complications.data.ComplicationData? complicationData, boolean loadDrawablesAsynchronous);
+ method @WorkerThread public default void onRendererCreated(androidx.wear.watchface.Renderer renderer);
method @UiThread public void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, android.icu.util.Calendar calendar, androidx.wear.watchface.RenderParameters renderParameters);
method public void setIsHighlighted(boolean p);
property public abstract boolean isHighlighted;
diff --git a/wear/wear-watchface/api/public_plus_experimental_current.txt b/wear/wear-watchface/api/public_plus_experimental_current.txt
index 5479dfe..cb50825 100644
--- a/wear/wear-watchface/api/public_plus_experimental_current.txt
+++ b/wear/wear-watchface/api/public_plus_experimental_current.txt
@@ -11,6 +11,7 @@
method public androidx.wear.complications.data.ComplicationData? getData();
method public boolean isHighlighted();
method public void loadData(androidx.wear.complications.data.ComplicationData? complicationData, boolean loadDrawablesAsynchronous);
+ method @WorkerThread public default void onRendererCreated(androidx.wear.watchface.Renderer renderer);
method @UiThread public void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, android.icu.util.Calendar calendar, androidx.wear.watchface.RenderParameters renderParameters);
method public void setIsHighlighted(boolean p);
property public abstract boolean isHighlighted;
diff --git a/wear/wear-watchface/api/restricted_current.txt b/wear/wear-watchface/api/restricted_current.txt
index cb323a1..bc6df21 100644
--- a/wear/wear-watchface/api/restricted_current.txt
+++ b/wear/wear-watchface/api/restricted_current.txt
@@ -37,6 +37,7 @@
method public androidx.wear.complications.data.ComplicationData? getData();
method public boolean isHighlighted();
method public void loadData(androidx.wear.complications.data.ComplicationData? complicationData, boolean loadDrawablesAsynchronous);
+ method @WorkerThread public default void onRendererCreated(androidx.wear.watchface.Renderer renderer);
method @UiThread public void render(android.graphics.Canvas canvas, android.graphics.Rect bounds, android.icu.util.Calendar calendar, androidx.wear.watchface.RenderParameters renderParameters);
method public void setIsHighlighted(boolean p);
property public abstract boolean isHighlighted;
diff --git a/wear/wear-watchface/src/main/java/androidx/wear/watchface/CanvasComplicationFactory.java b/wear/wear-watchface/src/main/java/androidx/wear/watchface/CanvasComplicationFactory.java
index 6d46712..25c050a 100644
--- a/wear/wear-watchface/src/main/java/androidx/wear/watchface/CanvasComplicationFactory.java
+++ b/wear/wear-watchface/src/main/java/androidx/wear/watchface/CanvasComplicationFactory.java
@@ -28,7 +28,9 @@
/**
* Creates a CanvasComplication. This will be called on a background thread, however all
* CanvasComplication rendering will be done on the UI thread and there's a memory barrier
- * between construction and usage so no special threading primitives are required.
+ * between construction and usage so no special threading primitives are required. If the
+ * CanvasComplication needs to share state with the Renderer then it should override
+ * onRendererCreated.
*
* @param watchState The current WatchState
* @param invalidateCallback The CanvasComplication.InvalidateCallback the constructed
diff --git a/wear/wear-watchface/src/main/java/androidx/wear/watchface/ComplicationSlot.kt b/wear/wear-watchface/src/main/java/androidx/wear/watchface/ComplicationSlot.kt
index 2a0b0a6..3b85ee5 100644
--- a/wear/wear-watchface/src/main/java/androidx/wear/watchface/ComplicationSlot.kt
+++ b/wear/wear-watchface/src/main/java/androidx/wear/watchface/ComplicationSlot.kt
@@ -25,6 +25,7 @@
import androidx.annotation.ColorInt
import androidx.annotation.Px
import androidx.annotation.UiThread
+import androidx.annotation.WorkerThread
import androidx.wear.complications.ComplicationSlotBounds
import androidx.wear.complications.DefaultComplicationProviderPolicy
import androidx.wear.complications.data.ComplicationData
@@ -36,7 +37,11 @@
import androidx.wear.watchface.style.UserStyleSetting.ComplicationSlotsUserStyleSetting.ComplicationSlotOverlay
import androidx.wear.watchface.RenderParameters.HighlightedElement
-/** Interface for rendering complicationSlots onto a [Canvas]. */
+/**
+ * Interface for rendering complicationSlots onto a [Canvas]. These should be created by
+ * [CanvasComplicationFactory.create]. If state needs to be shared with the [Renderer] that should
+ * be set up inside [onRendererCreated].
+ */
public interface CanvasComplication {
/** Interface for observing when a [CanvasComplication] needs the screen to be redrawn. */
@@ -46,6 +51,15 @@
}
/**
+ * Called once on a background thread before any subsequent UI thread rendering to inform the
+ * CanvasComplication of the [Renderer] which is useful if they need to share state. Note the
+ * [Renderer] is created asynchronously which is why we can't pass it in via
+ * [CanvasComplicationFactory.create] as it may not be available at that time.
+ */
+ @WorkerThread
+ public fun onRendererCreated(renderer: Renderer) {}
+
+ /**
* Draws the complication defined by [getData] into the canvas with the specified bounds.
* This will usually be called by user watch face drawing code, but the system may also call it
* for complication selection UI rendering. The width and height will be the same as that
diff --git a/wear/wear-watchface/src/main/java/androidx/wear/watchface/ComplicationSlotsManager.kt b/wear/wear-watchface/src/main/java/androidx/wear/watchface/ComplicationSlotsManager.kt
index 9fa54d5..6e3b513 100644
--- a/wear/wear-watchface/src/main/java/androidx/wear/watchface/ComplicationSlotsManager.kt
+++ b/wear/wear-watchface/src/main/java/androidx/wear/watchface/ComplicationSlotsManager.kt
@@ -170,7 +170,7 @@
complication.init(complicationSlotInvalidateListener)
// Force lazy construction of renderers.
- complication.renderer
+ complication.renderer.onRendererCreated(renderer)
}
// Activate complicationSlots.
diff --git a/wear/wear-watchface/src/main/java/androidx/wear/watchface/Renderer.kt b/wear/wear-watchface/src/main/java/androidx/wear/watchface/Renderer.kt
index 336172f..f9882ea 100644
--- a/wear/wear-watchface/src/main/java/androidx/wear/watchface/Renderer.kt
+++ b/wear/wear-watchface/src/main/java/androidx/wear/watchface/Renderer.kt
@@ -122,7 +122,7 @@
@IntRange(from = 0, to = 60000)
public var interactiveDrawModeUpdateDelayMillis: Long,
) {
- internal lateinit var watchFaceHostApi: WatchFaceHostApi
+ internal var watchFaceHostApi: WatchFaceHostApi? = null
init {
surfaceHolder.addCallback(
@@ -195,7 +195,7 @@
"must be >= 0"
}
}
- watchFaceHostApi.updateContentDescriptionLabels()
+ watchFaceHostApi?.updateContentDescriptionLabels()
}
/** Called when the Renderer is destroyed. */
@@ -277,9 +277,7 @@
*/
@UiThread
public fun invalidate() {
- if (this::watchFaceHostApi.isInitialized) {
- watchFaceHostApi.invalidate()
- }
+ watchFaceHostApi?.invalidate()
}
/**
@@ -288,9 +286,7 @@
* on any thread.
*/
public fun postInvalidate() {
- if (this::watchFaceHostApi.isInitialized) {
- watchFaceHostApi.getUiThreadHandler().post { watchFaceHostApi.invalidate() }
- }
+ watchFaceHostApi?.getUiThreadHandler()?.post { watchFaceHostApi!!.invalidate() }
}
@UiThread
@@ -671,8 +667,8 @@
@WorkerThread
public fun makeBackgroundThreadContextCurrent() {
require(
- !this::watchFaceHostApi.isInitialized ||
- watchFaceHostApi.getBackgroundThreadHandler().looper.isCurrentThread
+ watchFaceHostApi == null ||
+ watchFaceHostApi!!.getBackgroundThreadHandler().looper.isCurrentThread
) {
"makeBackgroundThreadContextCurrent must be called from the Background Thread"
}
@@ -727,7 +723,7 @@
*/
@UiThread
public fun makeUiThreadContextCurrent() {
- require(watchFaceHostApi.getUiThreadHandler().looper.isCurrentThread) {
+ require(watchFaceHostApi!!.getUiThreadHandler().looper.isCurrentThread) {
"makeUiThreadContextCurrent must be called from the UiThread"
}
if (!EGL14.eglMakeCurrent(
diff --git a/wear/wear-watchface/src/main/java/androidx/wear/watchface/WatchFace.kt b/wear/wear-watchface/src/main/java/androidx/wear/watchface/WatchFace.kt
index 75c3068..e248ef1 100644
--- a/wear/wear-watchface/src/main/java/androidx/wear/watchface/WatchFace.kt
+++ b/wear/wear-watchface/src/main/java/androidx/wear/watchface/WatchFace.kt
@@ -540,6 +540,10 @@
renderer.watchFaceHostApi = watchFaceHostApi
renderer.uiThreadInit()
+ if (renderer.additionalContentDescriptionLabels.isNotEmpty()) {
+ watchFaceHostApi.updateContentDescriptionLabels()
+ }
+
setIsBatteryLowAndNotChargingFromBatteryStatus(
IntentFilter(Intent.ACTION_BATTERY_CHANGED).let { iFilter ->
watchFaceHostApi.getContext().registerReceiver(null, iFilter)
diff --git a/wear/wear-watchface/src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt b/wear/wear-watchface/src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt
index 912ca4f..d79e267 100644
--- a/wear/wear-watchface/src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt
+++ b/wear/wear-watchface/src/test/java/androidx/wear/watchface/WatchFaceServiceTest.kt
@@ -43,6 +43,7 @@
import androidx.wear.complications.DefaultComplicationProviderPolicy
import androidx.wear.complications.SystemProviders
import androidx.wear.complications.data.ComplicationType
+import androidx.wear.complications.data.PlainComplicationText
import androidx.wear.complications.data.ShortTextComplicationData
import androidx.wear.watchface.complications.rendering.CanvasComplicationDrawable
import androidx.wear.watchface.complications.rendering.ComplicationDrawable
@@ -2506,6 +2507,17 @@
@Test
public fun complicationsUserStyleSetting_with_setComplicationBounds() {
+ val rightComplicationBoundsOption = ComplicationSlotsOption(
+ Option.Id(RIGHT_COMPLICATION),
+ "Right",
+ null,
+ listOf(
+ ComplicationSlotOverlay.Builder(RIGHT_COMPLICATION_ID)
+ .setComplicationSlotBounds(
+ ComplicationSlotBounds(RectF(0.1f, 0.1f, 0.2f, 0.2f))
+ ).build()
+ )
+ )
val complicationsStyleSetting = ComplicationSlotsUserStyleSetting(
UserStyleSetting.Id("complications_style_setting"),
"AllComplicationSlots",
@@ -2513,27 +2525,175 @@
icon = null,
complicationConfig = listOf(
ComplicationSlotsOption(
- Option.Id(RIGHT_COMPLICATION),
- "Right",
+ Option.Id("Default"),
+ "Default",
null,
- listOf(
- ComplicationSlotOverlay.Builder(LEFT_COMPLICATION_ID)
- .setComplicationSlotBounds(
- ComplicationSlotBounds(RectF(10f, 10f, 20f, 20f))
- ).build()
- )
- )
+ emptyList()
+ ),
+ rightComplicationBoundsOption
),
affectsWatchFaceLayers = listOf(WatchFaceLayer.COMPLICATIONS)
)
- // This should not crash.
+ initWallpaperInteractiveWatchFaceInstance(
+ WatchFaceType.ANALOG,
+ listOf(leftComplication, rightComplication),
+ UserStyleSchema(listOf(complicationsStyleSetting)),
+ WallpaperInteractiveWatchFaceInstanceParams(
+ "interactiveInstanceId",
+ DeviceConfig(
+ false,
+ false,
+ 0,
+ 0
+ ),
+ WatchUiState(false, 0),
+ UserStyle(emptyMap()).toWireFormat(),
+ listOf(
+ IdAndComplicationDataWireFormat(
+ LEFT_COMPLICATION_ID,
+ ComplicationData.Builder(ComplicationData.TYPE_SHORT_TEXT)
+ .setShortText(ComplicationText.plainText("INITIAL_VALUE"))
+ .build()
+ )
+ )
+ )
+ )
+
+ var complicationDetails = watchFaceImpl.getComplicationState()
+ assertThat(complicationDetails[1].id).isEqualTo(RIGHT_COMPLICATION_ID)
+ assertThat(complicationDetails[1].complicationState.bounds).isEqualTo(
+ Rect(60, 40, 80, 60)
+ )
+
+ // Select a style which changes the bounds of the right complication.
+ val newStyle = HashMap(currentUserStyleRepository.userStyle.selectedOptions)
+ newStyle[complicationsStyleSetting] = rightComplicationBoundsOption
+ currentUserStyleRepository.userStyle = UserStyle(newStyle)
+
+ complicationDetails = watchFaceImpl.getComplicationState()
+ assertThat(complicationDetails[1].id).isEqualTo(RIGHT_COMPLICATION_ID)
+ assertThat(complicationDetails[1].complicationState.bounds).isEqualTo(
+ Rect(10, 10, 20, 20)
+ )
+ }
+
+ @Test
+ public fun canvasComplication_onRendererCreated() {
+ val leftCanvasComplication = mock<CanvasComplication>()
+ val leftComplication =
+ ComplicationSlot.createRoundRectComplicationBuilder(
+ LEFT_COMPLICATION_ID,
+ { _, _ -> leftCanvasComplication },
+ listOf(
+ ComplicationType.SHORT_TEXT,
+ ),
+ DefaultComplicationProviderPolicy(SystemProviders.PROVIDER_SUNRISE_SUNSET),
+ ComplicationSlotBounds(RectF(0.2f, 0.4f, 0.4f, 0.6f))
+ ).setDefaultProviderType(ComplicationType.SHORT_TEXT)
+ .build()
+
+ val rightCanvasComplication = mock<CanvasComplication>()
+ val rightComplication =
+ ComplicationSlot.createRoundRectComplicationBuilder(
+ RIGHT_COMPLICATION_ID,
+ { _, _ -> rightCanvasComplication },
+ listOf(
+ ComplicationType.SHORT_TEXT,
+ ),
+ DefaultComplicationProviderPolicy(SystemProviders.PROVIDER_DATE),
+ ComplicationSlotBounds(RectF(0.6f, 0.4f, 0.8f, 0.6f))
+ ).setDefaultProviderType(ComplicationType.SHORT_TEXT)
+ .build()
+
initEngine(
WatchFaceType.DIGITAL,
listOf(leftComplication, rightComplication),
- UserStyleSchema(listOf(complicationsStyleSetting)),
- apiVersion = 4
+ UserStyleSchema(emptyList())
)
+
+ verify(leftCanvasComplication).onRendererCreated(renderer)
+ verify(rightCanvasComplication).onRendererCreated(renderer)
+ }
+
+ @Test
+ public fun additionalContentDescriptionLabelsSetBeforeWatchFaceInitComplete() {
+ testWatchFaceService = TestWatchFaceService(
+ WatchFaceType.ANALOG,
+ emptyList(),
+ { _, currentUserStyleRepository, watchState ->
+ renderer = TestRenderer(
+ surfaceHolder,
+ currentUserStyleRepository,
+ watchState,
+ INTERACTIVE_UPDATE_RATE_MS
+ )
+ // Set additionalContentDescriptionLabels before renderer.watchFaceHostApi has been
+ // set.
+ renderer.additionalContentDescriptionLabels = listOf(
+ Pair(
+ 0,
+ ContentDescriptionLabel(
+ PlainComplicationText.Builder("Example").build(),
+ Rect(10, 10, 20, 20),
+ null
+ )
+ )
+ )
+ renderer
+ },
+ UserStyleSchema(emptyList()),
+ watchState,
+ handler,
+ null,
+ false,
+ null
+ )
+
+ InteractiveInstanceManager
+ .getExistingInstanceOrSetPendingWallpaperInteractiveWatchFaceInstance(
+ InteractiveInstanceManager.PendingWallpaperInteractiveWatchFaceInstance(
+ WallpaperInteractiveWatchFaceInstanceParams(
+ "TestID",
+ DeviceConfig(
+ false,
+ false,
+ 0,
+ 0
+ ),
+ WatchUiState(false, 0),
+ UserStyle(emptyMap()).toWireFormat(),
+ emptyList()
+ ),
+ object : IPendingInteractiveWatchFace.Stub() {
+ override fun getApiVersion() =
+ IPendingInteractiveWatchFace.API_VERSION
+
+ override fun onInteractiveWatchFaceCreated(
+ iInteractiveWatchFace: IInteractiveWatchFace
+ ) {
+ interactiveWatchFaceInstance = iInteractiveWatchFace
+ }
+
+ override fun onInteractiveWatchFaceCrashed(exception: CrashInfoParcel?) {
+ fail("WatchFace crashed: $exception")
+ }
+ }
+ )
+ )
+
+ engineWrapper = testWatchFaceService.onCreateEngine() as WatchFaceService.EngineWrapper
+ engineWrapper.onCreate(surfaceHolder)
+ engineWrapper.onSurfaceChanged(surfaceHolder, 0, 100, 100)
+
+ // Check the additional ContentDescriptionLabel was applied.
+ assertThat(engineWrapper.contentDescriptionLabels.size).isEqualTo(2)
+ assertThat(
+ engineWrapper.contentDescriptionLabels[1].text.getTextAt(
+ ApplicationProvider.getApplicationContext<Context>().resources,
+ 0
+ )
+ ).isEqualTo("Example")
}
@Suppress("DEPRECATION")