Coder Social home page Coder Social logo

Comments (6)

josephcsible avatar josephcsible commented on August 15, 2024 1

You definitely make good points. A few thoughts:

So if some hook in one package fails, it won't affect the other packs

My concern is that if there's an incompatibility, some of our hooks might break things rather than just cleanly failing completely.

We need to keep in mind 2 things

How about this? Have all of the master switches default to "on", and only ever show them if you enable an "I am an advanced user" toggle. Then in cases where users don't like or understand them, they can just pretend they don't exist, and things will work exactly like they do today.

from aospmods.

siavash79 avatar siavash79 commented on August 15, 2024

The master switch is a good idea in terms of "compatibility". Meaning if one rom is not compatible with certain hooks, turning them off will let user at least use the other ones

What we have done in AOSPMods that is a bit different from Gravitybox is that we've separated the mods into different packages. So if some hook in one package fails, it won't affect the other packs

We need to keep in mind 2 things:

  1. Users are not technical people and we can't expect them to understand the concept of hooking and such master switches
  2. Users prefer to see their changes apply immediately. By using master switches we lose this option. But without it, at least we always have the "base" to apply things quickly in "most cases"

Finally: this conversation is not over: we really welcome continuing this discussion

from aospmods.

siavash79 avatar siavash79 commented on August 15, 2024

Makes sense!

about the hooks that break things, we CAN implement in a way that they don't:

  • If we gather the classes, methods, and even fields in advance (so if they are not there, they can break the mod package silently)

This way, we can handle incompatibilities to break cleanly. If you take a look into the Framework mods (like power torch), I did this practice, since I was really scared of bootloops (If they crash zygote, it's a certain bootloop). But I really didn't care about this that much on sysui mods (in favor of implementation speed at this stage)

Anyway: Your point about the advanced user section makes sense to me. Once we get to a more stable situation (in terms of users waiting for some important mods), we hopefully will start doing this

from aospmods.

siavash79 avatar siavash79 commented on August 15, 2024

I assigned BOTH of us to this case. Maybe you can have a hand in this feature as well

from aospmods.

siavash79 avatar siavash79 commented on August 15, 2024

This is probably what you're looking for:

https://github.com/siavash79/AOSPMods/blob/master/app/src/main/java/sh/siava/AOSPMods/systemui/QQSBrightness.java

from aospmods.

josephcsible avatar josephcsible commented on August 15, 2024

Yes, that's exactly what I had in mind.

from aospmods.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.