Wow! Looks like Huawei has passed Samsung in devices shipment in Q2 2020 and is now No. 1 supplier of smartphones in the world.
#samsung #huawei #manufacturer
#samsung #huawei #manufacturer
MarketWatch
Huawei tops Samsung as worldโs No. 1 smartphone company for first time
China's Huawei shipped more smartphones in the second quarter than any other company, Canalys said Wednesday, marking the first time in nine years that...
Intellij IDEA 2020.2 is out. There are a lot of fancy features, but full GitHub pull requests support is the most long-awaited one for sure!
#intellij #studio #ide
#intellij #studio #ide
JetBrains
What's New in IntelliJ IDEA
Explore IntelliJ IDEA's latest features and updates to elevate your professional Java and Kotlin development experience.
Finally, Google introduced In-App Review API. Now users can publish reviews on Play directly from your app.
#google #library #review
#google #library #review
Android Developers
Google Play In-App Reviews API | Other Play guides | Android Developers
A great post about RCE vulnerability in MX Player. The funny part is the RCE was gained because of some Facebook SDK.
#cybersec #vulnerability #facebook
#cybersec #vulnerability #facebook
Medium
Android MX Player โ Path Traversal to Code Execution
MX Player is an Android App that you can find on the Google Play Store, having over 500M downloads.
setCurrentScreen method in Firebase Analytics is now deprecated. You're free to track the screen_view event whenever you like.#google #firebase #analytics
The Firebase Blog
New API for manually tracking screen views in Google Analytics
Google introduces a replacement for
This thing can handle errors, knows how to work in a non-blocking way and even has transactions! Moreover, now you can store
Looks very promising, I'm looking forward to a stable release.
#preferences #datastore #protobuf
SharedPreferences - DataStore. This thing can handle errors, knows how to work in a non-blocking way and even has transactions! Moreover, now you can store
protobuf-serialized typed objects.Looks very promising, I'm looking forward to a stable release.
#preferences #datastore #protobuf
Android Developers Blog
Prefer Storing Data with Jetpack DataStore
News and insights on the Android platform, developer tools, and events.
An investigation post: how much memory do objects really hold on Android? Primary conclusion - Android heap dumps give us the real size of instances.
#art #memory #cpp
#art #memory #cpp
DEV Community
The real size of Android objects ๐
Header image: Deep Dive by Romain Guy. I'm currently reimplementing how LeakCanary computes the re...
In Android 11 ART can update class layout on-the-fly. It can be used with features like Apply Changes in Android Studio. This thing is called Structural Class Redefinition and you'll find a bunch of interesting details in the post.
#art #studio #ide
#art #studio #ide
Medium
Structural Class Redefinition
Allowing tools, such as Apply Changes, to modify the class structure itself, adding new fields to existing classes.
How to leak memory with two hands,
#leak #memory #packagemanager
PackageManager and some references?#leak #memory #packagemanager
DEV Community
Beware PackageManager leaks!
While I was investigating an Android memory leak, I took these notes as I learnt about the lifecycle...
After a long day of fighting RecyclerView and UI thread itโs always nice to just sit, relax, and learn how to build an async ViewHolder creator using Kotlin Channels.
#recycler #async #channel
#recycler #async #channel
Medium
Recycler view, power of asynchronous view holders creation
The easy way to optimize your lists
Found an interesting idea in this post: using
#kotlin #coroutine #fp
suspend modifier to mark all non-pure functions and to prevent us from invoking those functions from the pure ones. The idea becomes especially interesting with Redux-like approaches. #kotlin #coroutine #fp
๐จโ๐ป Jorge Castillo
Tracking side effects at compile time with suspend
Thinking of suspend as a Kotlin stdlib mechanism for flagging and tracking effects at compile time. Going declarative Functional Programming puts a lot of emphasis on achieving concern separation between the pure logics of a program (algebras) and the runtimeโฆ
Working with timestamps and timezones is almost always a hassle. Moreover, SQLite doesnโt have a dedicated type to store such values. However, there are some built-in functions to simplify such tasks. In this post youโll find a good example of using them in a real production app.
P.S. Here youโll find a funny video about general problems with dates, time and timezones.
#sqlite #db #date
P.S. Here youโll find a funny video about general problems with dates, time and timezones.
#sqlite #db #date
Handling Dates & Times in SQLite
Handling Dates & Times in SQLite :: Ryan Harter
SQLite may not have dedicated datetime data types, but that doesn't mean we have to restort to queries filled with meaningless numbers and post-processing datasets in application code. Here we'll take a look at a real world use case for SQLite's [datetimeโฆ
In this post youโll learn how to apply coroutines for awaiting a layout pass completion or an animation end.
#ui #view #coroutine
#ui #view #coroutine
If using multiple nested
#arrowkt #fp #library
.copy calls on data classes is your case for whatever reason, take a look at this post, Arrow-kt will probably make your life a bit easier. #arrowkt #fp #library
In this post youโll find a nice explanation of how tail call optimization works. Surprise-surprise, the optmization also works fine with non-recursive functions.
#compiler #optimize #recursion
#compiler #optimize #recursion
eklitzke.org
How Tail Call Optimization Works
Draft JEP on Primitive Objects.
Itโs something like an immutable class without identity. Copy of such an object is an exact copy of that original object. And there are plans on treating
#java #jep #primitive
Itโs something like an immutable class without identity. Copy of such an object is an exact copy of that original object. And there are plans on treating
int, boolean, etc. as primitive objects. Weโre waiting for you, List<int>! #java #jep #primitive
Fun, fun, fun! Thereโs an issue in linuxmint/cinnamon-screensaver: some kids were fooling around with lockscreen, clicking and typing random stuff, then screensaver crashed, letting them pass into the system.
#linux #crash #cybersec
#linux #crash #cybersec
GitHub
Screensaver lock by-pass via the virtual keyboard ยท Issue #354 ยท linuxmint/cinnamon-screensaver
* Cinnamon version: Cinnamon 4.6.7 * Distribution: Fedora 32 * Graphics hardware *and* driver used: 03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 47...