[Nexus 5 Themes and Apps] Edw590:
Here a little research of mine on some things regarding that document in case it might be interesting for anyone (who didn't already know).

When each thing was introduced:

- p type

--> Thu Oct 01 03:14:30 2009 -0700 (https://android.googlesource.com/platform/frameworks/base/+/a8826d67097b12cf9d6b14a7e32c0862f17b189a). Before this, no idea how it was called (doesn't matter much either, I guess - 2009 xD).

- c type

--> Tue Jun 19 17:38:43 2012 -0700 (https://android.googlesource.com/platform/frameworks/base/+/d3782b26b2026e60a8e0d4b967a156369f2a46f8)

- f type

--> Mon Oct 19 14:33:17 2020 +0200 (https://android.googlesource.com/platform/frameworks/base/+/eafcb9978615149b116ce695374d849cff011c1e)

- Clock

--> Mon Mar 07 16:15:31 2016 -0800 (https://android.googlesource.com/platform/frameworks/base/+/a704b7d3444d218fe3b3f977fd242d2cd626058e). Note: it's an older version, on which you can only give the Y coordinate. If you want more recent, good look for yourself xD. The newest version doesn't seem to work here on Oreo 8.1. So I'll not be using it (want to support from Android 4.0.3 to the newest versions).

- Progress

--> Mon Jan 11 13:56:21 2021 +0000 (https://android.googlesource.com/platform/frameworks/base/+/bbb00e78ef87e45ffb25b9347c648a04fac00b6e). Seems to have been an introduction on Pixel 5 with Android 11 (video from XDA): [in the end]. To enable the percentage, just write a 1 on [PROGRESS]. Example: "1080 1920 30 1". That's according with their code. They'll check an integer, and if it's not zero, the progress will be displayed. If you put a character should work too (a character is more or less an integer), no idea of some word. Just put a 1 and it will work (if it's supported).

From the code,

all seems to be backward compatible

. So If you put something on the file that it's not supported on your phone, it should still work but with some old behavior (like any letter different than c type will default to p - except if f is available on your device), or completely ignore (like the progress thing and clock coordinates).

Additional notes:

- Put the 2 PNGs I linked above in the main folder. If you put them in each part folder, they'll be like frames and will be played on the animation (I did this, so I guess more people might haha) - and from their code, the files will actually be loaded from the main ZIP folder.

- A note that will be useful in my case for my app to dynamically adjust the resolution of the pictures based on the phone's screen resolution: you can have multiple spaces on all the lines. You can have for example "1080 1920 30 " and it will work (just checked and it does work on all lines, as I've put 10 spaces for each component - and it should, from the code). So in the app, I can just replace the spaces with numbers if I need to change the component values (don't need to create infinite ZIPs for various phones then). Really thank you for the link you provided up there @androcraze!!

- If you want to make an animation to play after the device boot is finished, put something like this in the last line:

The phone will always play all c type animations, but the infinite p type will be interrupted. So next animation is a c type, which always is to be played.

- Always put a blank line at the end of the file... In my phone, the last folder wasn't playing because I removed the last blank line (??? wtf).

Mentioned video: