From 03f2321bb29c0a6d4fa79d69b6603d2a86fa331f Mon Sep 17 00:00:00 2001 From: pkurchatov Date: Mon, 6 Apr 2026 14:05:42 +0300 Subject: [PATCH] Added @ExperimentalApi annotations commit_hash:c3d75e4e995a359993e5fd22145298ded43a561b --- .../com/yandex/div/compose/DivComposeConfiguration.kt | 4 ++-- .../src/main/kotlin/com/yandex/div/compose/DivContext.kt | 4 ++-- .../main/kotlin/com/yandex/div/compose/DivException.kt | 6 +++--- .../com/yandex/div/compose/DivFontFamilyProvider.kt | 9 +++++++-- .../main/kotlin/com/yandex/div/compose/DivReporter.kt | 4 ++-- .../src/main/kotlin/com/yandex/div/compose/DivView.kt | 2 ++ .../com/yandex/div/compose/actions/DivActionData.kt | 6 +++--- .../div/compose/actions/DivActionHandlingContext.kt | 6 +++--- .../yandex/div/compose/actions/DivCustomActionData.kt | 6 +++--- .../div/compose/actions/DivExternalActionHandler.kt | 4 ++-- .../yandex/div/compose/internal/ImageLoaderProvider.kt | 2 +- 11 files changed, 30 insertions(+), 23 deletions(-) diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivComposeConfiguration.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivComposeConfiguration.kt index 314830271..9deb7c322 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivComposeConfiguration.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivComposeConfiguration.kt @@ -7,8 +7,8 @@ import com.yandex.div.compose.actions.DivExternalActionHandler import com.yandex.div.compose.dagger.Names import com.yandex.div.compose.dagger.`Yatagan$DivContextComponent` import com.yandex.div.compose.internal.DivDebugConfiguration +import com.yandex.div.core.annotations.ExperimentalApi import com.yandex.div.core.annotations.InternalApi -import com.yandex.div.core.annotations.PublicApi import com.yandex.div.core.expression.variables.DivVariableController import com.yandex.yatagan.Module import com.yandex.yatagan.Provides @@ -28,7 +28,7 @@ import javax.inject.Named * } */ @Module -@PublicApi +@ExperimentalApi class DivComposeConfiguration( @get:Provides val actionHandler: DivExternalActionHandler = defaultActionHandler, diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivContext.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivContext.kt index 64a862e28..1ce6d6ceb 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivContext.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivContext.kt @@ -7,8 +7,8 @@ import com.yandex.div.compose.context.DivLocalContext import com.yandex.div.compose.context.DivViewContext import com.yandex.div.compose.dagger.DivContextComponent import com.yandex.div.compose.internal.DivDebugFeatures +import com.yandex.div.core.annotations.ExperimentalApi import com.yandex.div.core.annotations.InternalApi -import com.yandex.div.core.annotations.PublicApi import com.yandex.div.core.expression.variables.DivVariableController import com.yandex.div.evaluable.function.GeneratedBuiltinFunctionProvider import com.yandex.div.internal.expressions.FunctionProviderDecorator @@ -27,7 +27,7 @@ import javax.inject.Inject * val configuration = DivComposeConfiguration() * val divContext = configuration.createContext(baseContext = activity) */ -@PublicApi +@ExperimentalApi class DivContext @Inject @MainThread internal constructor( internal val component: DivContextComponent ) : ContextWrapper(component.baseContext) { diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivException.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivException.kt index 8518f49cd..f5c0ccd07 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivException.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivException.kt @@ -1,9 +1,9 @@ package com.yandex.div.compose -import com.yandex.div.core.annotations.PublicApi +import com.yandex.div.core.annotations.ExperimentalApi /** * Exception thrown when an unrecoverable error occurs in DivKit pipeline. */ -@PublicApi -class DivException(message: String) : Exception(message) +@ExperimentalApi +class DivException internal constructor(message: String) : Exception(message) diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivFontFamilyProvider.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivFontFamilyProvider.kt index f6f7193fe..e111708e1 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivFontFamilyProvider.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivFontFamilyProvider.kt @@ -2,9 +2,14 @@ package com.yandex.div.compose import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight -import com.yandex.div.core.annotations.PublicApi +import com.yandex.div.core.annotations.ExperimentalApi -@PublicApi +/** + * Provides [FontFamily] for the text elements inside [DivView]. + * + * @see DivComposeConfiguration + */ +@ExperimentalApi interface DivFontFamilyProvider { fun getFontFamily(fontFamilyName: String?, weight: FontWeight): FontFamily } diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivReporter.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivReporter.kt index f42db8751..63ba603ad 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivReporter.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivReporter.kt @@ -1,6 +1,6 @@ package com.yandex.div.compose -import com.yandex.div.core.annotations.PublicApi +import com.yandex.div.core.annotations.ExperimentalApi import com.yandex.div.internal.Log /** @@ -10,7 +10,7 @@ import com.yandex.div.internal.Log * * @see DivComposeConfiguration */ -@PublicApi +@ExperimentalApi open class DivReporter { open fun reportError(message: String) { diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivView.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivView.kt index 2a2f87e74..dcfb66b83 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivView.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/DivView.kt @@ -9,6 +9,7 @@ import com.yandex.div.compose.triggers.observe import com.yandex.div.compose.utils.divContext import com.yandex.div.compose.utils.reporter import com.yandex.div.compose.views.DivBlockView +import com.yandex.div.core.annotations.ExperimentalApi import com.yandex.div2.DivData /** @@ -27,6 +28,7 @@ import com.yandex.div2.DivData * @param data the [DivData] describing the layout to render. * @param modifier the [Modifier] to be applied to the root layout. */ +@ExperimentalApi @Composable fun DivView( data: DivData, diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivActionData.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivActionData.kt index b45775ceb..7ac0de938 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivActionData.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivActionData.kt @@ -1,14 +1,14 @@ package com.yandex.div.compose.actions import android.net.Uri -import com.yandex.div.core.annotations.PublicApi +import com.yandex.div.core.annotations.ExperimentalApi import org.json.JSONObject /** * Data associated with a DivKit action. */ -@PublicApi -data class DivActionData( +@ExperimentalApi +data class DivActionData internal constructor( val id: String, val payload: JSONObject?, val url: Uri? diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivActionHandlingContext.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivActionHandlingContext.kt index 00976e2dc..19aeefff9 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivActionHandlingContext.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivActionHandlingContext.kt @@ -1,7 +1,7 @@ package com.yandex.div.compose.actions +import com.yandex.div.core.annotations.ExperimentalApi import com.yandex.div.core.annotations.Mockable -import com.yandex.div.core.annotations.PublicApi import com.yandex.div.json.expressions.ExpressionResolver import javax.inject.Inject @@ -10,7 +10,7 @@ import javax.inject.Inject * scoped to the element that triggered the action. */ @Mockable -@PublicApi -class DivActionHandlingContext @Inject constructor( +@ExperimentalApi +class DivActionHandlingContext @Inject internal constructor( val expressionResolver: ExpressionResolver ) diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivCustomActionData.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivCustomActionData.kt index efa55555d..bdde3e274 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivCustomActionData.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivCustomActionData.kt @@ -1,13 +1,13 @@ package com.yandex.div.compose.actions -import com.yandex.div.core.annotations.PublicApi +import com.yandex.div.core.annotations.ExperimentalApi import org.json.JSONObject /** * Data associated with a custom DivKit action (action with `"type": "custom"`). */ -@PublicApi -data class DivCustomActionData( +@ExperimentalApi +data class DivCustomActionData internal constructor( val id: String, val payload: JSONObject? ) diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivExternalActionHandler.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivExternalActionHandler.kt index d1132c752..e15db1bb3 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivExternalActionHandler.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/actions/DivExternalActionHandler.kt @@ -1,6 +1,6 @@ package com.yandex.div.compose.actions -import com.yandex.div.core.annotations.PublicApi +import com.yandex.div.core.annotations.ExperimentalApi /** * Handler for actions that DivKit does not handle internally. @@ -9,7 +9,7 @@ import com.yandex.div.core.annotations.PublicApi * * @see com.yandex.div.compose.DivComposeConfiguration */ -@PublicApi +@ExperimentalApi interface DivExternalActionHandler { /** diff --git a/client/android/compose/src/main/kotlin/com/yandex/div/compose/internal/ImageLoaderProvider.kt b/client/android/compose/src/main/kotlin/com/yandex/div/compose/internal/ImageLoaderProvider.kt index 8ded38879..d100fce54 100644 --- a/client/android/compose/src/main/kotlin/com/yandex/div/compose/internal/ImageLoaderProvider.kt +++ b/client/android/compose/src/main/kotlin/com/yandex/div/compose/internal/ImageLoaderProvider.kt @@ -7,4 +7,4 @@ import com.yandex.div.core.annotations.InternalApi @InternalApi fun interface ImageLoaderProvider { fun provide(context: Context): ImageLoader -} \ No newline at end of file +}