Kvaesitso icon indicating copy to clipboard operation
Kvaesitso copied to clipboard

[feature request] recent provider

Open ghost opened this issue 4 years ago • 10 comments

Provide a recent screen that can be registered with elevated permission from quick switch.

ghost avatar Dec 22 '21 12:12 ghost

I think that's a pain to implement because of all the hidden/undocumented APIs you'd have to use. I could maybe copy-paste from Launcher3, but does that offer any benefit?

MM2-0 avatar Dec 22 '21 14:12 MM2-0

As I can imagine, it would indeed be painful to implement. There are two benefits:

  1. Smoother recent animation and app exit animation, since the animation is provided by "recent provider". There would not be transparent launcher app occupying the first recent block and disappearing itself to make the second recent to be the first recent app. That is the best I can describe.
  2. Customizable recent screen. You can add search bar, reposition app icons, add buttons like "clear all" or "kill and reopen" in recent screen. But these features are not easy to implement, as I can imagine.

J4gQBqqR avatar Dec 22 '21 14:12 J4gQBqqR

The current launcher that I use, lawnchair 12 alpha 4, has a self implemented recent provider that customized rounded corner and a "clear all" button. Screenshot_20211222-091631_Lawnchair

J4gQBqqR avatar Dec 22 '21 14:12 J4gQBqqR

@MM2-0 I know it's kind of late, but does the removing of the roadmap mean that it'll never get target because there isnt much profit for the hassle? Or is it just something you'll do sometime in the far future?

Edit: https://developer.android.com/guide/components/activities/recents here is sooome documentation at least.

Traction6131 avatar May 26 '22 17:05 Traction6131

I would love to have that feature but it's not worth the amount of work that would be required. So unless I feel like I'm done with everything else I could possibly add to this launcher and I have a lot of free time, I will probably not add it. I would accept pull requests if someone else would want to work on this but I doubt that anyone would succeed with this.

There are a lot of issues here:

  • You need root to switch your recents screen so the potential number of users is already limited
  • All the APIs are private / hidden, therefore
    • there is almost no documentation for it, only the AOSP quickstep implementation as a reference
    • there is no guarantee for API stability between Android versions so we might need a different implementation for every Android version (or only support the latest Android version).
    • there is also no guarantee for API stability between different vendors so what works on a Pixel device might be broken on a Samsung device, even if they run the same Android version
    • it's annoying to develop because the Android SDK doesn't support it
  • It's possible that we'd need to reimplement the gesture navigation as well but I don't know because I'd need to read through the entire Quickstep and SystemUI source code and actually understand how it works to answer that question. But I'd need to do that anyway in order to reimplement the thing.

Edit: https://developer.android.com/guide/components/activities/recents here is sooome documentation at least.

That's not really helpful because it refers to the existing recents screen. Reimplementing it is an entirely different story.

MM2-0 avatar May 26 '22 22:05 MM2-0

I would love to have that feature but it's not worth the amount of work that would be required. So unless I feel like I'm done with everything else I could possibly add to this launcher and I have a lot of free time, I will probably not add it. I would accept pull requests if someone else would want to work on this but I doubt that anyone would succeed with this.

There are a lot of issues here:

  • You need root to switch your recents screen so the potential number of users is already limited
  • All the APIs are private / hidden, therefore
    • there is almost no documentation for it, only the AOSP quickstep implementation as a reference
    • there is no guarantee for API stability between Android versions so we might need a different implementation for every Android version (or only support the latest Android version).
    • there is also no guarantee for API stability between different vendors so what works on a Pixel device might be broken on a Samsung device, even if they run the same Android version
    • it's annoying to develop because the Android SDK doesn't support it
  • It's possible that we'd need to reimplement the gesture navigation as well but I don't know because I'd need to read through the entire Quickstep and SystemUI source code and actually understand how it works to answer that question. But I'd need to do that anyway in order to reimplement the thing.

Edit: https://developer.android.com/guide/components/activities/recents here is sooome documentation at least.

That's not really helpful because it refers to the existing recents screen. Reimplementing it is an entirely different story.

Does make sence, yes, thanks for making it clear. I also didnt knew you'd need root to switch your recents, whoops.

Traction6131 avatar May 27 '22 12:05 Traction6131

I didn't imagine it's that hard sheesh.. maybe someone could volunteer for that task.

Pegasus20x avatar Apr 03 '23 20:04 Pegasus20x