/** Update GUI from currently selected POI Load POI actions */
  private void updateGUI() {
    try {
      TextView poiName = (TextView) findViewById(R.id.textPOIName);
      TextView poiDescription = (TextView) findViewById(R.id.textPOIDescription);
      View layoutLocation = findViewById(R.id.layoutPOILocation);

      poiThumbnail = (RemoteImageView) findViewById(R.id.imagePOIThumbnail);

      if (mPOI.getThumbnailURL().length() > 0) {
        poiThumbnail.setRemoteSource(new String(mPOI.getThumbnailURL()));
      } else {
        poiThumbnail.setVisibility(View.INVISIBLE);
      }

      final String name = mPOI.getName();
      if (name != null && name.length() >= 0) poiName.setText(name);

      poiDescription.setText(mPOI.getDescription());

      // add clickable links to strings like emails and websites
      Linkify.addLinks(poiDescription, Linkify.EMAIL_ADDRESSES | Linkify.WEB_URLS);

      // show location information only if the POI has LLA coordinates
      if (mPOI.hasLLA()) {
        TextView poiLocation = (TextView) findViewById(R.id.textPOILocation);
        LLACoordinate mylocation =
            JunaioPlugin.getSensorsManager(getApplicationContext()).getLocation();

        // get the distance and store in results[0], get the bearing and
        // store it in results[1]
        float[] results = new float[2];
        Location.distanceBetween(
            mylocation.getLatitude(),
            mylocation.getLongitude(),
            mPOI.getLocation().getLatitude(),
            mPOI.getLocation().getLongitude(),
            results);

        // get the proper units. To change units see
        // JunaioPlugin.Settings.useImperialUnits
        poiLocation.setText(
            JunaioUtils.getRelativeLocationString(
                mPOI.getCurrentDistance(), 0, false, JunaioPlugin.Settings.useImperialUnits));

        JunaioPlugin.log("Bearing: " + results[1]);

        pointer.updateOrientation(-results[1]);
        layoutLocation.setVisibility(View.VISIBLE);
      } else {
        layoutLocation.setVisibility(View.GONE);
      }

      loadPOIActions();

    } catch (Exception e) {
      JunaioPlugin.log("POIDetailDialog.updateGUI: " + e.getMessage());
    }
  }
  @Override
  protected void onDestroy() {
    super.onDestroy();

    if (poiThumbnail != null) poiThumbnail.cancelDownload();

    JunaioUtils.unbindDrawables(findViewById(android.R.id.content));
  }