Merge "Put back default value to `ellipsis: Boolean` overload of (Multi)Paragraph ctor" into androidx-main
diff --git a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldDelegate.kt b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldDelegate.kt
index 6841b89..e2d5bc9 100644
--- a/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldDelegate.kt
+++ b/compose/foundation/foundation/src/commonMain/kotlin/androidx/compose/foundation/text/TextFieldDelegate.kt
@@ -46,6 +46,7 @@
 import androidx.compose.ui.text.input.TextInputSession
 import androidx.compose.ui.text.input.TransformedText
 import androidx.compose.ui.text.style.TextDecoration
+import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.Constraints
 import androidx.compose.ui.unit.Density
 import androidx.compose.ui.unit.IntSize
@@ -82,7 +83,7 @@
             style = style,
             spanStyles = listOf(),
             maxLines = maxLines,
-            ellipsis = false,
+            overflow = TextOverflow.Clip,
             density = density,
             fontFamilyResolver = fontFamilyResolver,
             constraints = Constraints()
diff --git a/compose/ui/ui-text/api/current.ignore b/compose/ui/ui-text/api/current.ignore
index 4870663..9a97707 100644
--- a/compose/ui/ui-text/api/current.ignore
+++ b/compose/ui/ui-text/api/current.ignore
@@ -1,9 +1 @@
 // Baseline format: 1.0
-DefaultValueChange: androidx.compose.ui.text.MultiParagraph#MultiParagraph(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.TextStyle, long, androidx.compose.ui.unit.Density, androidx.compose.ui.text.font.FontFamily.Resolver, java.util.List>, int, boolean) parameter #7:
-    Attempted to remove default value from parameter ellipsis in androidx.compose.ui.text.MultiParagraph
-DefaultValueChange: androidx.compose.ui.text.MultiParagraph#MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics, long, int, boolean) parameter #3:
-    Attempted to remove default value from parameter ellipsis in androidx.compose.ui.text.MultiParagraph
-DefaultValueChange: androidx.compose.ui.text.ParagraphKt#Paragraph(String, androidx.compose.ui.text.TextStyle, long, androidx.compose.ui.unit.Density, androidx.compose.ui.text.font.FontFamily.Resolver, java.util.List>, java.util.List>, int, boolean) parameter #8:
-    Attempted to remove default value from parameter ellipsis in androidx.compose.ui.text.ParagraphKt.Paragraph
-DefaultValueChange: androidx.compose.ui.text.ParagraphKt#Paragraph(androidx.compose.ui.text.ParagraphIntrinsics, long, int, boolean) parameter #3:
-    Attempted to remove default value from parameter ellipsis in androidx.compose.ui.text.ParagraphKt.Paragraph
diff --git a/compose/ui/ui-text/api/current.txt b/compose/ui/ui-text/api/current.txt
index a600ccc..198b6c9 100644
--- a/compose/ui/ui-text/api/current.txt
+++ b/compose/ui/ui-text/api/current.txt
@@ -167,10 +167,10 @@
   public final class MultiParagraph {
     ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis);
     ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
-    ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> placeholders, optional int maxLines, boolean ellipsis);
+    ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis);
     ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> placeholders, optional int maxLines, optional int overflow);
     ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
-    ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, long constraints, optional int maxLines, boolean ellipsis);
+    ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, long constraints, optional int maxLines, optional boolean ellipsis);
     ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, long constraints, optional int maxLines, optional int overflow);
     method public float[] fillBoundingBoxes(long range, float[] array, @IntRange(from=0L) int arrayStart);
     method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
@@ -298,11 +298,11 @@
 
   public final class ParagraphKt {
     method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, optional int maxLines, optional boolean ellipsis, float width);
-    method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, long constraints, optional int maxLines, boolean ellipsis);
+    method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, long constraints, optional int maxLines, optional boolean ellipsis);
     method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, long constraints, optional int maxLines, optional int overflow);
     method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis);
     method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
-    method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, boolean ellipsis);
+    method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis);
     method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, optional int overflow);
   }
 
diff --git a/compose/ui/ui-text/api/restricted_current.ignore b/compose/ui/ui-text/api/restricted_current.ignore
index 4870663..9a97707 100644
--- a/compose/ui/ui-text/api/restricted_current.ignore
+++ b/compose/ui/ui-text/api/restricted_current.ignore
@@ -1,9 +1 @@
 // Baseline format: 1.0
-DefaultValueChange: androidx.compose.ui.text.MultiParagraph#MultiParagraph(androidx.compose.ui.text.AnnotatedString, androidx.compose.ui.text.TextStyle, long, androidx.compose.ui.unit.Density, androidx.compose.ui.text.font.FontFamily.Resolver, java.util.List>, int, boolean) parameter #7:
-    Attempted to remove default value from parameter ellipsis in androidx.compose.ui.text.MultiParagraph
-DefaultValueChange: androidx.compose.ui.text.MultiParagraph#MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics, long, int, boolean) parameter #3:
-    Attempted to remove default value from parameter ellipsis in androidx.compose.ui.text.MultiParagraph
-DefaultValueChange: androidx.compose.ui.text.ParagraphKt#Paragraph(String, androidx.compose.ui.text.TextStyle, long, androidx.compose.ui.unit.Density, androidx.compose.ui.text.font.FontFamily.Resolver, java.util.List>, java.util.List>, int, boolean) parameter #8:
-    Attempted to remove default value from parameter ellipsis in androidx.compose.ui.text.ParagraphKt.Paragraph
-DefaultValueChange: androidx.compose.ui.text.ParagraphKt#Paragraph(androidx.compose.ui.text.ParagraphIntrinsics, long, int, boolean) parameter #3:
-    Attempted to remove default value from parameter ellipsis in androidx.compose.ui.text.ParagraphKt.Paragraph
diff --git a/compose/ui/ui-text/api/restricted_current.txt b/compose/ui/ui-text/api/restricted_current.txt
index 6858bcb..ca420b0 100644
--- a/compose/ui/ui-text/api/restricted_current.txt
+++ b/compose/ui/ui-text/api/restricted_current.txt
@@ -167,10 +167,10 @@
   public final class MultiParagraph {
     ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis);
     ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
-    ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> placeholders, optional int maxLines, boolean ellipsis);
+    ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis);
     ctor public MultiParagraph(androidx.compose.ui.text.AnnotatedString annotatedString, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> placeholders, optional int maxLines, optional int overflow);
     ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, optional int maxLines, optional boolean ellipsis, float width);
-    ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, long constraints, optional int maxLines, boolean ellipsis);
+    ctor @Deprecated public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, long constraints, optional int maxLines, optional boolean ellipsis);
     ctor public MultiParagraph(androidx.compose.ui.text.MultiParagraphIntrinsics intrinsics, long constraints, optional int maxLines, optional int overflow);
     method public float[] fillBoundingBoxes(long range, float[] array, @IntRange(from=0L) int arrayStart);
     method public androidx.compose.ui.text.style.ResolvedTextDirection getBidiRunDirection(int offset);
@@ -298,11 +298,11 @@
 
   public final class ParagraphKt {
     method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, optional int maxLines, optional boolean ellipsis, float width);
-    method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, long constraints, optional int maxLines, boolean ellipsis);
+    method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, long constraints, optional int maxLines, optional boolean ellipsis);
     method public static androidx.compose.ui.text.Paragraph Paragraph(androidx.compose.ui.text.ParagraphIntrinsics paragraphIntrinsics, long constraints, optional int maxLines, optional int overflow);
     method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis);
     method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis, float width, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.Font.ResourceLoader resourceLoader);
-    method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, boolean ellipsis);
+    method @Deprecated public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, optional boolean ellipsis);
     method public static androidx.compose.ui.text.Paragraph Paragraph(String text, androidx.compose.ui.text.TextStyle style, long constraints, androidx.compose.ui.unit.Density density, androidx.compose.ui.text.font.FontFamily.Resolver fontFamilyResolver, optional java.util.List> spanStyles, optional java.util.List> placeholders, optional int maxLines, optional int overflow);
   }
 
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraph.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraph.kt
index b6d6baf..73645ff 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraph.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/MultiParagraph.kt
@@ -72,12 +72,15 @@
      * @param maxLines the maximum number of lines that the text can have
      * @param ellipsis whether to ellipsize text, applied only when [maxLines] is set
      */
-    @Deprecated("Constructor with `ellipsis: Boolean` is deprecated, pass TextOverflow instead ")
+    @Deprecated(
+        "Constructor with `ellipsis: Boolean` is deprecated, pass TextOverflow instead",
+        level = DeprecationLevel.HIDDEN
+    )
     constructor(
         intrinsics: MultiParagraphIntrinsics,
         constraints: Constraints,
         maxLines: Int = DefaultMaxLines,
-        ellipsis: Boolean,
+        ellipsis: Boolean = false,
     ) : this(
         intrinsics = intrinsics,
         constraints = constraints,
@@ -162,7 +165,7 @@
                 fontFamilyResolver = createFontFamilyResolver(resourceLoader)
             ),
         maxLines = maxLines,
-        ellipsis = ellipsis,
+        overflow = if (ellipsis) TextOverflow.Ellipsis else TextOverflow.Clip,
         constraints = Constraints(maxWidth = width.ceilToInt())
     )
 
@@ -239,7 +242,10 @@
      *   [placeholders] crosses paragraph boundary.
      * @see Placeholder
      */
-    @Deprecated("Constructor with `ellipsis: Boolean` is deprecated, pass TextOverflow instead")
+    @Deprecated(
+        "Constructor with `ellipsis: Boolean` is deprecated, pass TextOverflow instead",
+        level = DeprecationLevel.HIDDEN
+    )
     constructor(
         annotatedString: AnnotatedString,
         style: TextStyle,
@@ -248,7 +254,7 @@
         fontFamilyResolver: FontFamily.Resolver,
         placeholders: List> = listOf(),
         maxLines: Int = Int.MAX_VALUE,
-        ellipsis: Boolean
+        ellipsis: Boolean = false
     ) : this(
         intrinsics =
             MultiParagraphIntrinsics(
diff --git a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt
index 36ba20c..4a852ab 100644
--- a/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt
+++ b/compose/ui/ui-text/src/commonMain/kotlin/androidx/compose/ui/text/Paragraph.kt
@@ -500,7 +500,10 @@
  * @param ellipsis whether to ellipsize text, applied only when [maxLines] is set
  * @throws IllegalArgumentException if [ParagraphStyle.textDirection] is not set
  */
-@Deprecated("Paragraph that takes `ellipsis: Boolean` is deprecated, pass TextOverflow instead.")
+@Deprecated(
+    "Paragraph that takes `ellipsis: Boolean` is deprecated, pass TextOverflow instead.",
+    level = DeprecationLevel.HIDDEN
+)
 fun Paragraph(
     text: String,
     style: TextStyle,
@@ -510,7 +513,7 @@
     spanStyles: List> = listOf(),
     placeholders: List> = listOf(),
     maxLines: Int = DefaultMaxLines,
-    ellipsis: Boolean
+    ellipsis: Boolean = false
 ): Paragraph =
     ActualParagraph(
         text,
@@ -615,13 +618,14 @@
     ReplaceWith(
         "Paragraph(paragraphIntrinsics, constraints, maxLines, " +
             "if (ellipsis) TextOverflow.Ellipsis else TextOverflow.Clip"
-    )
+    ),
+    level = DeprecationLevel.HIDDEN
 )
 fun Paragraph(
     paragraphIntrinsics: ParagraphIntrinsics,
     constraints: Constraints,
     maxLines: Int = DefaultMaxLines,
-    ellipsis: Boolean
+    ellipsis: Boolean = false
 ): Paragraph =
     ActualParagraph(
         paragraphIntrinsics,