Profile avatar
saurabharora.bsky.social
Android @the other "not be named here" app (xD). Google Developer Expert (#GDE) for Android. Calisthenics junkie. Previously Android Tech Lead @Viki
48 posts 711 followers 147 following
Regular Contributor
Active Commenter
comment in response to post
Are you saying it's not normal?
comment in response to post
Ah I see I see. So both are right in their own way. Might be good to have that in your post?
comment in response to post
Definitely need to try this out. It should compare referentially unless it depends on the underlying List implementation (operator overloading?) or compose compiler has special handling for Lists
comment in response to post
"Referential equality returns true if the List reference is the same; it does not care about its content" Is this true? I need to try this out myself. Your post & Google's official post say different things Their post says it calls equals on every item in the list. medium.com/androiddevel...
comment in response to post
And these are the two countries I extremely frequently travel too!
comment in response to post
Recently I was working on shared element transition for an image and that was another use case to remove ripple. The ripple overlay while the transition was ongoing wasn't nice
comment in response to post
You'll stop receiving these emails on about 7 days (read as: We are buying time so you forget that you had unsubscribed from us. Rinse and repeat)
comment in response to post
I am already bracing for merge conflict hell
comment in response to post
It's framework B is scaling better for us than Framework A so rip out A
comment in response to post
Woah
comment in response to post
This is excatly what I am doing for my side project. Choose the right stack but not setup the framework yet.
comment in response to post
The more time I spend in India, the more I feel Meta will win the consumer race. Your average Joe here has no clue about Gemini, ChatGPT, Claude, etc.
comment in response to post
Putting bias aside is a hallmark of a good engineer 😂
comment in response to post
We are experimenting with both and haven't settled on one yet
comment in response to post
Post media was recomposed because the click lambda it had, that was changed (same as the event lambda). To avoid this, you would want to key by post id, thereby overriding the default behaviour of strong skipping 2/2
comment in response to post
Yeah so the compiler will key the lambda with the values captured by the lambda. So if the lambda captures a post object, when you react on a post, a new post item will be emitted (as likes count was updated), invaliding the remembered lambda, causing a recomposition of, let's say post media. 1/2
comment in response to post
That's only with strong skipping enabled AFAIK? Else you'll need to call remember yourself?
comment in response to post
Don't think so. I can whip up a blog post on how we use it if it would help
comment in response to post
Yep. Just make sure to use the right key
comment in response to post
+1 I agree with both circuit and what the article says. There are some places where you'll need to get creative though, like pagersa and tabs. But we haven't found it limiting yet in any way (early days)
comment in response to post
Quite good so far. It does need a few aha moments to really start liking it. One of them for me was composing presenters to build UI states. Another popular discussion right now is around data classes having lambda. Circuit promotes this pattern and honestly, it works quite well with Circuit
comment in response to post
We've shipped a few things with it to prod
comment in response to post
I've been using Circuit a a lot and I believe it doesn't do anything special for this. Nearly always, your state (which holds the lambda) will change, so eventSink based recompositions are mostly a part of other recomposition. Though I mostly end up remembering the eventSink nonetheless.
comment in response to post
I always prefer separate models as I wouldn't want nullable fields where the UI (based on the receiver) always expects them. So for this case I would go with (1). If the parameter list is small, then I would go with (2)
comment in response to post
Worked like a charm. Thanks
comment in response to post
This is such a welcome change! Looking forward to it (and hopefully our replies is an encouragement to plough through it)
comment in response to post
Personally I've felt side effects have some role to play. Informing UI layer to load next page, animations, analytics. But maybe these are the 1%?
comment in response to post
Same case with Google ads SDK. I believe these components aren't going to be ported to compose for another year or two
comment in response to post
Add to it the current ongoing discussion about side effects being a poison, it make me rip my hairs out
comment in response to post
My challenge hasn't been with the interop when it comes to video. It's the ability to easily pause the video when we move from one screen to another. The previous composition disposableEffect's onDispose is run AFTER the new composition DisposableEffect which makes it a weird timing dance.
comment in response to post
I refuse to belive they haven't had one moment with Compose, where they went WOW! They just won't talk about it 😂
comment in response to post
Some criticism is valid though. I've had my share of issues with video playback in Compose. The problem is constantly highlighting edge cases, making it seem like it's the norm with Compose. People forget the mess Views brought—ViewCompat, posting to UI threads, etc.
comment in response to post
But it does seem like it will take a backseat. Which begs the question if open issues/bugs will be addressed? Otherwise it will just be tech debt couple of years down the line.
comment in response to post
My wife worked in a similar position for 2 years. She, a PM, & other devs were based in one region while the EMs where in US. Work prioritization, project kickoffs, post mortems always needed to be routed through US,causing delays. Sometimes she felt they didn't even understand the ground reality.
comment in response to post
Might as well give a new one at this point. Though it's really sad this happened :(
comment in response to post
They broke it?! I hope they have a refund/policy for this.
comment in response to post
New project - > Select min SDK version dialog - > PANIC
comment in response to post
Planning to visit the Taj Mahal? I am in India too currently!
comment in response to post
This and watch are absolute favorites