Status Update
Comments
gs...@gmail.com <gs...@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
cl...@google.com <cl...@google.com>
an...@google.com <an...@google.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();
gs...@gmail.com <gs...@gmail.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.
ap...@google.com <ap...@google.com> #5
Possible fix looks like it would be to include the hash in JvmName
annotation.
@get:JvmName("getTextAlign-buA522U")
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.
an...@google.com <an...@google.com> #7
Created
al...@mercari.com <al...@mercari.com> #8
minimal repro attached
an...@google.com <an...@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
Version of Gradle Plugin: gradle:4.2.0-alpha09
OS: Android 9
Compose version : 1.0.0-alpha02
Kotlin compiler: 1.4.0
Problem
When I use LazyColumnFor and try to drag all the list to the end or do a fast drag between items it seems like its choppy and not smooth, if I drag till the end it will glitch on the last item
Example
@Composable
fun RecipeColumnListDemo(recipeList:List<Recipe>){
LazyColumnFor(items = recipeList) { item ->
RecipeCard(recipe = item)
}
}
where RecipeCard(recipe) loads images sincronously
@Composable
private fun RecipeCard(recipe: Recipe){
val image = imageResource(R.drawable.header)
Surface(shape = RoundedCornerShape(8.dp),elevation = 8.dp,modifier = Modifier.padding(8.dp)) {
Column(modifier = Modifier.padding(16.dp)) {
val imageModifier = Modifier.preferredHeight(150.dp).fillMaxWidth().clip(shape = RoundedCornerShape(8.dp))
Image(asset = image,modifier = imageModifier,contentScale = ContentScale.Crop)
Spacer(modifier = Modifier.preferredHeight(16.dp))
Text(text = recipe.title,style = typography.h6)
for(ingredient in recipe.ingredients){
Text(text = "* $ingredient",style = typography.body2)
}
}
}
}
I have also changed the way I load images with loadImageResource, but its also not a smooth scroll when I fast drag to the end of the list
Is this issue on my side ?
I have tried JetChat and it uses a ScrollableColumn which the scrolling is smoother than the the LazyColumnFor
Video: