Mobiperf/MobiPerf — pull request #8 by drchoffnes (2012-03-13 00:34:18+00:00)
Title: support new/bad measurement schedule items

This prevents an uncaught NPE that would be thrown by a checkin. The NPE occurs when we add a new measurement type to the schedule that is not supported by an old version of the app.

I thought about using different versions of the GAE instance to support this case instead, but it doesn't work easily because the measurement schedule data (i.e., the datastore) is shared across all versions of the server. In the future, we could return measurement types according to the version number reported by the app that is checking in.

The above approach can be painful to maintain, so to avoid that complexity and to ensure that we don't bring down all measurements with bugs on the server side, I sugest we handle unexpected cases in the app logic.