public void onZoomLevelChange(final int newZoomLevel) {
   // to allow changing zoom level programmatically, i.e. not just
   // by user interaction
   if (AndroidUtil.currentThreadIsUiThread()) {
     changeZoomControls(newZoomLevel);
   } else {
     this.mapView.post(
         new Runnable() {
           @Override
           public void run() {
             changeZoomControls(newZoomLevel);
           }
         });
   }
 }