title: Add an Image from url into custom InfoWindow google maps v2
body: <p>I'm am working in an android app. The user make a search at google maps for restaurants. In google map display markers for all of his neighbor's restaurant. If he tap at a marker it show up a custom InfoWindow. My problem is that I can't load the image that return form Google places. Im getting right the url of image but I can't show it at Window.</p>
  
  <p>InfoWindow</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:orientation="vertical"
  android:background="@color/bg_color" &gt;
  
  &lt;ImageView
          android:id="@+id/place_icon"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:focusable="false"" /&gt;
  
  &lt;TextView
      android:id="@+id/place_title"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" /&gt;
  
  &lt;TextView
      android:id="@+id/place_vicinity"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" /&gt;
  
  &lt;LinearLayout 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:orientation="horizontal"
      android:background="@color/bg_color" &gt;
  
      &lt;RatingBar
           android:id="@+id/place_rating"
           style="?android:attr/ratingBarStyleSmall"
           android:numStars="5"
           android:rating="0"
           android:isIndicator="false"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_marginLeft="5dip" /&gt;
  
      &lt;ImageView
          android:id="@+id/navigate_icon"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:focusable="false"
          android:src="@drawable/navigate" /&gt;
  
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p></p>
  
  <p>On create i have this</p>
  
  <pre><code>mGoogleMap.setInfoWindowAdapter(new InfoWindowAdapter() {
  
              // Use default InfoWindow frame
              @Override
              public View getInfoWindow(Marker arg0) {
                  return null;
              }
  
              // Defines the contents of the InfoWindow
              @Override
              public View getInfoContents(Marker arg0) {
  
                  // Getting view from the layout file info_window_layout
                  View v = getLayoutInflater().inflate(R.layout.info_window_layout, null);
  
                  // Getting the snippet from the marker
                  String snippet = arg0.getSnippet();
  
                  // Getting the snippet from the marker
                  String titlestr = arg0.getTitle();
  
                  String cutchar1= "%#";
                  String cutchar2= "%##";
                  String ratingstr = snippet.substring(0,snippet.indexOf( cutchar1 ));
                  String vicinitystr = snippet.substring(snippet.indexOf( cutchar1 )+2, snippet.indexOf( cutchar2 ) );
                  String iconurl= snippet.substring(snippet.indexOf( cutchar2 )+3);
  
                  // Getting reference to the TextView to set latitude
                  TextView title = (TextView) v.findViewById(R.id.place_title);
  
                  TextView vicinity = (TextView) v.findViewById(R.id.place_vicinity);
  
                  ImageView image = (ImageView) v.findViewById(R.id.navigate_icon);
  
                  // Setting the latitude
                  title.setText(titlestr);
  
                  // declare RatingBar object
                  RatingBar rating=(RatingBar) v.findViewById(R.id.place_rating);// create RatingBar object
                  if( !(ratingstr.equals("null")) ){
                      rating.setRating(Float.parseFloat(ratingstr));
                  }
                  vicinity.setText(vicinitystr);                  
  
                  final DownloadImageTask download = new DownloadImageTask((ImageView) v.findViewById(R.id.place_icon) ,arg0);
                  download.execute(iconurl);
                  // Returning the view containing InfoWindow contents
                  return v;
  
              }
  </code></pre>
  
  <p>});</p>
  
  <p>and the DownloadImage code is:</p>
  
  <pre><code>private class DownloadImageTask extends AsyncTask&lt;String, Void, Bitmap&gt; {
        ImageView bmImage;
        Marker marker;
        boolean refresh;
  
        public DownloadImageTask(final ImageView bmImage, final Marker marker) {
            this.bmImage = bmImage;
            this.marker=marker;
            this.refresh=false;
        }
  
       public void SetRefresh(boolean refresh ){
           this.refresh=true;
  
       }
  
      /*  @Override
        protected void onPreExecute() 
        {
            super.onPreExecute();
            bmImage.setImageBitmap(null);
        }*/
  
        @Override
        protected Bitmap doInBackground(String... urls) {
            String urldisplay = urls[0];
            Bitmap mIcon11 = null;
            try {
              InputStream in = new java.net.URL(urldisplay).openStream();
              mIcon11 = BitmapFactory.decodeStream(in);
            } catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return mIcon11;
        }
        @Override
        protected void onPostExecute(Bitmap result) {
            if(!refresh){
                SetRefresh(refresh);
                bmImage.setImageBitmap(result);
                marker.showInfoWindow();
            }
        }
      }
  </code></pre>
  
  <p>Finally when I execute the code and tap the marker the getInfoContents doesn't stop execute and the icon does not appear. </p>
  
  <p>Why this happen?</p>