Fix other colors loading

Make sure colors are only returned after preset colors are loaded by
fixing usage of coroutine. Previously, the coroutine launch was wrapped
by a try catch block, but because the coroutine removes preset color
loading out of the try catch scope, the try catch finishes immediately,
and returns a list of colors without the presets. With fix, there is
slightly longer loading time for colors, but preset colors are returned
correctly.

Also simplify combine function syntax.

Flag: EXEMPT Bug fix
Bug: 384393408
Bug: 397250302
Bug: 392014907
Test: Manually verified with new picker flag on and off, see bugs
Change-Id: I3203cecc2708533e4233656094ddf3f98d1ddc0c
3 files changed