According to the Android documentation, ContextWrapper is a "[p]roxying implementation of Context
that simply delegates all of its calls to another Context
. Can be subclassed to modify behavior without changing the original Context
."
I don't have much experience with the proxy pattern. How is it used here and for what purpose? In other words, why don't its indirect subclasses, such as Activity and Service, directly subclass it?