123: Android Micro Frustrations

With good –most of the time– also comes the bad. In this episode, Kaushik and Donn chat about the small annoying things about being an Android developer, or more aptly – “Micro Frustrations”.

We usually cover the new, latest, greatest and awesome developments. But it helps to step back and also point out the things that are broken and the 1000 cuts so to speak.

Sit back and enjoy this hearty rant!

Download directly

Shownotes

layout complaints

Navigation & System bar frustrations:

If you’re looking for a solution to just hide system bar (and not the navigation bar), here’s what Kaushik landed up using (you’re welcome):

fun Window.makeStatusBarTransparent(activity: Activity) {
    sdkUpto(20) {
        setWindowFlag(activity, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, true) 
    }
    decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    sdk(21) {
        setWindowFlag(activity, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, false)
        setTranslucentStatusBarLollipop()
    }
}

private fun setWindowFlag(activity: Activity, bits: Int, on: Boolean) {
    val win = activity.window
    val winParams = win.attributes
    if (on) {
        winParams.flags = winParams.flags or bits
    } else {
        winParams.flags = winParams.flags and bits.inv()
    }
    win.attributes = winParams
}

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private fun Window.setTranslucentStatusBarLollipop() {
    statusBarColor = Color.TRANSPARENT
}

Sponsors

  • Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding.

Contact

122: Learning Kotlin – typealias

In this episode of learning kotlin, we look at the typealias keyword. The typealias keyword allows you to provide alternate names for existing types and and function types. Learn how, why and when you can use it in this episode

Direct Download

Show Notes

Sponsors

  • Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding.

Contact

121: Functional Programming with Kotlin Arrow team – II

In this episode of Fragmented, we wrap up another 2 part series. We dive into the details of the Arrow library with this one. Arrow is a library in Kotlin that helps bring many of the functional paradigms of programming to your daily development. We talk to the team about how it all started, the history of the library, why we even need arrow, how Arrow is structured, some of the pitfalls, and in the end some resources on getting us started with Arrow.

Direct download

Show Notes

Arrow library

Misc

Get help on Arrrow

Sponsors

  • Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding.

Contact

120: Functional Programming with Kotlin Arrow team

In this episode of Fragmented, we kick off another 2 part series. This time it’s with the Kotlin Arrow team! In the first part, we talk to Jorge, Raul and Paco about Functional programming in general, some core FP concepts, do we already use functional programming today, what are pure functions, do I need to know complicated math to do FP, Immutability, Referential transparency and so much more. These are all pretty daunting words, but the Arrow team break it down and make it really simple for us to understand.

Listen on to the show.

Download directly

Show Notes

Kotlin Arrow team

Misc

Sponsors

  • Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding.

Contact

119: Flutter with GDE Eugenio Marletti – Part 2

In part 2 of this series,

To help us understand Flutter in-depth we talk to Flutter’s GDE Eugenio Marletti. In Part 1 of this 2 part series, Eugenio helps us understand what flutter is, why it was created, how it works, some really cool features with Flutter and why an AndroidDev today should really give Flutter a good look.

We got so carried away in conversation, that we were forced to break this episode into two parts. If you missed part 1 but want to go back and listen you’ll find it here: 118: Flutter and cross-platform development with GDE Eugenio Marletti – Part 1)

Download directly

Show Notes

Sponsors

  • Microsoft AppCenter – Sign up now on appcenter.ms and spend less time managing your app lifecycle and more time coding.

Contact