A nice stop sign

Day 1

11 Mar 2021


I have jumped into the next step and saw the modifier.

inline val Int.dp: Dp get() = Dp(value = this.toFloat())


RIP RecyclerView… Maybe it is early to say it but look at this code, please.

fun MyScreenContent(names: List<String> = listOf("Android", "there")) {
Column {
for (name in names) {
Greeting(name = name)
Divider(color = Color.Black)

Right now I’m not able to visualize it in my mind…

This post is solely to keep my learning progress. Nothing new, no innovation…

7th March 2021


My starting point is the google codelabs. I prefer to have an empty activity for my new projects and especially for something I learn it needs to be a step-by-step process. So thanks for the “Empty Compose Activity” but no.

I am directed to the documentation page for the Jetpack Compose. Of course, I scrolled down until I see some code. Added my configuration codes and saw a message at the right bottom of the screen.

Photo by Roman Synkevych on Unsplash

Kotlin flow has become a new tool in our android development toolkit that is promoted by Google. It is fun to learn and use as well. So, it is what I’m doing recently.

This post is not a Kotlin flow tutorial at all. This post is focusing only on how to convert user events into Kotlin flow objects to have more power over them.


callbackFlow is the extension function that is used.

val addClickFlow = callbackFlow {
buttonAdd.setOnClickListener {
awaitClose { buttonAdd.setOnClickListener(null) }

That’s it. Simple enough. …

Photo by Andrew Hughes on Unsplash

This article has nothing to do with a philosophical approach to have some kind of a dark side of yourself. It is just about Android development, which is a serious business.

There are multiple ways to implement a custom dark theme in Android. (what a surprise(!) ) The one that I am going to explain is the one that looks the cleanest of them all to me. Of course, different approaches would be useful for different needs. So have a look at this cool google guide.

You need an alternative resource file for colors just to be used in dark…


Original yazı: https://efebudak.com/2019/11/945-podcast-kanalimiz-yayin-hayatina-basladi

Yurt dışında kafa dengi hemşerilerinizin olması tahmin ettiğinizden daha fazla önem arz ediyor. “Bizim yemekler şöyle, sizde şuna ne diyorlar, bizim bir ata sözü var onu da şöyle çevirebilirim ingilizceye” gibi ilk başlarda ilginç imajı uyandırıp bir süre kabak tadı veren sohbetler yapmak zorunda olmadığınız arkadaşlar akıl sağlığınızın yerinde olmasına oldukça faydalı.

Şanslı olmam dolayısıyla işyerinde bol kahkahalı sohbetler edebildiğim iki değerli arkadaşım var. Bazen yazılım, bazen hayatın akışı, bazen yurt dışında karşılaştığımız problemlerden konuşurken, bu muhabbetlerin başkaları için de faydalı olabileceğini düşünüp bir podcast kurma fikrine kapıldık.

Henüz iki bölüm kaydetmiş olsak da (tahmin etmediğimiz kadar)…

Modern Android

I have been using MVP for my projects for a long time. I like its control over the view layer and it is also super simple to write unit tests for the presenter layer.

On the other hand, I’m really into the MVVM for its reactiveness. On top of that with the help of the android jetpack architecture components, it is not so hard to have a clean architecture.

All these reasons on my mind I created a project to see what an android project would look like with the latest and fanciest approaches and libraries. …

Photo by Ronald Cuyan on Unsplash

Have a look at my other post about android notifications too.

When I was working on notifications on my sample android project, I realised that my notification icon does not have the colours that the original image has. I went back to the original document to see what I missed but couldn’t find any difference in there. Then I started digging. Here what I found!

If you want your users to be able to interact with your android app even if it is not on the foreground, the notification is at your service. Here comes the step by step guideline.

Step 1 — Create a Notification Channel

Android requires you to register all of your notifications to a notification channel for Android 8.0 (API level 26) and later versions. No channel, no notification… Let’s create a channel.

It is safe to call this method on your “onCreate” method if you know that you are going to create the channel anyway. Calling ‘createNotificationChannel’ method multiple times is also safe. If there is…

You have a fantastic feature in your application that requires your users to swipe a view up to open it. But your users do NOT use it. WHY?! Of course, because they are not aware of that awesome feature. Let’s help them discover that feature.

Hop Your Feature

It is so intuitive since users need to swipe it to use it. Hop it! Let people know that the view has more things to show.

Maybe it is because of our evolutionary action. We react to moving things around us. …

I recently migrated my project to android material 1.0.0 from android.support.design. Almost everything is pretty straightforward, except for one small detail.

Resource names in the material library are exactly the same as the support design library but their prefixes are different. Some lucky guesses would be enough but no harm to document it here. It is going to be so short. Here we go.

The support design library prefix;


The material library prefix;


Happy migrations. 🎣

efe budak

Android Developer @Teckro.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store