Whenever a tough bug shows up, it is tempting to rewrite the whole module from scratch. Writing new code feels faster than reading old code, but sweeping rewrites usually throw away edge-case fixes that were learned the hard way.
My workflow starts with reproducing the bug first, either with a unit test or on a physical phone. If you cannot show why a failure happens, you cannot be sure your change actually fixed it.
Small, focused pull requests are much easier to review, test, and bisect if a regression slips through.
Good maintenance is not about how many lines of code you add in a weekend. It is about finding the real root cause, changing only what needs to change, and verifying that existing behavior still works.