Third-party Android launchers often suffer from limitations and issues because of Android, but this user survey could help.

  • Johnny Wishbone
    link
    English
    63 months ago

    Pixel 6 owner, third party launchers and gestures started screwing up for me about 6 months ago, I’ve never got round to a factory reset but I think that’s my only hope, happens with every launcher I try.

    It was explained like this in a thread somewhere.

    The recents menu, the one where you swipe up, hold, and get a card view of all your recent apps, used to be in a file called systemUI.apk. The systemUI holds files for lots of things. The bottom 3 buttons, the top bar icons the pull down shade, and tons of other things, as well as the recents list. All of the things in systemUI are accessible from pretty much any app, like 3rd party launchers. It’s a safe place for Android to hold things that any dev can have access too. The launchers would just invoke the function to show the recents with no lag at all, just like the stock launcher did.

    Google, being Google, moved the recents list into the stock launcher.apk. Now, when a 3rd party launcher has to call the function to show the recents, it now has to use an api to invoke it from the stock launcher. Call api function. Function asks the stock launcher to show the recents. Stock launcher returns call to 3rd party launcher. Recents are then shown. Now there is a slight lag, because now there is a middle man. This is also why sometimes you get a blank screen for a millisecond and also why you cannot click another app immediately after returning to the home screen when closing an app, or from the recents list using a 3rd party launcher.

    Before this, you could actually delete the stock launcher and use any launcher you wanted. Now, the stock launcher HAS to be installed in order to show the recents list. If the launcher has been dormant for a bit, the launcher then has to reload into memory in order to call that api method. It’s a cluster fuck.

    The solution would actually be very simple, but has some security implications.

    Android has a property for the package name that is responsible for the recents menu. This value is usually hard-coded to the default launcher of the OS.

    A Magisk module called QuickSwitch can switch this value to any package name of your choice, including third-party launchers that implement the new recents menu system. When you change it, smooth animations just work with third-party launchers.

    If Google would make it so that this recents menu provider value would update as you changed your default launcher, smooth animations would work.