Why might a moving map Android app consistently record altitude off by 120 feet?
While I think it would be unusual in 2016, it is possible that the unit is recording altitude as distance from the ellipsoid rather that distance from geoid (model of MSL on the earth used by the receiver).

If you use this NOAA calculator, you can find the geoid height for a single spot.  At the location you show, it's 37m or 122feet.  That's suspiciously close to the difference you're seeing.  

Output from GEOID03
                                         latitude        longitude       N 
Station Name                            ddd mm ss.sssss ddd mm ss.sssss  meters
USER LOCATION                            33 24 15.77000 119 24 57.49000  -37.259


If this error is constant over time (multiple recordings), then I think it's more plausible than random error sources.