Merge "Remove unused InactiveTextField since we move the logic into CoreTextField" into androidx-main
diff --git a/compose/foundation/foundation/api/current.txt b/compose/foundation/foundation/api/current.txt
index 1962168..add412c 100644
--- a/compose/foundation/foundation/api/current.txt
+++ b/compose/foundation/foundation/api/current.txt
@@ -550,9 +550,6 @@
public final class CoreTextKt {
}
- public final class InactiveTextFieldKt {
- }
-
@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();
diff --git a/compose/foundation/foundation/api/public_plus_experimental_current.txt b/compose/foundation/foundation/api/public_plus_experimental_current.txt
index 1962168..add412c 100644
--- a/compose/foundation/foundation/api/public_plus_experimental_current.txt
+++ b/compose/foundation/foundation/api/public_plus_experimental_current.txt
@@ -550,9 +550,6 @@
public final class CoreTextKt {
}
- public final class InactiveTextFieldKt {
- }
-
@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();
diff --git a/compose/foundation/foundation/api/restricted_current.txt b/compose/foundation/foundation/api/restricted_current.txt
index 1962168..add412c 100644
--- a/compose/foundation/foundation/api/restricted_current.txt
+++ b/compose/foundation/foundation/api/restricted_current.txt
@@ -550,9 +550,6 @@
public final class CoreTextKt {
}
- public final class InactiveTextFieldKt {
- }
-
@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();
diff --git a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/InactiveTextFieldTest.kt b/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/InactiveTextFieldTest.kt
deleted file mode 100644
index 98a2f91..0000000
--- a/compose/foundation/foundation/src/androidAndroidTest/kotlin/androidx/compose/foundation/textfield/InactiveTextFieldTest.kt
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright 2020 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.foundation.textfield
-
-import androidx.compose.foundation.Interaction
-import androidx.compose.foundation.InteractionState
-import androidx.compose.foundation.layout.requiredWidth
-import androidx.compose.foundation.text.InactiveTextField
-import androidx.compose.ui.Modifier
-import androidx.compose.ui.composed
-import androidx.compose.ui.focus.FocusRequester
-import androidx.compose.ui.focus.focusRequester
-import androidx.compose.ui.platform.testTag
-import androidx.compose.foundation.text.selection.LocalSelectionRegistrar
-import androidx.compose.ui.test.assertIsEnabled
-import androidx.compose.ui.test.assertIsFocused
-import androidx.compose.ui.test.assertIsNotEnabled
-import androidx.compose.ui.test.junit4.createComposeRule
-import androidx.compose.ui.test.onNodeWithTag
-import androidx.compose.ui.text.input.TextFieldValue
-import androidx.compose.ui.unit.dp
-import androidx.test.ext.junit.runners.AndroidJUnit4
-import androidx.test.filters.MediumTest
-import com.google.common.truth.Truth.assertThat
-import org.junit.Rule
-import org.junit.Test
-import org.junit.runner.RunWith
-
-@RunWith(AndroidJUnit4::class)
-@MediumTest
-class InactiveTextFieldTest {
- @get:Rule
- val rule = createComposeRule()
-
- private val text = TextFieldValue("test")
- private val tag = "InactiveTextField"
-
- @Test
- fun inactiveTextField_disabled_noFocus() {
- val interactionState = InteractionState()
- val focusRequester = FocusRequester()
- rule.setContent {
- InactiveTextField(
- value = text,
- modifier = Modifier.testTag(tag).focusRequester(focusRequester),
- enabled = false,
- interactionState = interactionState
- )
- }
-
- rule.runOnIdle {
- focusRequester.requestFocus()
- assertThat(interactionState.contains(Interaction.Focused)).isFalse()
- }
-
- rule.onNodeWithTag(tag)
- .assertIsNotEnabled()
- }
-
- @Test
- fun inactiveTextField_enabled_focusable() {
- val interactionState = InteractionState()
- val focusRequester = FocusRequester()
- rule.setContent {
- InactiveTextField(
- value = text,
- modifier = Modifier.testTag(tag).focusRequester(focusRequester),
- enabled = true,
- interactionState = interactionState
- )
- }
- rule.runOnIdle {
- assertThat(interactionState.contains(Interaction.Focused)).isFalse()
- }
-
- rule.runOnIdle {
- focusRequester.requestFocus()
- assertThat(interactionState.contains(Interaction.Focused)).isTrue()
- }
- rule.onNodeWithTag(tag)
- .assertIsFocused()
- .assertIsEnabled()
- }
-
- @Test
- fun inactiveTextField_disabled_noSelection() {
- rule.setContent {
- InactiveTextField(
- value = text,
- modifier = Modifier.testTag(tag).requiredWidth(100.dp).composed {
- assertThat(LocalSelectionRegistrar.current).isNull()
- Modifier
- },
- enabled = false
- )
- }
- }
-
- @Test
- fun inactiveTextField_enabled_selectable() {
- rule.setContent {
- InactiveTextField(
- value = text,
- modifier = Modifier.composed {
- assertThat(LocalSelectionRegistrar.current).isNotNull()
- Modifier
- },
- enabled = true
- )
- }
- }
-}
\ No newline at end of file
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/InactiveTextField.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/InactiveTextField.kt
deleted file mode 100644
index 791a40a..0000000
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/InactiveTextField.kt
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright 2020 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.foundation.text
-
-import androidx.compose.foundation.InteractionState
-import androidx.compose.foundation.focusable
-import androidx.compose.runtime.Composable
-import androidx.compose.runtime.remember
-import androidx.compose.ui.Modifier
-import androidx.compose.foundation.text.selection.DisableSelection
-import androidx.compose.foundation.text.selection.SelectionContainer
-import androidx.compose.ui.semantics.disabled
-import androidx.compose.ui.semantics.semantics
-import androidx.compose.ui.text.TextLayoutResult
-import androidx.compose.ui.text.TextStyle
-import androidx.compose.ui.text.input.TextFieldValue
-import androidx.compose.ui.text.input.VisualTransformation
-
-/**
- * Implements disabled and readonly text field using Text.
- */
-@Composable
-internal fun InactiveTextField(
- value: TextFieldValue,
- modifier: Modifier = Modifier,
- enabled: Boolean = true,
- textStyle: TextStyle = TextStyle.Default,
- singleLine: Boolean = false,
- maxLines: Int = Int.MAX_VALUE,
- visualTransformation: VisualTransformation = VisualTransformation.None,
- onTextLayout: (TextLayoutResult) -> Unit = {},
- interactionState: InteractionState? = null
-) {
- val transformedText = remember(value, visualTransformation) {
- visualTransformation.filter(value.annotatedString)
- }.text
-
- val text: @Composable (Modifier) -> Unit = @Composable { textModifier ->
- BasicText(
- text = transformedText,
- modifier = textModifier.semantics {
- if (!enabled) disabled()
- },
- softWrap = !singleLine,
- maxLines = if (singleLine) 1 else maxLines,
- style = textStyle,
- onTextLayout = onTextLayout
- )
- }
- val textModifier = modifier.focusable(enabled, interactionState)
- if (enabled) {
- SelectionContainer(textModifier) {
- text(Modifier)
- }
- } else {
- DisableSelection {
- text(textModifier)
- }
- }
-}
\ No newline at end of file