Status Update
Comments
ca...@gmail.com <ca...@gmail.com> #2
val textAlign: TextAlign get() = this.paragraphStyle.textAlign
@Deprecated("Kept for backwards compatibility.", level = DeprecationLevel.WARNING)
@get:JvmName("getTextAlign")
@Suppress("unused")
val deprecated_boxing_textAlign: TextAlign? get() = this.textAlign
and the bytecode that studio shows me:
// access flags 0x11
public final getTextAlign-e0LSkKk()I
L0
LINENUMBER 1405 L0
ALOAD 0
GETFIELD androidx/compose/ui/text/TextStyle.paragraphStyle : Landroidx/compose/ui/text/ParagraphStyle;
INVOKEVIRTUAL androidx/compose/ui/text/ParagraphStyle.getTextAlign-e0LSkKk ()I
IRETURN
L1
LOCALVARIABLE this Landroidx/compose/ui/text/TextStyle; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
// DEPRECATED
// access flags 0x20011
public final getTextAlign()Landroidx/compose/ui/text/style/TextAlign;
@Lkotlin/jvm/JvmName;(name="getTextAlign") // invisible
@Lorg/jetbrains/annotations/Nullable;() // invisible
L0
LINENUMBER 1410 L0
ALOAD 0
INVOKEVIRTUAL androidx/compose/ui/text/TextStyle.getTextAlign-e0LSkKk ()I
INVOKESTATIC androidx/compose/ui/text/style/TextAlign.box-impl (I)Landroidx/compose/ui/text/style/TextAlign;
ARETURN
L1
LOCALVARIABLE this Landroidx/compose/ui/text/TextStyle; L0 L1 0
MAXSTACK = 1
MAXLOCALS = 1
ca...@gmail.com <ca...@gmail.com> #3
Inspected the JARs
❯ javap -cp 1.6.0-rc01-classes.jar androidx.compose.ui.text.TextStyle | grep getTextAlign
public final int getTextAlign-e0LSkKk();
public final androidx.compose.ui.text.style.TextAlign getTextAlign();
public static void getTextAlign$annotations();
❯ javap -cp 1.5.4-classes.jar androidx.compose.ui.text.TextStyle | grep getTextAlign
public final androidx.compose.ui.text.style.TextAlign getTextAlign-buA522U();
jo...@google.com <jo...@google.com>
ae...@google.com <ae...@google.com> #4
1.5.4
, but a non-null type in 1.6.0-rc01
. The rest of the contents of the hash are the same.
on...@aol.com <on...@aol.com> #5
Possible fix looks like it would be to include the hash in JvmName
annotation.
@get:JvmName("getTextAlign-buA522U")
ra...@google.com <ra...@google.com>
ap...@google.com <ap...@google.com> #6
In addition to TextAlign, we've changed TextDirection, Hyphens and LineBreak at the same time. So let's update all of them at once.
ra...@google.com <ra...@google.com>
na...@google.com <na...@google.com> #7
Created
na...@google.com <na...@google.com> #8
minimal repro attached
pr...@google.com <pr...@google.com> #9
Verified the fix in
In Android Studio I built aosp/2918751 by running the demo app.
Then, I found the jar file used in the build at:
~/workspace/androidx-main/out/androidx/compose/ui/ui-text/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar
I modified the repro project build.gradle
(project, not library) to remove the module being changed via adding the following above dependencies
at the top level:
configurations.all {
exclude(group = "androidx.compose.ui", module = "ui-text")
}
and then adding it back in to the project via the following inside the dependencies
:
dependencies {
...
implementation(files("~/workspace/androidx-main/out/androidx/compose/ui/ui-text/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar"))
}
By this not immediately crashing on start up, it verifies that the currently incompatible methods have been made compatible with the change in aosp/2918751.
Description
Description has been deleted.