Open konradmoesch opened 2 months ago
It was removed for valid reasons, and it has already been expressed that this can be added back when it can be done in a maintainable way.
I understand not everyone is going to be happy, but the previous situation where the only dark theme was the AMOLED one wasn't one that made much sense. An amount of people are always going to be upset when a niche feature or change they enjoyed is removed, but you can't please everyone.
Just consider that the time it takes to maintain the theme can be spent adding new security features to Molly instead. When you put it in that context, the decision starts making a whole lot more sense.
Adding an AMOLED theme should be pretty straightforward, I have done this for my apps via a theme overlay. The implementation in https://github.com/jarnedemeulemeester/findroid is very similar and Molly could do something similar:
in values-night.xml
, the background color gets overriden to black and all suface colors are also set to reference this color:
<style name="ThemeOverlay.Molly.Amoled" parent="">
<!-- Surface -->
<item name="android:colorBackground">@android:color/black</item>
<item name="colorSurface">@android:color/black</item>
<item name="colorSurfaceContainer">?attr/colorSurface</item>
<item name="colorSurfaceContainerLow">?attr/colorSurface</item>
<item name="colorSurfaceContainerHigh">?attr/colorSurface</item>
</style>
Then, one only has to add a preference, and the ThemeOverlay has to be applied, if enabled: in MainActivity
setTheme(CoreR.style.ThemeOverlay_Findroid_Amoled)
Unfortunately, I was unable to implement this myself (there are so many different (for me quite confusingly named) [..]colors.xml
that just link to each other and there seems to be at least two different preference systems (TextSecurePreferences
and SignalStore
, with no documentation/comments whatsoever I could find), so I was unable to really grok your code).
With the above code snippets, however, it should be very straightforward to implement a ThemeOverlay and adapt it to Molly, I think. This would mean very low maintenance overhead, too. Really looking forward to seeing this implemented:)
Hey! Thanks for the sharing. I've thought about this approach before, but it got sidelined for other priorities after discussing it with the community.
I've got some code snippets for it actually. Feel free to use them as a starting point. Looking forward to seeing your pull-request!
https://gist.github.com/valldrac/6867c8fad3b923a32b3bc06ddca92ccc
I have been using a custom fork of Signal for more then a year now that I change the main dark color to black using GitHub Actions, maybe you can do it also and release a separate variant that has the AMOLED theme, instead of maintaining an extra theme at one app.
You can take a look here: https://github.com/thekyber/Signal-AMOLED/blob/56931050ed7c60a5465676c176b9cd5f54fba5d8/.github/workflows/check-build-release.yml#L110
It will be very easy since you are already using GitHub Actions to build and publish.
Any news/updates about this?
Is there an existing request for this?
Feature description
I'd like to request adding back a true black theme. I feel that there is a need for it (in #128, most of the reactions to the comments seem to be unsatisfied that this was simply removed, without properly supporting both dark themes) and personally, most of my apps do support it. Please add an option for a true dark background back! I think I am not alone when I say that this was one of the reasons for me to switch to molly, and for now I will have to stay on pre-v2.7.2-1...