[Module][Pie/Q][3.1.7.1] QuickSwitch - Universal Quickstep Switcher

Search This thread

Skittles9823

Recognized Contributor
  • Jan 9, 2015
    1,810
    2,051
    22
    Sydney
    QuickSwitch - A universal quickstep switcher

    QuickSwitch is a module which allows the user to change which launcher has access to quickstep (Pie recents). It's future proof, detects which launchers are capable of being the recents provider, and is fairly simple to use.

    Requirements:
    - Android Pie/Q
    - Magisk 19.0+
    - A launcher which can be used as a recents provider.

    Installation:
    To use the module, simply follow the instructions:

    1. Flash this module.
    2. Reboot.
    3. Open the QuickSwitch app that was installed.
    4. Select a different launcher as your recents provider.
    5. Reboot.
    6. Verify your new recents provider is correct.
    7. Set the new recents provider as the default launcher.
    8. Profit.

    After switching providers and rebooting, make sure the current provider is the default home app and you should notice that whilst in the launcher the back button is gone and you'll have the full Pie recents experience.

    To switch providers after the initial install just open the app, select a new provider and reboot.

    Updating:
    To update, just flash the module over itself.

    Uninstallation:
    To uninstall the module, use the bin icon in magisk manager. Your recents provider will go back to default and your launcher will return to being a user app.

    Logging:
    QuickSwitch saves all its logs to /data/adb/modules/quickstepswitcher/logs/ and /sdcard/Documents/quickstepswitcher/ all logs belonging to QuickSwitch begin with quickstepswitcher. If you have any issues with the module send all log files in a compressed archive.

    Compatibility:
    As stated earlier, the QuickSwitch app auto-detects which launchers are compatible so it's going to be difficult to say a definitive list. But for an easy explanation, I'll just say that all stock Pie launchers will work as long as they are either ported to other devices or are installed by default on your device.
    As for custom launchers, you'll have to install them and see if they appear in the QuickSwitch app.

    Disclaimer:
    No, Nova Launcher is NOT compatible and from what they've stated on Twitter, I doubt they will ever be compatible.

    Misc:
    - You can grab the source for the module here

    The SystemUI option will grant you Oreo style recents.

    Credits:
    - @paphonb for the QuickSwitch app and the initial concept and idea of a universal Quickstep enabler.

    - @osm0sis for assistance with getting 3.x.x to work without having to go permissive, and for his and @topjohnwu's zipsigner

    - The Lawnchair and Hyperion team's for initial testing of the module.

    Download:
    Download the latest version from the Magisk repo.

    An archive for older versions can be found here.

    Donations:
    - If you wish to donate to @paphonb for creating the QuickSwitch app you can do so here.
    - Or if you wish to sponsor me on GitHub for making the module, scripts, and handling support you can do so here.

    Release details:
    Current version: 3.1.7.1
    Last updated: 31-3-2021

    Created: 28-12-2018
     
    Last edited:

    Skittles9823

    Recognized Contributor
  • Jan 9, 2015
    1,810
    2,051
    22
    Sydney
    FAQ

    What does this module do?
    The only thing this module does is changes which launcher controls your recents

    Can I get app actions, or recents text/picture selection with this module?
    This module doesn't control what features a launcher has. All it does is grant the launcher more permissions and enable a launchers access to recents.

    How to get Oreo/Oreo Grid recents?
    For Oreo recents simply set your recents provider to SystemUI and reboot.
    If the SystemUI option doesn't show up it's because you're on Android 10 and the Oreo recents fallback has been removed from AOSP.

    For grid recents follow these instructions:
    1. Set the recents provider to SystemUI
    2. Tap the three dot menu and toggle "Enable grid recents" to on
    3. Reboot.

    The FAQ will grow as more questions come to mind.

    OEM Launcher Ports

    You MUST follow this guide for the ports to work correctly!
    1. Install QuickSwitch
    2. Install the launcher apk, don't set it as your default launcher.
    3. With any other launcher, open QuickSwitch
    4. Set your desired launcher as your recents provider.
    5. Reboot.
    6. Verify the launcher is the current recents provider in QuickSwitch
    7. Set the selected as your default launcher
    8. Profit

    Known compatible launchers

    Launcher previews in hide tags as they are rather big
    Launchers available in the attachments have been ported by @paphonb

    OEM launchers
    OnePlus Launcher port by @paphonb
    This launcher is one of the most unique ports currently available. Primarily because it ports almost all of the gestures it uses on OOS. All except the back gesture work (if you'd like to add it you must use something like Fluid Navigation Gestures). Besides the gestures it doesn't come with a dock in recents. Simply a clear all FAB and three dot menus on each app in recents.
    OnePlus_Launcher.png

    Pixel Launcher
    The generic Pixel launcher everyone knows and loves. A simple UI but with compatibility of every Actions Services function including recents text/picture selection. Something no launcher has ported yet.
    It can be downloaded, here
    Pixel_Launcher.png

    ZenUI Launcher port by @paphonb
    This launcher from ASUS is another unique launcher. It's recents UI is similar to Samsung's recents UI but it accommodates big screens with everything accessible at the bottom of the screen. It also comes with some other goodies.
    ASUS_Launcher.png


    Custom launchers
    hyperion launcher
    hyperion is a custom launcher from the developers of Substratum. It features lots of custom features and a beautiful design.
    hyperion.png

    Lawnchair Launcher
    Lawnchair was the first custom launcher to attain Pie recents functionality with the help of paphonb, Deletescape and myself.
    It features several unique additions including blur in recents when it's the recents provider, as well as custom roundness in recents.
    Lawnchair.png


    Oreo recents
    Oreo recents
    QuickSwitch has the functionality to provide any device with Oreo style recents by selecting the SystemUI option and rebooting.
    Oreo_recents.png

    Oreo Grid recents
    You can also get grid style Oreo recents if you follow the instructions in the FAQ.
    Oreo_grid.png
     

    Attachments

    • ZenUILauncher.apk
      14.5 MB · Views: 9,688
    • OnePlusLauncher.apk
      19 MB · Views: 7,797
    • OPLauncher_Q-Only-New-Sec-Patch.apk
      13.4 MB · Views: 4,333
    Last edited:

    Skittles9823

    Recognized Contributor
  • Jan 9, 2015
    1,810
    2,051
    22
    Sydney
    Common Issues & How To Fix

    Lag after setting a provider
    If you're experiencing jank/lag after setting a recents provider you need to disable magisk hide on com.google.android.gms. This is a magisk issue, it happens with all modules who use overlays in /product and /vendor.

    If you still wish to pass CTS, make sure to keep com.google.android.gms.unstable hidden

    No animations
    Make sure to not use Titanium Backup to restore ANY launcher that works with QuickSwitch while it's the recents provider or a system app. As that will cause Titanium Backup to restore it to /system/app and QuickSwitch won't systemize it or grant it permissions it needs.

    Launcher is constantly crashing
    This generally means you are using a launcher port and didn't follow the instructions correctly. Here is a refresher:
    1. Install QuickSwitch.
    2. Install the apk, don't set it as your default launcher.
    3. With any other launcher, open QuickSwitch.
    4. Set your desired launcher as your recents provider.
    5. Reboot.
    6. Verify the new launcher is now your recents provider in QuickSwitch.
    7. Set the selected as your default launcher.
    8. Profit.

    If the launcher still crashes afterward get the module logs and a crash log using https://del.dog/scoop

    Setting the provider is successful but it still didn't work after a reboot
    type this command in a terminal
    Code:
    su -c cmd overlay dump xyz.paphonb.quickstepswitcher.overlay

    If you see this line:
    Code:
    mState.................: STATE_NO_IDMAP

    You need to ask your rom maintainer to add this commit. only for your device, it will cause issues on other devices.

    Another fix you can do yourself if that happens is enter this command in a root environment (If stuffs breaks after doing this delete the .replace file through ADB).
    Code:
    mkdir -p /data/adb/modules/quickstepswitcher/system/vendor/overlay && touch /data/adb/modules/quickstepswitcher/system/vendor/overlay/.replace
     
    Last edited:

    schwarzerfleck

    Senior Member
    Aug 20, 2015
    282
    136
    Berlin
    OnePlus 8T
    Great!

    Works well on this setup:
    OnePlus 6
    Pixel Experience ROM
    Lawnchair Alpha 721
    Quickstep 1.0.6

    Just one issue that I've had before. I use Fluid NG to get access to navigation gestures on Pixel software. It removes the navbar by moving it to the invisible area "under" your display or something. In HTML world, this would have to do with margins and padding.
    The result is this:
    j837JWc.png


    With the navbar on, it looks alright:
    OeViWqW.jpg


    Is it possible for you to fix this or provide an option to do so? Maybe by doing a reverse-padding for the app previews or something like that? ? I'll be happy to assist further.
     
    Last edited:

    Skittles9823

    Recognized Contributor
  • Jan 9, 2015
    1,810
    2,051
    22
    Sydney
    Great!

    Works well on this setup:
    OnePlus 6
    Pixel Experience ROM
    Lawnchair Alpha 721
    Quickstep 1.0.6

    Just one issue that I've had before. I use Fluid NG to get access to navigation gestures on Pixel software. It removes the navbar by moving it to the invisible area "under" your display or something. In HTML world, this would have to do with margins and padding.
    The result is this:


    With the navbar on, it looks alright:


    Is it possible for you to fix this or provide an option to do so? Maybe by doing a reverse-padding for the app previews or something like that? ? I'll be happy to assist further.

    Yea that's a lawnchair issue. We are aware of it and it will be worked on in a later update.

    Sent from my LGE Nexus 5X using XDA Labs
     

    Qutayba Khader

    Senior Member
    Jun 30, 2015
    168
    60
    Nice:laugh: working great on (oneplus 6t - oos 9.0.10), o used horizontal old style and Lawnchair and booth of them works great,
    Thanks a lot..

    I hope someone support the (grid recent) soon
     

    Top Liked Posts

    • There are no posts matching your filters.
    • 137
      QuickSwitch - A universal quickstep switcher

      QuickSwitch is a module which allows the user to change which launcher has access to quickstep (Pie recents). It's future proof, detects which launchers are capable of being the recents provider, and is fairly simple to use.

      Requirements:
      - Android Pie/Q
      - Magisk 19.0+
      - A launcher which can be used as a recents provider.

      Installation:
      To use the module, simply follow the instructions:

      1. Flash this module.
      2. Reboot.
      3. Open the QuickSwitch app that was installed.
      4. Select a different launcher as your recents provider.
      5. Reboot.
      6. Verify your new recents provider is correct.
      7. Set the new recents provider as the default launcher.
      8. Profit.

      After switching providers and rebooting, make sure the current provider is the default home app and you should notice that whilst in the launcher the back button is gone and you'll have the full Pie recents experience.

      To switch providers after the initial install just open the app, select a new provider and reboot.

      Updating:
      To update, just flash the module over itself.

      Uninstallation:
      To uninstall the module, use the bin icon in magisk manager. Your recents provider will go back to default and your launcher will return to being a user app.

      Logging:
      QuickSwitch saves all its logs to /data/adb/modules/quickstepswitcher/logs/ and /sdcard/Documents/quickstepswitcher/ all logs belonging to QuickSwitch begin with quickstepswitcher. If you have any issues with the module send all log files in a compressed archive.

      Compatibility:
      As stated earlier, the QuickSwitch app auto-detects which launchers are compatible so it's going to be difficult to say a definitive list. But for an easy explanation, I'll just say that all stock Pie launchers will work as long as they are either ported to other devices or are installed by default on your device.
      As for custom launchers, you'll have to install them and see if they appear in the QuickSwitch app.

      Disclaimer:
      No, Nova Launcher is NOT compatible and from what they've stated on Twitter, I doubt they will ever be compatible.

      Misc:
      - You can grab the source for the module here

      The SystemUI option will grant you Oreo style recents.

      Credits:
      - @paphonb for the QuickSwitch app and the initial concept and idea of a universal Quickstep enabler.

      - @osm0sis for assistance with getting 3.x.x to work without having to go permissive, and for his and @topjohnwu's zipsigner

      - The Lawnchair and Hyperion team's for initial testing of the module.

      Download:
      Download the latest version from the Magisk repo.

      An archive for older versions can be found here.

      Donations:
      - If you wish to donate to @paphonb for creating the QuickSwitch app you can do so here.
      - Or if you wish to sponsor me on GitHub for making the module, scripts, and handling support you can do so here.

      Release details:
      Current version: 3.1.7.1
      Last updated: 31-3-2021

      Created: 28-12-2018
      38
      FAQ

      What does this module do?
      The only thing this module does is changes which launcher controls your recents

      Can I get app actions, or recents text/picture selection with this module?
      This module doesn't control what features a launcher has. All it does is grant the launcher more permissions and enable a launchers access to recents.

      How to get Oreo/Oreo Grid recents?
      For Oreo recents simply set your recents provider to SystemUI and reboot.
      If the SystemUI option doesn't show up it's because you're on Android 10 and the Oreo recents fallback has been removed from AOSP.

      For grid recents follow these instructions:
      1. Set the recents provider to SystemUI
      2. Tap the three dot menu and toggle "Enable grid recents" to on
      3. Reboot.

      The FAQ will grow as more questions come to mind.

      OEM Launcher Ports

      You MUST follow this guide for the ports to work correctly!
      1. Install QuickSwitch
      2. Install the launcher apk, don't set it as your default launcher.
      3. With any other launcher, open QuickSwitch
      4. Set your desired launcher as your recents provider.
      5. Reboot.
      6. Verify the launcher is the current recents provider in QuickSwitch
      7. Set the selected as your default launcher
      8. Profit

      Known compatible launchers

      Launcher previews in hide tags as they are rather big
      Launchers available in the attachments have been ported by @paphonb

      OEM launchers
      OnePlus Launcher port by @paphonb
      This launcher is one of the most unique ports currently available. Primarily because it ports almost all of the gestures it uses on OOS. All except the back gesture work (if you'd like to add it you must use something like Fluid Navigation Gestures). Besides the gestures it doesn't come with a dock in recents. Simply a clear all FAB and three dot menus on each app in recents.
      OnePlus_Launcher.png

      Pixel Launcher
      The generic Pixel launcher everyone knows and loves. A simple UI but with compatibility of every Actions Services function including recents text/picture selection. Something no launcher has ported yet.
      It can be downloaded, here
      Pixel_Launcher.png

      ZenUI Launcher port by @paphonb
      This launcher from ASUS is another unique launcher. It's recents UI is similar to Samsung's recents UI but it accommodates big screens with everything accessible at the bottom of the screen. It also comes with some other goodies.
      ASUS_Launcher.png


      Custom launchers
      hyperion launcher
      hyperion is a custom launcher from the developers of Substratum. It features lots of custom features and a beautiful design.
      hyperion.png

      Lawnchair Launcher
      Lawnchair was the first custom launcher to attain Pie recents functionality with the help of paphonb, Deletescape and myself.
      It features several unique additions including blur in recents when it's the recents provider, as well as custom roundness in recents.
      Lawnchair.png


      Oreo recents
      Oreo recents
      QuickSwitch has the functionality to provide any device with Oreo style recents by selecting the SystemUI option and rebooting.
      Oreo_recents.png

      Oreo Grid recents
      You can also get grid style Oreo recents if you follow the instructions in the FAQ.
      Oreo_grid.png
      24
      QuickSwitch 3.0.0 released

      Changelog:
      - completely rewrite the app and the module backend. Now the app uses a shell binary as the backend to
      remove the need for bootscripts
      - re-add the $MODDIR/product/overlay install path as the Magisk issue has been fixed
      - added a check for MIUI which will abort the installation of the module


      Been a while since an update, but a few days short of the 1 year anniversary of when QuickSwitch was first released, we finally release 3.0.0

      Sent from my Google Pixel 3a XL using XDA Labs
      18
      QuickSwitch 3.0.4 released

      Samsung users rejoice. With the help of @osm0sis I've removed the need for permissive selinux while the backend script ran, so there are no longer any dependencies on that.

      I'm now also signing the overlay using zipsigner compiled by osm0sis so if there were any issues I wasn't aware of since the release of 3.x.x and they were caused by an unsigned overlay, they're now fixed. As far as I know however it shouldn't have been an issue.

      Another thing to take note of is that I've talked to an omni rom developer and they're doing something similar to what certain pixel experience device trees have done and the overlay won't work on it. I've had a tester try omni and I've given them a few test builds in an attempt to work around it but from what I can tell it's just not possible to fix it on my side. (Said attempted fixes aren't in QuickSwitch, and won't be added btw)

      I've not blocked omni, just incase it works on some devices but don't get your hopes up if it hasn't worked in the past.

      Changelog:
      - remove selinux dependant commands in favour of grepping packages.xml and listing the contents of /data/app to find launcher dirs
      - sign the overlay again
      - I'd like to thank @osm0sis for helping with this update

      Sent from my Google Pixel 3a XL using XDA Labs
      17
      QuickSwitch 3.0.5 released

      Changelog:
      - fix for the launcher not getting copied over and aborting recents provider change
      - fix dalvikvm invokation for Android 10 (-Xnodex2oat is removed upstream)

      The last change is just an update to zipsigner

      Sent from my Google Pixel 3a XL using XDA Labs
    Our Apps
    Get our official app!
    The best way to access XDA on your phone
    Nav Gestures
    Add swipe gestures to any Android
    One Handed Mode
    Eases uses one hand with your phone