Sign in

Engineering at Gojek| IITRPR | anything/iabhishek1041

Solving View to Presenter communication on Android, for GoTransit.

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.


And one practical tip to tap into the advantage

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.

This pandemic has been tough for every one of us in different ways, but it has also pushed us to form some good new habits. For me, as I was spending more time at home…


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…


2 Things to take care of with the CustomPaint Widget

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…


How we built a live-trip sharing experience with user delight in mind.

gojek.jobs

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.

But first, the why

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.”)


Two important things to keep in mind before using LayoutInflater’s ‘Inflate’ method.

gojek.jobs

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 inflate method.

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…


Photo by Artem Bali on Unsplash

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. …

Abhishek Jangra

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