Closed shofel closed 1 month ago
Briefly: here is a PR and a checklist, which are the artifacts of my jorney to the mLauncher code.
Longer:
Hello!
I hope you're all well :) First of all, @HeCodes2Much , thank you for sharing the work on the launcher.
And now the story.
I was willing to implement some cool features in the mLauncher. Namely, the directories in the home screen, and custom sorting of the app drawer list.
To get the hands dirty, I started with active reading the code of the project. Here is the result of it
I don't think this pull request is ever to be merged, since the changes are too spotless and opinionated:
Obviously, the PR is not formed correctly, but anyways I share the code and the checklist as artifacts of my journey, just in case someone can benefit of reading and discussing them.
There is also a checklist accompanying this PR: https://workflowy.com/s/mlauncher/6xhDWQw8dpfbrZEo.
Feel free to leave a comment on the PR, and to comment the checklist and the code.
And probably to close the PR right away to not let it look like a work to be done :D
I will have a look at this and maybe it could be a good change I'm always open to others helping with the project.
this is looking very good
I don't think this pull request is ever to be merged, since the changes are too spotless and opinionated
I really like the changes you're making; they just make sense. I’m confident this will be merged. I’m not sure why you think I wouldn't welcome others' input on the project.
@HeCodes2Much I removed incomplete priority
feature. Could you look at the code and comments now? I believe it must be safe to merge now.
Meanwhile I'll dogfood the modified version on my phone
Ya I will have a look tomorrow ;)
@shofel this has now been released in version 1.6.8
Type of Change
All Submissions
Before Opening Pull Request
Description of Changes
appModel
class renamed toappListItem
. Motivation: it's more specific than appModel, and gives more information about semantics of the class. Instances of this class are used not only to appear in the app lists, but also to denote a reaction to swipe on the home screen. As for me, this doesn't lead to any significant confusion.appListItem
class refactoredCollationKey
and the title resolution. This reduces code repetition, and keeps clean the code which sorts the app lists, and the code which needs a title of application to render (or to search).point out a possibly slow code in filtering recent apps in the app drawer list (a cycle in a cycle in
Utils.kt
)introduce manual sort for apps in the drawer. Set custom
priority
to any app list item to affect ordering of the list. There is no frontend, but only the logic. The feature is incompleteMotivation: My friend @He4eT and I came up with the idea to organize the app drawer list. An app with higher priority appears higher in the list. Default priority is 0. Priority can be any Double value. To make a group of apps we set them the same priority; and they appear in the list next to each other.
Changes Description
1. 2. 3.
Test Device: