fix bitmapHashMap
This commit is contained in:
parent
f72c82c3e9
commit
e72bbb3fcf
2 changed files with 35 additions and 29 deletions
|
@ -31,6 +31,7 @@ import com.google.android.gms.maps.GoogleMap;
|
|||
import com.google.android.gms.maps.MapFragment;
|
||||
import com.google.android.gms.maps.OnMapReadyCallback;
|
||||
import com.google.android.gms.maps.SupportMapFragment;
|
||||
import com.google.android.gms.maps.model.BitmapDescriptor;
|
||||
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
|
||||
import com.google.android.gms.maps.model.CameraPosition;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
|
@ -314,19 +315,7 @@ public class GmapFragment extends Fragment implements OnMapReadyCallback {
|
|||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
private View.OnClickListener cameraBtnListener = new View.OnClickListener()
|
||||
{
|
||||
|
||||
public void onClick(View v)
|
||||
{
|
||||
|
||||
Log.d(TAG, "in camera Button");
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
private class getMarkersFromNotes extends AsyncTask<List<Note>, MarkerNoteStruct, Void> {
|
||||
|
@ -349,18 +338,21 @@ public class GmapFragment extends Fragment implements OnMapReadyCallback {
|
|||
@Override
|
||||
protected Void doInBackground(List<Note>... listOfNotes) {
|
||||
Log.d(TAG, "in async BG");
|
||||
|
||||
BitmapDescriptor b;
|
||||
|
||||
for (Note n : listOfNotes[0]) {
|
||||
b = BitmapDescriptorFactory.fromBitmap(Bitmap.createScaledBitmap(Utils.getBitmapFromURL(n.getAvatar()), 80, 80, false));
|
||||
MarkerOptions mo = new MarkerOptions()
|
||||
.title(n.getTitle())
|
||||
.position(new LatLng(n.getLat(), n.getLon()))
|
||||
.snippet(n.getBody())
|
||||
.icon(BitmapDescriptorFactory.fromBitmap(Bitmap.createScaledBitmap(Utils.getBitmapFromURL(n.getAvatar()), 80, 80, false)));
|
||||
.icon(b);
|
||||
|
||||
publishProgress(new MarkerNoteStruct(n,mo));
|
||||
|
||||
}
|
||||
return null;
|
||||
// return markerOptionList;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -10,6 +10,8 @@ import android.widget.ImageView;
|
|||
|
||||
import com.android.volley.Response;
|
||||
import com.android.volley.VolleyError;
|
||||
import com.google.android.gms.maps.model.BitmapDescriptor;
|
||||
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
|
@ -21,6 +23,7 @@ import java.net.HttpURLConnection;
|
|||
import java.net.URL;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
||||
/**
|
||||
* Created by JERLocal on 7/7/2016.
|
||||
|
@ -30,22 +33,31 @@ public class Utils {
|
|||
public static final String TAG = "Utils";
|
||||
public static final String BASE_URL = "http://thesocialnotework-api.appspot.com/api";
|
||||
public static ProgressDialog progress;
|
||||
private static HashMap<String, Bitmap> bitmapHash = new HashMap<>();
|
||||
|
||||
|
||||
public static Bitmap getBitmapFromURL(String imageUrl) {
|
||||
|
||||
try {
|
||||
URL url = new URL(imageUrl);
|
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
|
||||
connection.setDoInput(true);
|
||||
connection.connect();
|
||||
InputStream input = connection.getInputStream();
|
||||
Bitmap myBitmap = BitmapFactory.decodeStream(input);
|
||||
return myBitmap;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
public static Bitmap getBitmapFromURL(String url) {
|
||||
if (Utils.bitmapHash.containsKey(url)){
|
||||
Log.d(TAG, "getBitmapFromURL: Found is hash");
|
||||
return bitmapHash.get(url);
|
||||
} else {
|
||||
Log.d(TAG, "getBitmapFromURL: New value to HashMap");
|
||||
try {
|
||||
URL new_url = new URL(url);
|
||||
HttpURLConnection connection = (HttpURLConnection) new_url.openConnection();
|
||||
connection.setDoInput(true);
|
||||
connection.connect();
|
||||
InputStream input = connection.getInputStream();
|
||||
Bitmap myBitmap = BitmapFactory.decodeStream(input);
|
||||
bitmapHash.put(url, myBitmap);
|
||||
return myBitmap;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -130,8 +142,10 @@ public class Utils {
|
|||
|
||||
@Override
|
||||
protected Bitmap doInBackground(Void... v) {
|
||||
Bitmap b = Utils.getBitmapFromURL(url);
|
||||
return b;
|
||||
// Bitmap b;
|
||||
|
||||
return Utils.getBitmapFromURL(url);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue