instacart / truetime-android

Android NTP time library. Get the true current time impervious to device clock time changes
https://tech.instacart.com/truetime/
Apache License 2.0
1.41k stars 194 forks source link

Migrate to Instant from Date #150

Open Sorikoff opened 1 year ago

Sorikoff commented 1 year ago

This supports recent major overhaul of code by replacing legacy Date with modern date and time API (Instant in this case). Older Android versions are supported with help of Java 8 desugaring.

Jawnnypoo commented 1 year ago

Nice! We would want to really make sure this works with pre-23 devices before shipping, since I have seen cases where the code will compile and show no issues, but then when you get it on an actual device, it crashes at runtime.

Jawnnypoo commented 1 year ago

This is a pretty large API change that affects all downstream users, so @kaushikgopal would need to really think about if this is worth the "breaking" change. I do like the benefits that Instant brings, and this might be the best opportunity to change over, with a 4.0 release.

kaushikgopal commented 1 year ago

thanks @Sorikoff thank you for the PR 🙏🏽 . some initial thoughts:

  1. multiDexEnabled & minSdk 14 - also cc @Jawnnypoo . I'm torn. I feel there might be many users out there wanting to use TrueTime with a lower SDK. Being a library, I wonder if we should be conservative and keep it. If anything, with the removal of Rx I wonder if we can push this even back.
  2. To Jawnny's point, I do worry that most folks haven't switched to Instant as being the default. For better or worse Date is the defacto usage 🫤. We wouldn't want people to import TrueTime and go through hoops to get the basic usage going.

    Curious what you folks think

Sorikoff commented 1 year ago

@kaushikgopal 👋 Desugaring is available for 2+ years already, I think. And some solutions exist for even longer time... so with this major update it might be the right time to migrate 🤔

Ke911 commented 4 months ago

Hh

Ke911 commented 4 months ago

Vbdbjjdbjjsv I

kaushikgopal commented 4 months ago

I actually like tbr desugaring solution 🤔. Not to mention Kotlin provides a bunch of solutions too as part of their time library. I can revisit this again.