For all the complaining we do that was a GREAT CHAPTER. Cudos guys that one was a lot of fun.
One clarification - the code in the RunFragment for onLocationReceived and onProviderEnableChanged runs before the code for these methods in LocationReceiver.java when the Activity is active in the foreground - when RunActivity is not active in the foreground they are not called at all since the fragments LocationReceiver is unregistered in the onStop method.
Although these are Override methods this behavior is NOT the result of invoking the superclass after the derived class is called, but rather is because there are actually 2 independent receivers registered and each receives its broadcast intent, correct? The one in Location Receiver is registered through the manifest and thus persists even when the Fragment is not active/foreground. The fragment’s receiver is separate and independent from the one in LocationReceiver and is dynamically registered/unregistered via code. Do I have it right?
Thanks for the fun chapter.