Using a OnePlus 5 in 2022

End of 2017 was once again the time to get a new phone. OnePlus was loved back then for their cheap phones with have comparatively amazing hardware to the more expensive smartphones during that time. This has changed radically since then and their phones are almost the same price as other flagships.
I remember paying around 550€ for it and was very happy with my purchase until 3 years later, end of 2020, that I decided it’s time to get a new phone.

A while earlier I started using my phone for less things, trying to cut down on usage a lot. I wanted a phone I can’t mess around with1, which is where Apple comes into play.
Apple caught my eye for the “ecosystem” where everything is supposed to work together flawlessly, with the downside of being locked into the Apple ecosystem2, along with the lack of customizability.

Both the lack of customizability and the “it just works” philosophy made it sound like the ideal candidate for a new phone, so I decided to pick the cheapest one, the iPhone SE 2020, and buy that. It set me back around 450€.
As soon as it arrived I already found the first major issue with it: The battery is laughably tiny and the phone can’t even last a day of normal use. This would be one of the main reasons why I would decide to use my OnePlus 5 again a few months ago, along with what I thought would be a good idea not to have: The lack of customizability.

Lack of customizability doesn’t only mean that you can’t play around with your home screen to a degree that Android allows you to, it also means that as soon as you want to escape the limitations of the Apple ecosystem, e.g. wanting to handle data offline with an app, you run into issues.

For a while, I used Todoist, an overpriced service for tracking todo items, until I decided that I do not want to pay for a todo service and also don’t want my todo items to be on The Cloud(TM). Instead, I wanted to opt for one of the simplest todo applications out there: Todo.txt

Todo.txt stores all of your todo items in a text file which is easily parsable and can be edited by hand. This text file should then be synchronised through my Nextcloud instance.
I expected this to work without any issues as this involves the app for managing my todo file only writing to and reading from a text file that is seemingly stored on the phone. In reality, the file was synced with my Nextcloud instance automatically and exposed through the native files app on iOS.

This is where the issues started being really annoying. In order to get changes on the file that have not been made on the device I had to open the Nextcloud app, navigate to the file, and synchronise it manually. If I would not do this before opening the todo app at all it would override the remote file with the local, cached one. I imagine I don’t have to explain how frustrating this can be, especially when losing a big number of new todo items.

Needless to say, I’ve had enough after around 1 1/2 years of using my iPhone and the god awful OS it is running and just go back to my old OnePlus 5 running Android. I decided I would just install LineageOS with MicroG on it and call it a day. No more big customizations, this is a phone that I want to use, not to play around with.

And honestly… it worked much better than I expected, because what I expected was a slow running phone struggling to run simple apps. This was not the case and the only time it is chugging is when I am running OsmAnd, a navigation app using OpenStreetMap, which is fine as I’m not interacting with it while driving.

It was good that I switched to Android as a while later (ca. end of October) I decided to contribute to OSM myself, hoping that one day it might be viewed as a viable alternative (which it already is in my opinion) to proprietary services like Google Maps or Apple Maps.
In order to use OpenStreetMap, though, I would obviously need GPS. This was quite a struggle in the first day as the NLP location providers I was using seemed to not be able to locate me at all.
After this magically worked after one or two days, I was ready to give mapping a shot. This worked quite well, but I will not expand on mapping for OpenStreetMap further here.

While using my phone daily for day to day tasks, I noticed some things that bothered me, too. One of those things is the phone going to sleep but not waking up for reasons unknown to me. The solution to this has always been to restart my phone by holding the power button down until it forcefully resets.
Another thing that started bothering me is that when I receive calls the callers can always hear themselves. The fix for this is always calling them back, adding some friction to what should be a simple conversation channel.
Along with the issue of effectively not being able to accept phone calls I also had the issue of my signal being horrible compared to the iPhone I used. I wasn’t able to get any signal where I’ve been struggling before with the iPhone. Due to my living situation I tend to not be reachable with a normal phone call quite a lot, which is obviously not ideal.

But, this isn’t all I wanted to talk about. I’ve had another issue come up just earlier that’s so unbelievably frustrating that I’m thinking about throwing this phone in the bin. As Android allows the user to install a third-party keyboard and I think the standard one is a little lacking, I installed a new keyboard to use.
Third-party keyboards aren’t usable when the phone starts but isn’t unlocked yet, causing Android to fall back to the standard AOSP keyboard to unlock the phone.
Here’s my issue: What happens if this is not the case? This happened to me now, and I am unable to unlock my phone. I cannot use my phone because of a bug that I ran into several years ago already with this phone. I can’t tell whether this is the phone’s fault, the build of LineageOS or just the underlying AOSP kernel. Needless to say, currently my phone is unusable and I might have to fall back to the iPhone for the time being and while I decide whether I buy a new phone.

Speaking of a new phone… What would I even buy? The Android phone market feels like it’s overflowing, but there doesn’t seem to be a phone out there that is decent and affordable without selling a kidney.
I’m looking for a cheap Android phone that I can use to make calls and use messenger apps on - nothing more. No flip feature, no fancy lidar sensors on my camera, nothing. Just a phone that can do a little more than a dumb phone.

Since I’m pretty convinced I won’t find a phone like that I’ve been thinking about buying a used flagship that is still semi new. The first one that came to mind is a Google Pixel 6a so I can run CalyxOS, a privacy respecting and secure Android ROM that is only available on Pixel hardware due to security constraints with features that only Pixel hardware supports at this moment.
Even though I can find a Pixel 6a for a little more than 300€, I still think this is a bit much for a phone I use for barely anything anymore - but it’s not a terrible price.


  1. No ROMs like LineageOS and no pointless hacking on the operating system on any level. I wanted my phone to be purely functional in nature. ↩︎

  2. It’s usually fairly difficult to switch away from using Apple services because it’s natural for a user to use all of their services instead of services that are platform independent. ↩︎

Do you have a comment on one of my posts? Feel free to send me an E-Mail: witcher@wiredspace.de
To participate in a public discussion, use my public inbox: ~witcher/public-inbox@lists.sr.ht
Please review the mail etiquette .
Posted on: November 13, 2022
Last modified on: November 14, 2022

Articles from blogs I read

Codegen in Hare v2

I spoke about code generation in Hare back in May when I wrote a tool for generating ioctl numbers. I wrote another code generator over the past few weeks, and it seems like a good time to revisit the topic on my blog to showcase another approach, and the im…

via Drew DeVault's blog November 26, 2022

A Better Way to Borrow in Rust: Stack Tokens

As a Rust programmer you are probably quite familiar with how references work in Rust. If you have a value of type T you can generally get various references to it by using the ampersand (&) operator on it. In the most trivial case &T gives you jus…

via Armin Ronacher's Thoughts and Writings November 23, 2022

NLnet funding comes to an end

Sourcehut was selected for an NLnet grant in January of this year. NLnet Foundation is a Dutch organization which funds many projects to promote an open and secure internet. The typical NLnet grant is structured by milestones. At the beginning of the grant, a…

via Blogs on Sourcehut November 21, 2022

Generated by openring