A closer look at how you can better understand and prepare yourself

Photo credits: Jessie Zou

NOTE: I must state that this is a personal recommendation, and in no way represents the opinion of my current employer

I was exploring my Twitter feed and noticed one of my Twitter acquaintances mentioned his fear of “pre-recorded” talk. The original tweet and the discussion which followed was also very interesting where people shared their experiences of pre-recorded conferences talks.

That Twitter thread struck a chord. Just one experience…


A traumatic moment that will change your perspective on your work and career

Photo by Pixabay from Pexels

2020 began with major layoff news from three big companies, Mozilla, Digital Ocean, and VMware. Last year’s biggest highlight was from WeWork laying off 2400 employees around the world.

A few on Twitter are already posting that they are looking for new opportunities, while some are offering help in response which is very inspiring.

Honestly speaking, I totally admire the courage of affectees who announce it publicly in all such instances. For most people, losing a job creates serious emotional and financial consequences.


Listening for changes in network status and reading Wi-Fi info

Fun at the Chenab river (Pakistan) by Syed Mehdi Bukhari

In the first part of this article, we tried to understand how API changes since Android Version 7.0 (aka Nougat) have changed the way Android developers can listen to connectivity status change. We explored three approaches and established that scheduling network operations through WorkManager make much more sense considering official guidelines.

This second part is intended to cover what happens in the Custom Worker class, WifiWorker.kt which we specified in PeriodicWorkRequest.Builder(). We’ll talk about this Worker class in a bit.

Monitoring Wi-Fi connection status

The easiest way would be to just check inside doWork(), if you are connected to the Internet and if the…


Exploring API changes, restrictions, and recommendation

Hussaini Hanging Bridge, Hunza (Pakistan) by Syed Mehdi Bukhari

We wanted to understand when the user enters or leaves concerned locations or Point of Interests (POI). It is easier said than done and we explored several solutions. Listening and keeping track of a Wi-Fi connection or disconnection status was one of the ways we wanted to try and test.

Getting it done on Android sounded easy because we knew there is a good old ConnectivityManager API to make it happen for us. As soon as we started implementing, it became more evident that things have quite changed since Android 7.0 (aka Nougat).


Photo by Alvaro Reyes on Unsplash

Many times, Android developers need to start implementing features even when the backend is not ready yet. An easier way is to ask the backend developer to create the API service and just send fake content for the sake of it. The underlying notion is that we are not backend developers and it is not our responsibility to provide the endpoint.

I know what you are thinking and you are not wrong. But here’s the thing: Many times there are situations when it is not possible to go…


This talk was given at KTUG Munich Jan Meetup and later at GDG Android Meetup.

The primary motivation was to share our learnings with the community while using Kotlin Coroutines for an interesting use case we had in our project. We had constraints of parent-child setup, ensuring parent task completes gracefully in all cases and additionally overall timeout for all tasks. We are barely scratching the surface but I felt it might help others in making some better decisions if they know the different uses of certain CoroutineScopes.

You can find a video recording of the talk here:

You can find slides of the talk here:


Photo of Attabad Lake (Pakistan) by Sufyan

In the first part of this tutorial, we learned how to implement checks using LiveData and observe on UI level. If you haven’t read the first part, I suggest you read it first because the second part is a continuation of it.

In this article, we’ll try to explore how it can be used when the app is in the background.

Updated Use Case 🚙

Imagine a scenario when the user installs the app, goes through onboarding and grants Location Permission and enables GPS when prompted. There is still a chance that the user can revoke permission at any time in future for any…


Beautifully decorated truck driving on the mighty Karakoram Highway in Pakistan (Photo by Mehtab Alam)

In our last project, we worked on a smartphone app to combat electric vehicle anxiety by understanding users’ needs, providing the owner with real-time data about their drives and offering a mechanism to compare suitable electric vehicles. In order to make that happen, tracking of driving behaviour through the app was an essential aspect of the project. It means that the app should be able to constantly listen to location coordinates in the background during the user’s journey while driving.

We had to implement checks to ensure GPS is enabled on the device and Location Permission is granted by the…

Wahib Ul Haq

EU Lead Partner Engineering🥑 at Huawei • Growing HMS Ecosystem, one partner at a time • Android, Product, UX • Co-Organizer @DevRelMunich

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