Skip to content

Commit

Permalink
Create ExperimentalAdaptiveApi annotation
Browse files Browse the repository at this point in the history
  • Loading branch information
khalp committed Jun 12, 2023
1 parent 752e04c commit 41a7c60
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 3 deletions.
7 changes: 5 additions & 2 deletions adaptive/api/current.api
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@ package com.google.accompanist.adaptive {
method @androidx.compose.runtime.Composable public static java.util.List<androidx.window.layout.DisplayFeature> calculateDisplayFeatures(android.app.Activity activity);
}

@kotlin.RequiresOptIn(message="This APIs are experimental and may change in the future.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalAdaptiveApi {
}

public final class FoldAwareColumnKt {
method @androidx.compose.runtime.Composable public static void FoldAwareColumn(java.util.List<? extends androidx.window.layout.DisplayFeature> displayFeatures, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.layout.PaddingValues foldPadding, optional androidx.compose.ui.Alignment.Horizontal horizontalAlignment, kotlin.jvm.functions.Function1<? super com.google.accompanist.adaptive.FoldAwareColumnScope,kotlin.Unit> content);
method @androidx.compose.runtime.Composable @com.google.accompanist.adaptive.ExperimentalAdaptiveApi public static void FoldAwareColumn(java.util.List<? extends androidx.window.layout.DisplayFeature> displayFeatures, optional androidx.compose.ui.Modifier modifier, optional androidx.compose.foundation.layout.PaddingValues foldPadding, optional androidx.compose.ui.Alignment.Horizontal horizontalAlignment, kotlin.jvm.functions.Function1<? super com.google.accompanist.adaptive.FoldAwareColumnScope,kotlin.Unit> content);
}

@androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable public interface FoldAwareColumnScope {
@androidx.compose.foundation.layout.LayoutScopeMarker @androidx.compose.runtime.Immutable @com.google.accompanist.adaptive.ExperimentalAdaptiveApi public interface FoldAwareColumnScope {
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);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/*
* Copyright 2023 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
*
* https://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 com.google.accompanist.adaptive

@RequiresOptIn(message = "This APIs are experimental and may change in the future.")
@Retention(AnnotationRetention.BINARY)
annotation class ExperimentalAdaptiveApi
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ import kotlin.math.roundToInt
* @param horizontalAlignment the horizontal alignment of the layout's children.
*/
@Composable
@ExperimentalAdaptiveApi
public fun FoldAwareColumn(
displayFeatures: List<DisplayFeature>,
modifier: Modifier = Modifier,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import androidx.compose.ui.platform.debugInspectorInfo
*/
@LayoutScopeMarker
@Immutable
@ExperimentalAdaptiveApi
public interface FoldAwareColumnScope {
/**
* Ignore the fold when placing this child within the [FoldAwareColumn].
Expand Down Expand Up @@ -91,6 +92,7 @@ public interface FoldAwareColumnScope {
fun Modifier.alignBy(alignmentLineBlock: (Measured) -> Int): Modifier
}

@ExperimentalAdaptiveApi
internal object FoldAwareColumnScopeInstance : FoldAwareColumnScope {
@Stable
override fun Modifier.ignoreFold() = this.then(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.IntOffset
import androidx.compose.ui.unit.dp
import com.google.accompanist.adaptive.ExperimentalAdaptiveApi
import com.google.accompanist.adaptive.FoldAwareColumn
import com.google.accompanist.adaptive.calculateDisplayFeatures
import com.google.accompanist.sample.AccompanistSampleTheme
Expand All @@ -64,6 +65,7 @@ class DraggableFoldAwareColumnSample : ComponentActivity() {
}
}

@OptIn(ExperimentalAdaptiveApi::class)
@Composable
fun DraggableExample(activity: Activity) {
var offset by remember { mutableStateOf(Offset(0f, 0f)) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.google.accompanist.adaptive.ExperimentalAdaptiveApi
import com.google.accompanist.adaptive.FoldAwareColumn
import com.google.accompanist.adaptive.calculateDisplayFeatures
import com.google.accompanist.sample.AccompanistSampleTheme
Expand All @@ -64,7 +65,7 @@ class NavDrawerFoldAwareColumnSample : ComponentActivity() {
}
}

@OptIn(ExperimentalMaterial3Api::class)
@OptIn(ExperimentalMaterial3Api::class, ExperimentalAdaptiveApi::class)
@Composable
fun NavDrawerExample(activity: Activity) {
val icons = listOf(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
import com.google.accompanist.adaptive.ExperimentalAdaptiveApi
import com.google.accompanist.adaptive.FoldAwareColumn
import com.google.accompanist.adaptive.calculateDisplayFeatures
import com.google.accompanist.sample.AccompanistSampleTheme
Expand All @@ -64,6 +65,7 @@ class NavRailFoldAwareColumnSample : ComponentActivity() {
}
}

@OptIn(ExperimentalAdaptiveApi::class)
@Composable
fun NavRail(activity: Activity) {
val icons = listOf(
Expand Down

0 comments on commit 41a7c60

Please sign in to comment.