Theming: sharedPref's use color value and color resource id inconsistent
Currently the sharedPreferences returns a resource id when no color was set, but a color when one was set. This behaviour is inconsistent and creates issues when creating a backup and restoring the value from it, since the returned value is not a colour but a resource id.
Optimally we should only store a reference to a color, not a color and especially not a resource id since those are not reliable at all. The second best thing would be to resolve the resource id to a color and then we can treat the preference as a color everywhere
https://github.com/x0b/rcx/blob/c69fac58b584e0aac05f3c7b81c22a64e90e0cbb/app/src/main/java/ca/pkay/rcloneexplorer/Settings/LookAndFeelSettingsFragment.java#L113-L125
That's not good. You're talking about Auto Backup, right?
Optimally we should only store a reference to a color, not a color and especially not a resource id since those are not reliable at all.
The CustomColorHelper isn't exactly the pinnacle of programming either. What do you think of modelling this as two enum classes, PrimaryColor and AccentColor, that each contain all the possible colour values. Enum properties would be colorResId, styleId and a unique name (e.g. lime)? We'd only be storing the colour name of course.