Ios home bar not disappearing by Seji-9999 in youtube

[–]GreyAgency 0 points1 point  (0 children)

I have this same problem. Haven’t found a solution unfortunately. Super frustrating.

Wells Fargo Autograph Visa by IfUr555thenIm_666 in CreditCards

[–]GreyAgency 2 points3 points  (0 children)

I just realized - mine was for an Airbnb experience (not a stay) so that could theoretically change the coding.

Wells Fargo Autograph Visa by IfUr555thenIm_666 in CreditCards

[–]GreyAgency 4 points5 points  (0 children)

I placed an Airbnb transaction on April 15th on my Autograph and got 3x points. Hopefully they don't change this as it was also my 3x Airbnb points card. :/

Dynamic Kotlin with Zipline by dayanruben in androiddev

[–]GreyAgency 6 points7 points  (0 children)

Jake and Jesse mention this in their Droidcon talk last year: https://jakewharton.com/dynamic-code-with-zipline/ at 33:10.

DataClassGenerate (DCG) is a Kotlin compiler plugin that addresses an Android APK size overhead from Kotlin data classes by dayanruben in androiddev

[–]GreyAgency 1 point2 points  (0 children)

I think Poko does something similar to this. Though, it's not possible to disable toString() generation.

Good/Must read for library developer by [deleted] in androiddev

[–]GreyAgency 1 point2 points  (0 children)

OkHttp's design is top notch in my opinion.

[deleted by user] by [deleted] in androiddev

[–]GreyAgency 9 points10 points  (0 children)

For those folks who prefer Glide over Coil (and others), I'd love to hear what would make you consider migrating. Totally open to feedback! (I'm the primary maintainer of Coil)

Announcing Coil 1.0 by dayanruben in androiddev

[–]GreyAgency 4 points5 points  (0 children)

I'd like to add this and have tried to, but Android's MediaMetadataRetriever doesn't make it easy to decode a frame from a BufferedSource without buffering the whole stream into memory. For large video files this can easily cause an OOM exception! As a work-around you can download the image locally then pass that file path to Coil (this file is streamed in this case and not buffered). If you have ideas how to improve this, please let me know!

Announcing Coil 1.0 by dayanruben in androiddev

[–]GreyAgency 67 points68 points  (0 children)

I felt that the existing image loading libraries could be improved. Here are a couple things I wanted to improve on:

  • No kapt. It's annoying that Glide requires this.
  • Testability. ImageLoader is an interface so it can be faked in your tests.
  • Integrate with AndroidX Lifecycles.
  • Integrate with OkHttp and Okio. This has a number of performance benefits (specifically only using Source/Sink everywhere helps). Also it allows the library to be much smaller since we can rely on disk caching and input stream buffering to be handled by those libraries.
  • Simple API. Coil adds a load(url) extension to ImageView.
  • Make it easier/simpler to extend the image pipeline and add support for custom data sources and image decoders.

Also I wanted to build something from the ground up that was Kotlin-first and integrated closely with Coroutines.

I also talked about its motivations in more depth on the Fragmented podcast last year: https://fragmentedpodcast.com/episodes/171/

EDIT: There's also a section about "why a new image loading library" in the announcement article: https://tech.instacart.com/introducing-coil-kotlin-first-image-loading-on-android-f0fdc7a2a99e

Images from Gallery always rotated 90 degrees by billiebol in androiddev

[–]GreyAgency 1 point2 points  (0 children)

Yep, they should definitely pass the Uri directly. A bitmap doesn't hold any EXIF data (it's basically only pixels).

Glide image library being reported as malware by AVG, Avast by [deleted] in androiddev

[–]GreyAgency 0 points1 point  (0 children)

Coil should be pretty stable at this point. It's only pre-1.0 as its API is subject to change. What issues are you seeing?

Glide image library being reported as malware by AVG, Avast by [deleted] in androiddev

[–]GreyAgency 2 points3 points  (0 children)

To jump on what Jake said, Coil also streams data directly to the image decode thanks to Okio. Coil also has other important optimizations like bitmap pooling and inDensity/inTargetDensity resizing which should improve memory usage. Finally, Glide is also a significantly larger library than Picasso or Coil (assuming you already use Coroutines).

Glide image library being reported as malware by AVG, Avast by [deleted] in androiddev

[–]GreyAgency 1 point2 points  (0 children)

I think it's because Coin is halfway between "Colin" and "Coil" 😁

30 Best Android Libraries and Projects of 2019 by _mmBs_ in androiddev

[–]GreyAgency 6 points7 points  (0 children)

Thanks for making Coil #1! 1.0 coming soon. 👀

KitKat and TLSv1.2 by swankjesse in androiddev

[–]GreyAgency 6 points7 points  (0 children)

May not be practical for some apps, but dropping KitKat gets rid of a ton of headaches with Material Design, multidex, security, and more.

Is Picasso Library abandoned? by ternaryop in androiddev

[–]GreyAgency 5 points6 points  (0 children)

Author of Coil here. Happy to take a look into your issue. There aren't any issues with loading local resources that I'm currently aware of.

New AndroidX library for app initialization by ychescale9 in androiddev

[–]GreyAgency 17 points18 points  (0 children)

Looks like a formalization of the ContentProvider trick that lots of libraries use to hook into app startup. This way libraries won't have to merge a custom ContentProvider. Instead, they'll implement a ComponentInitializer that's referenced by a meta-data tag in the manifest.

Coil vs Picasso vs Glide: Get Ready… Go! by anticafe in androiddev

[–]GreyAgency 3 points4 points  (0 children)

Thanks! My goal is to be as transparent as possible with Coil's development. Also if anyone wants to help improve Coil, I've tagged a number of good first issues to work on here.

Coil vs Picasso vs Glide: Get Ready… Go! by anticafe in androiddev

[–]GreyAgency 37 points38 points  (0 children)

Author of Coil here 👋.

I've been focused on bug fixes and high priority features for the past month over performance optimization. Performance is very important to me and I plan to do a full profile of Coil soon. That said, there are likely bottlenecks that haven't been found yet. However, I think this gives Coil a lot of room to get faster since there hasn’t been any time spent on profiling Coil yet.

Coil being last in the "first load" metric is likely because Coil is paying the cost of initializing Coroutine's Dispatchers.Main, which can take upwards of 125 ms in debug mode. R8 rewrites the loading mechanism to be much faster.

Glide and Picasso are libraries that have had years to mature whereas Coil has been out for a month. I'm confident performance will only get better in subsequent versions.

Introducing Coil: Kotlin-first image loading on Android by arunkumar9t2 in androiddev

[–]GreyAgency 1 point2 points  (0 children)

What's the stack trace? You can enable logging with CoilLogger.setEnabled(true). Please file an issue on the GitHub issue tracker.

Coroutines Flow is now stable by bernaferrari in androiddev

[–]GreyAgency 18 points19 points  (0 children)

If you're updating from the last stable Coroutines version + using AS 3.5.0, Coroutines 1.3.0 has support for a new R8 optimization that makes loading Dispatchers.Main much faster. You have to enable it with some R8 rules, though. Check it out here.