This should be called after resources (creatures and items) are known, as they may be referenced by level.xml files. So call Resources.LoadFromFilesbefore calling this (if you want to use any creatures / items at all, of course).
Note that on Android, searching the Android asset filesystem recursively is not possible (this is a fault of Android NDK API...). So instead of this method, you should use AddFromFile repeatedly to explicitly list all level.xml locations.
For all available levels, read their TLevelInfo.Played from user preferences.
This is useful only if you actually look at TLevelInfo.Played for any purpose (for example, to decide which levels are displayed in the menu). By default, our engine doesn't look at TLevelInfo.Played for anything.