Allow default per-thread and per-process OnHeaderDecodedListeners Sometimes it is not always practical to set a listener at the time of decoding. However, often it is still useful to enforce default parameters. To enable this, create default listeners at the per-thread and per-process levels. If both a default process listener and a default thread listener are provided, the thread listener will be run and the process listener skipped. If a listener is passed in during decoding, it will always be run last. New CtsGraphicsTestCases were added to test this commit: testDefaultProcessListener, testDefaultThreadListener, and testDefaultsAndLocalListener. Bug: 468061774 Test: atest CtsGraphicsTestCases:android.graphics.cts.ImageDecoderTest Flag: com.android.graphics.hwui.flags.image_decoder_default_listener Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:a68d03895843f24b7720d05b394ebc8be646e911 Cherrypick-From: https://googleplex-android-review.googlesource.com/q/commit:406446fdedb2fb01f021eb8f93f29b7ccad9e6e8 Merged-In: I694d45deb8755aab5e994c12d2627fe08b5ce78c Change-Id: I694d45deb8755aab5e994c12d2627fe08b5ce78c