GoTransit is our product which makes multimodal trips effortless for our customers. A quick read about GoTransit, here.
This blog will take you through an architecture component we designed while building GoTransit on Android. This component enables us to decouple the view from the presenter, with added benefits of better readability, scaling and testing.
Hey friends, hope you’re all doing well and wearing a mask 😷 when you go out.
Generally, I write about very specific topics related to programming which take a couple of days to produce, polish, and publish. But with this blog, I want to start a series of more frequent, short and simple blogs sharing practical tips that have helped boost my productivity and happiness.
Hey friends, I hope you’re doing well. In this blog allow me to share something rather interesting which can be achieved using custom views on Android.
As you may know I am an Android developer working with Gojek. Recently while working on a project our designer wanted the ability to show some of the items on the screen as “disabled”, the task was to turn a view group and all its children into grayscale color scheme based on some external trigger.
The first approach that came to our mind was to use the trusty old
findViewById , get a reference…
I decided to try out flutter and implement one of my favorite projects for a UI Toolkit, “The Circle.” It starts with just drawing a circle on the screen and then changing its color on tap, there are more steps, each one adding complexity but I’ll focus on these two for now to discuss something interesting.
If I were doing something similar on Android, I’d just draw a circle on the canvas in a CustomView. Being an amateur in flutter, I looked up for an equivalent API in flutter, and there is one, the CustomPainter.
Let’s look into some things…
Oh hey, hello 👋🏻 Hope you’re having a great day. In this article I’ll tell you about gone margins in android and something you should absolutely know about it or you’ll be quite confused why it isn’t working for you.
I needed to align a new View’s top edge with the top edge of another view present in a vertical arrangement, look at this diagram👇🏻
In figure a you can see the C is constrained to the top of B. …
Kotlin developers, I know we’ve all been there, checking if a value is null before using it. Some dread it, to others it sounds very natural.
Now before you yell, “USE LET, USE LET, SCOPE FUNCTIONS FTW!!!”. Yes yes, I hear you. Even the official documentation suggests that
let is an excellent way to tackle null checks. But some people can argue that
let is just overkill for null checks because of some unnecessary processing involved. Here’s one example, well they’re not wrong. Let’s settle this argument today.
We’ll go through 2 different situations, use different approaches, and to keep…
In 2019, the GOJEK Transport team introduced the Safe Trip Kit. Apart from features like emergency help and insurance, a major highlight of this kit was the Share Trip feature.
This post explains how we built it.
Based on our research, we realised the first thing several of our ride-hailing customers do after booking a ride is take a screenshot of the driver/vehicle information. They then share this information with their family for safety reasons.
Some riders also keep updating near ones via messages, and we assume messages like “Dimana kamu Kami menunggu” (“Where are you? We’re waiting.”) …
I started my journey as an Android developer about six months ago, so I am quite new to the community. However, there is something that I need to talk about, which many people tend to miss and lacks clear documentation.
As the title says, this post deals with LayoutInflater in Android and its most common usage with the
This method is used to create a view object from an XML file (where the UI designs are created). Then, you can have this view show up wherever you want (of course, in your app, not your freezer 😋). …
I started my journey as a professional Android developer about 6 months ago so I am quite new to the community. But there is something that I need to talk about, something I’ve seen a lot of people tend to miss and something which lacks clear documentation.
As the title says, it is about the LayoutInflater in Android and its most common usage with the
inflate method. It is used to create a view object from an XML file (where the UI designs are created). Then you can have this view show up wherever you want (of course, in your…
Emotion is a mental activity sparked through some pleasure or displeasure and throughout our day, we go through a wide range of emotions. You got a new smartphone, you feel happy, someone insulted your work, you feel sad, maybe angry. All of this is totally normal and comes packaged with every human 😇. But in this blog I will talk about 2 emotions that all of us may have experienced at some point in our lives, which make our life toxic, for us and for others and we should prevent them as much as possible. …