rovo89 / XposedInstaller

3.89k stars 1.51k forks source link

Filter modules by source code status #249

Open pylerSM opened 9 years ago

pylerSM commented 9 years ago

From XDA: http://forum.xda-developers.com/xposed/source-specific-repo-t2987376

It would be great if we can show only modules which are open source.

manvir-singh commented 9 years ago

If one of the maintainers gives the go ahead I'll add this if not I'll make a module that allows you to do this.

pylerSM commented 9 years ago

Yes. We should get some more information whether sending patches is useless or not since we dont know whether new release is planned or project is dewd now thanks to ART.

rovo89 commented 9 years ago

Feel free to send patches. I have no idea when the next release will be. It probably won't be before Lollipop support (which is more than ART!), but anyway, good, clean pull requests don't hurt. With clean, I mean that they should follow the existing coding style (even if it's not your preferred one), should be limited to the actual changes and most importantly, it should integrate the new feature as if it had been considered from the start, not feel like something added on top.

The idea itself makes sense to me. As far as I understand, people want to know what the module does (technically) to enhance their trust. There's no guarantee that the APK actually matches the source code though. Also, I think we would have to assume that the existance of a source code link means that the module is open source.

As for the implementation: The tags already know a role "support". The XML is intentionally kept rather generic, so I would prefer adding a role for "source" as well instead of checking the label. From there, lots of possibilities exist to filter on that status. Also a question: Where should that setting be placed? It's not a sorting order, but it could make sense as an additional checkbox in the same dialog. Or as a global setting.

Just food for thought: The probably most requested feature for the installer is to add categorize. One of them could be automatically assigned based on open source status. That feature would be highly complex to design (concept- and UI-wise) and has many other dimensions to consider, just wanted to mention it.

manvir-singh commented 9 years ago

Sounds fantastic. I'll see if I can add this enhancement and then one of the maintainers can approve of the location of the ui placement and what not.

rovo89 commented 9 years ago

Wouldn't it make more sense to make a plan first before implementing it?

manvir-singh commented 9 years ago

Oh, I'm not planning on adding it right now. I'm going to come back here to make a plan when I'm going to implementing it, which is after I'm done what I'm currently working on.

rovo89 commented 9 years ago

Ok, good! I have added role="source" in the XML, if it's not necessary/required I will remove it again.

manvir-singh commented 9 years ago

Okay, I'll let you know thanks.

GermainZ commented 9 years ago

Just food for thought: The probably most requested feature for the installer is to add categorize. One of them could be automatically assigned based on open source status. That feature would be highly complex to design (concept- and UI-wise) and has many other dimensions to consider, just wanted to mention it.

Tags would be a better idea than simple categories, IMO. You could then have a "filter" button to only show the tags you want (e.g. "open source", "AOSP", etc). How those are added would be another discussion though… can developers specify their own, or only use pre-existing tags, or would the repo mods manually add tags?

pylerSM commented 9 years ago

Simple text field with tags separated by comma?

App could split tags field and check if tag in tags field = filter item.

rovo89 commented 9 years ago

Yeah, I actually meant tags, not categories. ;)

Tagging support is not so much a problem of the implementation. There has to be a good concept, i.e. what kind of tags we want, how we want to be able to filter (e.g. what if you want to find an open-source module for a specific purpose or ROM? or exclude modules with certain tags?). Whether that's a text field or there's a more suitable way of assigning tags is a rather small detail.

But please let's not get too off-topic here and discuss this somewhere else.

pylerSM commented 9 years ago

Maybe here https://github.com/rovo89/XposedInstaller/issues/210?