Spent a few hours today working on making Ascension RTL layout compatible. I unfortunately don't have any translations for RTL languages (or translations, period), but the layouts at least work. The hardest part was just getting the ViewPager working in reverse, and the entire problem there wasn't even to do with anything difficult.
The way I get the layout direction for a view is to use the ViewCompat class. This works most of the time and makes it pretty easy to do all this, but during onCreate, the layout direction for the views isn't actually set based on the resource configuration. So, for the longest time I was banging my head against my desk wondering why the code wasn't working based on the assumption that the layout direction was set. So, in the end, I swapped out grabbing the view's layout direction for just grabbing it out of the resource config.
All of it is guarded to make sure the APIs aren't touched for < API 17, so it all works out.
Oh yeah, the gradient editor's done. Just have to wire up the Save Gradient stuff and hand some other things off to AsyncTask (namely file IO, because why bother doing IO on the UI thread when it's non-critical?) and it's pretty much ready to go.
Also slightly visible: a new texture map. #Android #androiddev #livewallpaper