This is the enhanced version of original talk I gave at MobileOptimized 2017. This version has contribution by Sebastiano Gottardo and was the keynote talk at Droidcon Krakow 2017.
mean and should write: “Careful! This routine is not thread-safe!” What you might write while panicking or thinking you are funny or helpful: “Sh*t! This thing will blow up the moment we start using threads! Fingers crossed!”
able to effectively track scroll events we start observing every scroll event we focus on the scroll state we ignore everything that's not [OnScrollListener.SCROLL_STATE_IDLE] we skip the first 5 events because Android fires 5 bogus events on screen loading we increment the counter that we will later use when the user navigates away from the screen. */ scrollsSubscription = calendar .scrollEvents() .map { it.scrollState() } .filter { it == OnScrollListener.SCROLL_STATE_IDLE } .skip(5) .subscribe( { scrollsCount++ }, { Timber.e(it, "Scroll events observable died ") } )
/** * This method checks if there is a prefetched ad for the given [placement]. * * @param placement the placement for which to check if a prefetched ad is * available * @return true if a prefetched ad for the given placement is available, * false otherwise */ fun hasPrefetchedAd(placement: Placement): Boolean }
only actual quality of tmp? ▸If retval is a list of employees that we are returning, why don’t we call it employees? ▸Can those loop indexes improve the general readability somehow?